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

layout(binding = 0, std430) readonly buffer SSBO
{
    vec4 in_data[];
} _23;

layout(binding = 1, std430) writeonly buffer SSBO2
{
    vec4 out_data[];
} _33;

void main()
{
    uint ident = gl_GlobalInvocationID.x;
    vec4 v = mod(_23.in_data[ident], _33.out_data[ident]);
    _33.out_data[ident] = v;
    uvec4 vu = floatBitsToUint(_23.in_data[ident]) % floatBitsToUint(_33.out_data[ident]);
    _33.out_data[ident] = uintBitsToFloat(vu);
    ivec4 vi = floatBitsToInt(_23.in_data[ident]) % floatBitsToInt(_33.out_data[ident]);
    _33.out_data[ident] = intBitsToFloat(vi);
}

