bool b = true;
short s = short(sqrt(1));
int i = int(sqrt(1));
ushort us = ushort(sqrt(1));
uint ui = uint(sqrt(1));
half h = half(sqrt(1));
float f = sqrt(1);
short s2s = s;
short i2s = short(i);
short us2s = short(us);
short ui2s = short(ui);
short h2s = short(h);
short f2s = short(f);
short b2s = short(b);
int s2i = s;
int i2i = i;
int us2i = int(us);
int ui2i = int(ui);
int h2i = int(h);
int f2i = int(f);
int b2i = int(b);
ushort s2us = ushort(s);
ushort i2us = ushort(i);
ushort us2us = us;
ushort ui2us = ushort(ui);
ushort h2us = ushort(h);
ushort f2us = ushort(f);
ushort b2us = ushort(b);
uint s2ui = uint(s);
uint i2ui = uint(i);
uint us2ui = us;
uint ui2ui = ui;
uint h2ui = uint(h);
uint f2ui = uint(f);
uint b2ui = uint(b);
float s2f = float(s);
float i2f = float(i);
float us2f = float(us);
float ui2f = float(ui);
float h2f = float(h);
float f2f = float(f);
float b2f = float(b);

void main() {
    sk_FragColor.r = half(s) + half(i) + half(us) + half(ui) + half(h) + half(f) + half(s2s) +
                     half(i2s) + half(us2s) + half(ui2s) + half(h2s) + half(f2s) + half(b2s) +
                     half(s2i) + half(i2i) + half(us2i) + half(ui2i) + half(h2i) + half(f2i) +
                     half(b2i) + half(s2us) + half(i2us) + half(us2us);
    sk_FragColor.r += half(ui2us) + half(h2us) + half(f2us) + half(b2us) + half(s2ui) + half(i2ui) +
                      half(us2ui) + half(ui2ui) + half(h2ui) + half(f2ui) + half(b2ui) + half(s2f) +
                      half(i2f) + half(us2f) + half(ui2f) + half(h2f) + half(f2f) + half(b2f);
}
