uniform half4 input, expected;
uniform half4 colorGreen, colorRed;

half4 main(float2 coords) {
    const half4 constVal1 = half4(1, 1, 1.54308063481524377, 3.7621956910836314);
    return (acosh(input.x)        == expected.x     &&
            acosh(input.xy)       == expected.xy    &&
            acosh(input.xyz)      == expected.xyz   &&
            acosh(input.xyzw)     == expected.xyzw  &&
            acosh(constVal1.x)    == expected.x     &&
            acosh(constVal1.xy)   == expected.xy    &&
            acosh(constVal1.xyz)  == expected.xyz   &&
            acosh(constVal1.xyzw) == expected.xyzw) ? colorGreen : colorRed;
}
