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

layout(binding = 0, std430) buffer MyFirstBuffer
{
    uint _data[];
} MyFirstBuffer_1;

layout(binding = 0, std430) buffer MySecondBuffer
{
    uint _data[];
} MySecondBuffer_1;

layout(binding = 0, std430) buffer MyThirdBuffer
{
    uint _data[];
} MyThirdBuffer_1;

void _main()
{
    int byteAddrTemp = 0 >> 2;
    uvec4 a = uvec4(MyFirstBuffer_1._data[byteAddrTemp], MyFirstBuffer_1._data[byteAddrTemp + 1], MyFirstBuffer_1._data[byteAddrTemp + 2], MyFirstBuffer_1._data[byteAddrTemp + 3]);
    int byteAddrTemp_1 = 4 >> 2;
    uvec4 b = uvec4(MySecondBuffer_1._data[byteAddrTemp_1], MySecondBuffer_1._data[byteAddrTemp_1 + 1], MySecondBuffer_1._data[byteAddrTemp_1 + 2], MySecondBuffer_1._data[byteAddrTemp_1 + 3]);
    int byteAddrTemp_2 = 0 >> 2;
    MyThirdBuffer_1._data[byteAddrTemp_2] = (a + b).x;
    MyThirdBuffer_1._data[byteAddrTemp_2 + 1] = (a + b).y;
    MyThirdBuffer_1._data[byteAddrTemp_2 + 2] = (a + b).z;
    MyThirdBuffer_1._data[byteAddrTemp_2 + 3] = (a + b).w;
}

void main()
{
    _main();
}

