#version 310 es
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;

struct S0
{
    vec4 a;
};

struct S1
{
    vec4 a;
};

layout(binding = 0, std430) buffer SSBO0
{
    S0 s0s[];
} _36;

layout(binding = 1, std430) buffer SSBO1
{
    S1 s1s[];
} _55;

layout(binding = 2, std430) buffer SSBO2
{
    vec4 outputs[];
} _66;

vec4 overload(S0 s0)
{
    return s0.a;
}

vec4 overload(S1 s1)
{
    return s1.a;
}

void main()
{
    S0 s0;
    s0.a = _36.s0s[gl_GlobalInvocationID.x].a;
    S1 s1;
    s1.a = _55.s1s[gl_GlobalInvocationID.x].a;
    S0 param = s0;
    S1 param_1 = s1;
    _66.outputs[gl_GlobalInvocationID.x] = overload(param) + overload(param_1);
}

