1#include <metal_stdlib>
2#include <simd/simd.h>
3using namespace metal;
4struct Uniforms {
5    float a;
6    float b;
7    float4 c;
8    float4 d;
9};
10struct Inputs {
11};
12struct Outputs {
13    float4 sk_FragColor [[color(0)]];
14};
15
16fragment Outputs fragmentMain(Inputs _in [[stage_in]], constant Uniforms& _uniforms [[buffer(0)]], bool _frontFacing [[front_facing]], float4 _fragCoord [[position]]) {
17    Outputs _out;
18    (void)_out;
19    float _skTemp0;
20    float _skTemp1;
21    _out.sk_FragColor.x = (_skTemp0 = _uniforms.a, _skTemp1 = _uniforms.b, _skTemp0 - 2 * _skTemp1 * _skTemp0 * _skTemp1);
22    _out.sk_FragColor = reflect(_uniforms.c, _uniforms.d);
23    return _out;
24}
25