Files
BlockSpace-v1.5.0b/Assets/Shader/Hidden_Universal Render Pipeline_LutBuilderHdr.shader
2026-06-01 17:19:55 +02:00

2829 lines
237 KiB
GLSL

Shader "Hidden/Universal Render Pipeline/LutBuilderHdr"
{
Properties
{
}
SubShader
{
LOD 100
Tags { "RenderPipeline" = "UniversalPipeline" "RenderType" = "Opaque" }
Pass
{
Name "LutBuilderHdr"
LOD 100
Tags { "RenderPipeline" = "UniversalPipeline" "RenderType" = "Opaque" }
ZTest Always
ZWrite Off
Cull Off
GpuProgramID 34037
HLSLPROGRAM
// https://docs.unity3d.com/Manual/SL-PragmaDirectives.html
#pragma vertex vert
#pragma fragment frag
#pragma target 4.0
#pragma multi_compile _ STEREO_INSTANCING_ON
#pragma shader_feature _TONEMAP_ACES
#pragma shader_feature _TONEMAP_NEUTRAL
#ifndef STEREO_INSTANCING_ON
#ifndef _TONEMAP_ACES
#ifndef _TONEMAP_NEUTRAL
#define ANY_SHADER_VARIANT_ACTIVE
float4 _BlitScaleBias;
static float4 vertex_uniform_buffer_0[131];
static float4 gl_Position;
static int gl_VertexIndex;
static int gl_BaseVertexARB;
static float2 vertex_output_1;
struct Vertex_Stage_Input
{
uint gl_VertexIndex : SV_VertexID;
uint gl_BaseVertexARB : SV_StartVertexLocation;
};
struct Vertex_Stage_Output
{
float2 vertex_output_1 : TEXCOORD; // TEXCOORD
float4 gl_Position : SV_Position;
};
void vert_main()
{
float vertex_unnamed_32 = float(((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) << 1u) & 2u);
float vertex_unnamed_33 = float((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 2u);
gl_Position.x = mad(vertex_unnamed_32, 2.0f, -1.0f);
gl_Position.y = mad(vertex_unnamed_33, 2.0f, -1.0f);
precise float vertex_unnamed_43 = (-0.0f) - vertex_unnamed_33;
precise float vertex_unnamed_45 = vertex_unnamed_43 + 1.0f;
vertex_output_1.x = mad(vertex_unnamed_32, vertex_uniform_buffer_0[130u].x, vertex_uniform_buffer_0[130u].z);
vertex_output_1.y = mad(vertex_unnamed_45, vertex_uniform_buffer_0[130u].y, vertex_uniform_buffer_0[130u].w);
gl_Position.z = 1.0f;
gl_Position.w = 1.0f;
}
Vertex_Stage_Output vert(Vertex_Stage_Input stage_input)
{
vertex_uniform_buffer_0[130] = float4(_BlitScaleBias[0], _BlitScaleBias[1], _BlitScaleBias[2], _BlitScaleBias[3]);
gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB);
gl_BaseVertexARB = stage_input.gl_BaseVertexARB;
vert_main();
Vertex_Stage_Output stage_output;
stage_output.gl_Position = gl_Position;
stage_output.vertex_output_1 = vertex_output_1;
return stage_output;
}
#endif // !STEREO_INSTANCING_ON
#endif // !_TONEMAP_ACES
#endif // !_TONEMAP_NEUTRAL
#ifdef STEREO_INSTANCING_ON
#ifndef _TONEMAP_ACES
#ifndef _TONEMAP_NEUTRAL
#define ANY_SHADER_VARIANT_ACTIVE
float4 _BlitScaleBias;
static float4 vertex_uniform_buffer_0[100];
static float4 gl_Position;
static uint gl_Layer;
static int gl_VertexIndex;
static int gl_InstanceIndex;
static int gl_BaseVertexARB;
static int gl_BaseInstanceARB;
static float2 vertex_output_1;
struct Vertex_Stage_Input
{
uint gl_VertexIndex : SV_VertexID;
uint gl_InstanceIndex : SV_InstanceID;
uint gl_BaseVertexARB : SV_StartVertexLocation;
uint gl_BaseInstanceARB : SV_StartInstanceLocation;
};
struct Vertex_Stage_Output
{
float2 vertex_output_1 : TEXCOORD; // TEXCOORD
float4 gl_Position : SV_Position;
uint gl_Layer : SV_RenderTargetArrayIndex;
};
void vert_main()
{
float vertex_unnamed_35 = float(((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) << 1u) & 2u);
float vertex_unnamed_36 = float((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 2u);
gl_Position.x = mad(vertex_unnamed_35, 2.0f, -1.0f);
gl_Position.y = mad(vertex_unnamed_36, 2.0f, -1.0f);
precise float vertex_unnamed_46 = (-0.0f) - vertex_unnamed_36;
precise float vertex_unnamed_48 = vertex_unnamed_46 + 1.0f;
vertex_output_1.x = mad(vertex_unnamed_35, vertex_uniform_buffer_0[99u].x, vertex_uniform_buffer_0[99u].z);
vertex_output_1.y = mad(vertex_unnamed_48, vertex_uniform_buffer_0[99u].y, vertex_uniform_buffer_0[99u].w);
gl_Position.z = 1.0f;
gl_Position.w = 1.0f;
gl_Layer = int((uint(gl_InstanceIndex) - uint(gl_BaseInstanceARB)) & 1u);
}
Vertex_Stage_Output vert(Vertex_Stage_Input stage_input)
{
vertex_uniform_buffer_0[99] = float4(_BlitScaleBias[0], _BlitScaleBias[1], _BlitScaleBias[2], _BlitScaleBias[3]);
gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB);
gl_InstanceIndex = int(stage_input.gl_InstanceIndex + stage_input.gl_BaseInstanceARB);
gl_BaseVertexARB = stage_input.gl_BaseVertexARB;
gl_BaseInstanceARB = stage_input.gl_BaseInstanceARB;
vert_main();
Vertex_Stage_Output stage_output;
stage_output.gl_Position = gl_Position;
stage_output.gl_Layer = gl_Layer;
stage_output.vertex_output_1 = vertex_output_1;
return stage_output;
}
#endif // STEREO_INSTANCING_ON
#endif // !_TONEMAP_ACES
#endif // !_TONEMAP_NEUTRAL
#ifdef _TONEMAP_ACES
#ifndef STEREO_INSTANCING_ON
#ifndef _TONEMAP_NEUTRAL
#define ANY_SHADER_VARIANT_ACTIVE
float4 _BlitScaleBias;
static float4 vertex_uniform_buffer_0[131];
static float4 gl_Position;
static int gl_VertexIndex;
static int gl_BaseVertexARB;
static float2 vertex_output_1;
struct Vertex_Stage_Input
{
uint gl_VertexIndex : SV_VertexID;
uint gl_BaseVertexARB : SV_StartVertexLocation;
};
struct Vertex_Stage_Output
{
float2 vertex_output_1 : TEXCOORD; // TEXCOORD
float4 gl_Position : SV_Position;
};
void vert_main()
{
float vertex_unnamed_32 = float(((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) << 1u) & 2u);
float vertex_unnamed_33 = float((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 2u);
gl_Position.x = mad(vertex_unnamed_32, 2.0f, -1.0f);
gl_Position.y = mad(vertex_unnamed_33, 2.0f, -1.0f);
precise float vertex_unnamed_43 = (-0.0f) - vertex_unnamed_33;
precise float vertex_unnamed_45 = vertex_unnamed_43 + 1.0f;
vertex_output_1.x = mad(vertex_unnamed_32, vertex_uniform_buffer_0[130u].x, vertex_uniform_buffer_0[130u].z);
vertex_output_1.y = mad(vertex_unnamed_45, vertex_uniform_buffer_0[130u].y, vertex_uniform_buffer_0[130u].w);
gl_Position.z = 1.0f;
gl_Position.w = 1.0f;
}
Vertex_Stage_Output vert(Vertex_Stage_Input stage_input)
{
vertex_uniform_buffer_0[130] = float4(_BlitScaleBias[0], _BlitScaleBias[1], _BlitScaleBias[2], _BlitScaleBias[3]);
gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB);
gl_BaseVertexARB = stage_input.gl_BaseVertexARB;
vert_main();
Vertex_Stage_Output stage_output;
stage_output.gl_Position = gl_Position;
stage_output.vertex_output_1 = vertex_output_1;
return stage_output;
}
#endif // _TONEMAP_ACES
#endif // !STEREO_INSTANCING_ON
#endif // !_TONEMAP_NEUTRAL
#ifdef STEREO_INSTANCING_ON
#ifdef _TONEMAP_ACES
#ifndef _TONEMAP_NEUTRAL
#define ANY_SHADER_VARIANT_ACTIVE
float4 _BlitScaleBias;
static float4 vertex_uniform_buffer_0[100];
static float4 gl_Position;
static uint gl_Layer;
static int gl_VertexIndex;
static int gl_InstanceIndex;
static int gl_BaseVertexARB;
static int gl_BaseInstanceARB;
static float2 vertex_output_1;
struct Vertex_Stage_Input
{
uint gl_VertexIndex : SV_VertexID;
uint gl_InstanceIndex : SV_InstanceID;
uint gl_BaseVertexARB : SV_StartVertexLocation;
uint gl_BaseInstanceARB : SV_StartInstanceLocation;
};
struct Vertex_Stage_Output
{
float2 vertex_output_1 : TEXCOORD; // TEXCOORD
float4 gl_Position : SV_Position;
uint gl_Layer : SV_RenderTargetArrayIndex;
};
void vert_main()
{
float vertex_unnamed_35 = float(((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) << 1u) & 2u);
float vertex_unnamed_36 = float((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 2u);
gl_Position.x = mad(vertex_unnamed_35, 2.0f, -1.0f);
gl_Position.y = mad(vertex_unnamed_36, 2.0f, -1.0f);
precise float vertex_unnamed_46 = (-0.0f) - vertex_unnamed_36;
precise float vertex_unnamed_48 = vertex_unnamed_46 + 1.0f;
vertex_output_1.x = mad(vertex_unnamed_35, vertex_uniform_buffer_0[99u].x, vertex_uniform_buffer_0[99u].z);
vertex_output_1.y = mad(vertex_unnamed_48, vertex_uniform_buffer_0[99u].y, vertex_uniform_buffer_0[99u].w);
gl_Position.z = 1.0f;
gl_Position.w = 1.0f;
gl_Layer = int((uint(gl_InstanceIndex) - uint(gl_BaseInstanceARB)) & 1u);
}
Vertex_Stage_Output vert(Vertex_Stage_Input stage_input)
{
vertex_uniform_buffer_0[99] = float4(_BlitScaleBias[0], _BlitScaleBias[1], _BlitScaleBias[2], _BlitScaleBias[3]);
gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB);
gl_InstanceIndex = int(stage_input.gl_InstanceIndex + stage_input.gl_BaseInstanceARB);
gl_BaseVertexARB = stage_input.gl_BaseVertexARB;
gl_BaseInstanceARB = stage_input.gl_BaseInstanceARB;
vert_main();
Vertex_Stage_Output stage_output;
stage_output.gl_Position = gl_Position;
stage_output.gl_Layer = gl_Layer;
stage_output.vertex_output_1 = vertex_output_1;
return stage_output;
}
#endif // STEREO_INSTANCING_ON
#endif // _TONEMAP_ACES
#endif // !_TONEMAP_NEUTRAL
#ifdef _TONEMAP_NEUTRAL
#ifndef STEREO_INSTANCING_ON
#ifndef _TONEMAP_ACES
#define ANY_SHADER_VARIANT_ACTIVE
float4 _BlitScaleBias;
static float4 vertex_uniform_buffer_0[131];
static float4 gl_Position;
static int gl_VertexIndex;
static int gl_BaseVertexARB;
static float2 vertex_output_1;
struct Vertex_Stage_Input
{
uint gl_VertexIndex : SV_VertexID;
uint gl_BaseVertexARB : SV_StartVertexLocation;
};
struct Vertex_Stage_Output
{
float2 vertex_output_1 : TEXCOORD; // TEXCOORD
float4 gl_Position : SV_Position;
};
void vert_main()
{
float vertex_unnamed_32 = float(((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) << 1u) & 2u);
float vertex_unnamed_33 = float((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 2u);
gl_Position.x = mad(vertex_unnamed_32, 2.0f, -1.0f);
gl_Position.y = mad(vertex_unnamed_33, 2.0f, -1.0f);
precise float vertex_unnamed_43 = (-0.0f) - vertex_unnamed_33;
precise float vertex_unnamed_45 = vertex_unnamed_43 + 1.0f;
vertex_output_1.x = mad(vertex_unnamed_32, vertex_uniform_buffer_0[130u].x, vertex_uniform_buffer_0[130u].z);
vertex_output_1.y = mad(vertex_unnamed_45, vertex_uniform_buffer_0[130u].y, vertex_uniform_buffer_0[130u].w);
gl_Position.z = 1.0f;
gl_Position.w = 1.0f;
}
Vertex_Stage_Output vert(Vertex_Stage_Input stage_input)
{
vertex_uniform_buffer_0[130] = float4(_BlitScaleBias[0], _BlitScaleBias[1], _BlitScaleBias[2], _BlitScaleBias[3]);
gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB);
gl_BaseVertexARB = stage_input.gl_BaseVertexARB;
vert_main();
Vertex_Stage_Output stage_output;
stage_output.gl_Position = gl_Position;
stage_output.vertex_output_1 = vertex_output_1;
return stage_output;
}
#endif // _TONEMAP_NEUTRAL
#endif // !STEREO_INSTANCING_ON
#endif // !_TONEMAP_ACES
#ifdef STEREO_INSTANCING_ON
#ifdef _TONEMAP_NEUTRAL
#ifndef _TONEMAP_ACES
#define ANY_SHADER_VARIANT_ACTIVE
float4 _BlitScaleBias;
static float4 vertex_uniform_buffer_0[100];
static float4 gl_Position;
static uint gl_Layer;
static int gl_VertexIndex;
static int gl_InstanceIndex;
static int gl_BaseVertexARB;
static int gl_BaseInstanceARB;
static float2 vertex_output_1;
struct Vertex_Stage_Input
{
uint gl_VertexIndex : SV_VertexID;
uint gl_InstanceIndex : SV_InstanceID;
uint gl_BaseVertexARB : SV_StartVertexLocation;
uint gl_BaseInstanceARB : SV_StartInstanceLocation;
};
struct Vertex_Stage_Output
{
float2 vertex_output_1 : TEXCOORD; // TEXCOORD
float4 gl_Position : SV_Position;
uint gl_Layer : SV_RenderTargetArrayIndex;
};
void vert_main()
{
float vertex_unnamed_35 = float(((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) << 1u) & 2u);
float vertex_unnamed_36 = float((uint(gl_VertexIndex) - uint(gl_BaseVertexARB)) & 2u);
gl_Position.x = mad(vertex_unnamed_35, 2.0f, -1.0f);
gl_Position.y = mad(vertex_unnamed_36, 2.0f, -1.0f);
precise float vertex_unnamed_46 = (-0.0f) - vertex_unnamed_36;
precise float vertex_unnamed_48 = vertex_unnamed_46 + 1.0f;
vertex_output_1.x = mad(vertex_unnamed_35, vertex_uniform_buffer_0[99u].x, vertex_uniform_buffer_0[99u].z);
vertex_output_1.y = mad(vertex_unnamed_48, vertex_uniform_buffer_0[99u].y, vertex_uniform_buffer_0[99u].w);
gl_Position.z = 1.0f;
gl_Position.w = 1.0f;
gl_Layer = int((uint(gl_InstanceIndex) - uint(gl_BaseInstanceARB)) & 1u);
}
Vertex_Stage_Output vert(Vertex_Stage_Input stage_input)
{
vertex_uniform_buffer_0[99] = float4(_BlitScaleBias[0], _BlitScaleBias[1], _BlitScaleBias[2], _BlitScaleBias[3]);
gl_VertexIndex = int(stage_input.gl_VertexIndex + stage_input.gl_BaseVertexARB);
gl_InstanceIndex = int(stage_input.gl_InstanceIndex + stage_input.gl_BaseInstanceARB);
gl_BaseVertexARB = stage_input.gl_BaseVertexARB;
gl_BaseInstanceARB = stage_input.gl_BaseInstanceARB;
vert_main();
Vertex_Stage_Output stage_output;
stage_output.gl_Position = gl_Position;
stage_output.gl_Layer = gl_Layer;
stage_output.vertex_output_1 = vertex_output_1;
return stage_output;
}
#endif // STEREO_INSTANCING_ON
#endif // _TONEMAP_NEUTRAL
#endif // !_TONEMAP_ACES
#ifndef STEREO_INSTANCING_ON
#ifndef _TONEMAP_ACES
#ifndef _TONEMAP_NEUTRAL
#define ANY_SHADER_VARIANT_ACTIVE
float4 _Lut_Params;
float4 _ColorBalance;
float4 _ColorFilter;
float4 _ChannelMixerRed;
float4 _ChannelMixerGreen;
float4 _ChannelMixerBlue;
float4 _HueSatCon;
float4 _Lift;
float4 _Gamma;
float4 _Gain;
float4 _Shadows;
float4 _Midtones;
float4 _Highlights;
float4 _ShaHiLimits;
float4 _SplitShadows;
float4 _SplitHighlights;
static float4 fragment_uniform_buffer_0[152];
Texture2D<float4> _CurveMaster;
Texture2D<float4> _CurveRed;
Texture2D<float4> _CurveGreen;
Texture2D<float4> _CurveBlue;
Texture2D<float4> _CurveHueVsHue;
Texture2D<float4> _CurveHueVsSat;
Texture2D<float4> _CurveSatVsSat;
Texture2D<float4> _CurveLumVsSat;
SamplerState S0;
static float2 fragment_input_1;
static float4 fragment_output_0;
struct Fragment_Stage_Input
{
float2 fragment_input_1 : TEXCOORD; // TEXCOORD
};
struct Fragment_Stage_Output
{
float4 fragment_output_0 : SV_Target0;
};
void frag_main()
{
precise float fragment_unnamed_51 = fragment_input_1.x * fragment_uniform_buffer_0[136u].x;
float fragment_unnamed_53 = floor(fragment_unnamed_51);
precise float fragment_unnamed_59 = (-0.0f) - fragment_unnamed_53;
precise float fragment_unnamed_65 = fragment_unnamed_53 * fragment_uniform_buffer_0[136u].z;
precise float fragment_unnamed_69 = fragment_unnamed_65 * fragment_uniform_buffer_0[136u].w;
precise float fragment_unnamed_76 = (-0.0f) - fragment_uniform_buffer_0[136u].z;
precise float fragment_unnamed_77 = mad(fragment_input_1.x, fragment_uniform_buffer_0[136u].x, fragment_unnamed_59) + fragment_unnamed_76;
precise float fragment_unnamed_78 = fragment_input_1.y + fragment_unnamed_76;
float fragment_unnamed_84 = asfloat(asuint(fragment_uniform_buffer_0[136u]).w);
precise float fragment_unnamed_91 = mad(fragment_unnamed_77, fragment_unnamed_84, -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_93 = mad(fragment_unnamed_78, fragment_unnamed_84, -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_94 = mad(fragment_unnamed_69, asfloat(1073741824u), -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_98 = exp2(fragment_unnamed_91) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_100 = exp2(fragment_unnamed_93) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_101 = exp2(fragment_unnamed_94) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_102 = fragment_unnamed_98 * 0.17999999225139617919921875f;
precise float fragment_unnamed_104 = fragment_unnamed_100 * 0.17999999225139617919921875f;
precise float fragment_unnamed_105 = fragment_unnamed_101 * 0.17999999225139617919921875f;
precise float fragment_unnamed_131 = dot(float3(0.390404999256134033203125f, 0.549941003322601318359375f, 0.008926319889724254608154296875f), float3(fragment_unnamed_102, fragment_unnamed_104, fragment_unnamed_105)) * fragment_uniform_buffer_0[137u].x;
precise float fragment_unnamed_132 = dot(float3(0.070841602981090545654296875f, 0.963172018527984619140625f, 0.001357750035822391510009765625f), float3(fragment_unnamed_102, fragment_unnamed_104, fragment_unnamed_105)) * fragment_uniform_buffer_0[137u].y;
precise float fragment_unnamed_133 = dot(float3(0.02310819923877716064453125f, 0.1280210018157958984375f, 0.936245024204254150390625f), float3(fragment_unnamed_102, fragment_unnamed_104, fragment_unnamed_105)) * fragment_uniform_buffer_0[137u].z;
precise float fragment_unnamed_177 = mad(mad(log2(max(mad(dot(float3(2.85846996307373046875f, -1.62879002094268798828125f, -0.0248910002410411834716796875f), float3(fragment_unnamed_131, fragment_unnamed_132, fragment_unnamed_133)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[142u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
precise float fragment_unnamed_178 = mad(mad(log2(max(mad(dot(float3(-0.21018199622631072998046875f, 1.1582000255584716796875f, 0.0003242809907533228397369384765625f), float3(fragment_unnamed_131, fragment_unnamed_132, fragment_unnamed_133)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[142u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
precise float fragment_unnamed_179 = mad(mad(log2(max(mad(dot(float3(-0.0418119989335536956787109375f, -0.118169002234935760498046875f, 1.0686700344085693359375f), float3(fragment_unnamed_131, fragment_unnamed_132, fragment_unnamed_133)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[142u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
precise float fragment_unnamed_183 = exp2(fragment_unnamed_177) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_184 = exp2(fragment_unnamed_178) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_185 = exp2(fragment_unnamed_179) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_192 = fragment_unnamed_183 * fragment_uniform_buffer_0[138u].x;
precise float fragment_unnamed_193 = fragment_unnamed_184 * fragment_uniform_buffer_0[138u].y;
precise float fragment_unnamed_194 = fragment_unnamed_185 * fragment_uniform_buffer_0[138u].z;
precise float fragment_unnamed_195 = fragment_unnamed_192 * 0.17999999225139617919921875f;
precise float fragment_unnamed_196 = fragment_unnamed_193 * 0.17999999225139617919921875f;
precise float fragment_unnamed_197 = fragment_unnamed_194 * 0.17999999225139617919921875f;
precise float fragment_unnamed_204 = log2(max(fragment_unnamed_195, 0.0f)) * 0.4545454680919647216796875f;
precise float fragment_unnamed_206 = log2(max(fragment_unnamed_196, 0.0f)) * 0.4545454680919647216796875f;
precise float fragment_unnamed_207 = log2(max(fragment_unnamed_197, 0.0f)) * 0.4545454680919647216796875f;
float fragment_unnamed_208 = exp2(fragment_unnamed_204);
float fragment_unnamed_209 = exp2(fragment_unnamed_206);
float fragment_unnamed_210 = exp2(fragment_unnamed_207);
precise float fragment_unnamed_211 = fragment_unnamed_208 + fragment_unnamed_208;
precise float fragment_unnamed_212 = fragment_unnamed_209 + fragment_unnamed_209;
precise float fragment_unnamed_213 = fragment_unnamed_210 + fragment_unnamed_210;
precise float fragment_unnamed_214 = fragment_unnamed_208 * fragment_unnamed_208;
precise float fragment_unnamed_215 = fragment_unnamed_209 * fragment_unnamed_209;
precise float fragment_unnamed_216 = fragment_unnamed_210 * fragment_unnamed_210;
precise float fragment_unnamed_234 = dot(float3(min(fragment_unnamed_208, 1.0f), min(fragment_unnamed_209, 1.0f), min(fragment_unnamed_210, 1.0f)), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f)) + fragment_uniform_buffer_0[150u].w;
float fragment_unnamed_235 = clamp(fragment_unnamed_234, 0.0f, 1.0f);
precise float fragment_unnamed_236 = (-0.0f) - fragment_unnamed_235;
precise float fragment_unnamed_237 = fragment_unnamed_236 + 1.0f;
precise float fragment_unnamed_243 = fragment_uniform_buffer_0[150u].x + (-0.5f);
precise float fragment_unnamed_245 = fragment_uniform_buffer_0[150u].y + (-0.5f);
precise float fragment_unnamed_246 = fragment_uniform_buffer_0[150u].z + (-0.5f);
float fragment_unnamed_247 = mad(fragment_unnamed_237, fragment_unnamed_243, 0.5f);
float fragment_unnamed_249 = mad(fragment_unnamed_237, fragment_unnamed_245, 0.5f);
float fragment_unnamed_250 = mad(fragment_unnamed_237, fragment_unnamed_246, 0.5f);
precise float fragment_unnamed_251 = (-0.0f) - fragment_unnamed_247;
precise float fragment_unnamed_252 = (-0.0f) - fragment_unnamed_249;
precise float fragment_unnamed_253 = (-0.0f) - fragment_unnamed_250;
precise float fragment_unnamed_258 = fragment_unnamed_214 * mad(fragment_unnamed_251, 2.0f, 1.0f);
precise float fragment_unnamed_259 = fragment_unnamed_215 * mad(fragment_unnamed_252, 2.0f, 1.0f);
precise float fragment_unnamed_260 = fragment_unnamed_216 * mad(fragment_unnamed_253, 2.0f, 1.0f);
bool fragment_unnamed_265 = fragment_unnamed_247 >= 0.5f;
bool fragment_unnamed_266 = fragment_unnamed_249 >= 0.5f;
bool fragment_unnamed_267 = fragment_unnamed_250 >= 0.5f;
precise float fragment_unnamed_283 = mad(fragment_unnamed_211, fragment_unnamed_247, fragment_unnamed_258) * asfloat(fragment_unnamed_265 ? 0u : 1065353216u);
precise float fragment_unnamed_284 = mad(fragment_unnamed_212, fragment_unnamed_249, fragment_unnamed_259) * asfloat(fragment_unnamed_266 ? 0u : 1065353216u);
precise float fragment_unnamed_285 = mad(fragment_unnamed_213, fragment_unnamed_250, fragment_unnamed_260) * asfloat(fragment_unnamed_267 ? 0u : 1065353216u);
precise float fragment_unnamed_286 = (-0.0f) - fragment_unnamed_247;
precise float fragment_unnamed_287 = (-0.0f) - fragment_unnamed_249;
precise float fragment_unnamed_288 = (-0.0f) - fragment_unnamed_250;
precise float fragment_unnamed_289 = fragment_unnamed_286 + 1.0f;
precise float fragment_unnamed_290 = fragment_unnamed_287 + 1.0f;
precise float fragment_unnamed_291 = fragment_unnamed_288 + 1.0f;
precise float fragment_unnamed_296 = fragment_unnamed_211 * fragment_unnamed_289;
precise float fragment_unnamed_297 = fragment_unnamed_212 * fragment_unnamed_290;
precise float fragment_unnamed_298 = fragment_unnamed_213 * fragment_unnamed_291;
float fragment_unnamed_304 = mad(mad(sqrt(fragment_unnamed_208), mad(fragment_unnamed_247, 2.0f, -1.0f), fragment_unnamed_296), asfloat((fragment_unnamed_265 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_283);
float fragment_unnamed_305 = mad(mad(sqrt(fragment_unnamed_209), mad(fragment_unnamed_249, 2.0f, -1.0f), fragment_unnamed_297), asfloat((fragment_unnamed_266 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_284);
float fragment_unnamed_306 = mad(mad(sqrt(fragment_unnamed_210), mad(fragment_unnamed_250, 2.0f, -1.0f), fragment_unnamed_298), asfloat((fragment_unnamed_267 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_285);
precise float fragment_unnamed_307 = fragment_unnamed_304 + fragment_unnamed_304;
precise float fragment_unnamed_308 = fragment_unnamed_305 + fragment_unnamed_305;
precise float fragment_unnamed_309 = fragment_unnamed_306 + fragment_unnamed_306;
precise float fragment_unnamed_310 = fragment_unnamed_304 * fragment_unnamed_304;
precise float fragment_unnamed_311 = fragment_unnamed_305 * fragment_unnamed_305;
precise float fragment_unnamed_312 = fragment_unnamed_306 * fragment_unnamed_306;
precise float fragment_unnamed_322 = fragment_uniform_buffer_0[151u].x + (-0.5f);
precise float fragment_unnamed_323 = fragment_uniform_buffer_0[151u].y + (-0.5f);
precise float fragment_unnamed_324 = fragment_uniform_buffer_0[151u].z + (-0.5f);
float fragment_unnamed_325 = mad(fragment_unnamed_235, fragment_unnamed_322, 0.5f);
float fragment_unnamed_326 = mad(fragment_unnamed_235, fragment_unnamed_323, 0.5f);
float fragment_unnamed_327 = mad(fragment_unnamed_235, fragment_unnamed_324, 0.5f);
precise float fragment_unnamed_328 = (-0.0f) - fragment_unnamed_325;
precise float fragment_unnamed_329 = (-0.0f) - fragment_unnamed_326;
precise float fragment_unnamed_330 = (-0.0f) - fragment_unnamed_327;
precise float fragment_unnamed_334 = fragment_unnamed_310 * mad(fragment_unnamed_328, 2.0f, 1.0f);
precise float fragment_unnamed_335 = fragment_unnamed_311 * mad(fragment_unnamed_329, 2.0f, 1.0f);
precise float fragment_unnamed_336 = fragment_unnamed_312 * mad(fragment_unnamed_330, 2.0f, 1.0f);
bool fragment_unnamed_340 = fragment_unnamed_325 >= 0.5f;
bool fragment_unnamed_341 = fragment_unnamed_326 >= 0.5f;
bool fragment_unnamed_342 = fragment_unnamed_327 >= 0.5f;
precise float fragment_unnamed_356 = mad(fragment_unnamed_307, fragment_unnamed_325, fragment_unnamed_334) * asfloat(fragment_unnamed_340 ? 0u : 1065353216u);
precise float fragment_unnamed_357 = mad(fragment_unnamed_308, fragment_unnamed_326, fragment_unnamed_335) * asfloat(fragment_unnamed_341 ? 0u : 1065353216u);
precise float fragment_unnamed_358 = mad(fragment_unnamed_309, fragment_unnamed_327, fragment_unnamed_336) * asfloat(fragment_unnamed_342 ? 0u : 1065353216u);
precise float fragment_unnamed_359 = (-0.0f) - fragment_unnamed_325;
precise float fragment_unnamed_360 = (-0.0f) - fragment_unnamed_326;
precise float fragment_unnamed_361 = (-0.0f) - fragment_unnamed_327;
precise float fragment_unnamed_362 = fragment_unnamed_359 + 1.0f;
precise float fragment_unnamed_363 = fragment_unnamed_360 + 1.0f;
precise float fragment_unnamed_364 = fragment_unnamed_361 + 1.0f;
precise float fragment_unnamed_368 = fragment_unnamed_307 * fragment_unnamed_362;
precise float fragment_unnamed_369 = fragment_unnamed_308 * fragment_unnamed_363;
precise float fragment_unnamed_370 = fragment_unnamed_309 * fragment_unnamed_364;
precise float fragment_unnamed_385 = log2(abs(mad(mad(sqrt(fragment_unnamed_304), mad(fragment_unnamed_325, 2.0f, -1.0f), fragment_unnamed_368), asfloat((fragment_unnamed_340 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_356))) * 2.2000000476837158203125f;
precise float fragment_unnamed_387 = log2(abs(mad(mad(sqrt(fragment_unnamed_305), mad(fragment_unnamed_326, 2.0f, -1.0f), fragment_unnamed_369), asfloat((fragment_unnamed_341 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_357))) * 2.2000000476837158203125f;
precise float fragment_unnamed_388 = log2(abs(mad(mad(sqrt(fragment_unnamed_306), mad(fragment_unnamed_327, 2.0f, -1.0f), fragment_unnamed_370), asfloat((fragment_unnamed_342 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_358))) * 2.2000000476837158203125f;
float fragment_unnamed_389 = exp2(fragment_unnamed_385);
float fragment_unnamed_390 = exp2(fragment_unnamed_387);
float fragment_unnamed_391 = exp2(fragment_unnamed_388);
float fragment_unnamed_398 = dot(float3(fragment_unnamed_389, fragment_unnamed_390, fragment_unnamed_391), float3(fragment_uniform_buffer_0[139u].xyz));
float fragment_unnamed_407 = dot(float3(fragment_unnamed_389, fragment_unnamed_390, fragment_unnamed_391), float3(fragment_uniform_buffer_0[140u].xyz));
float fragment_unnamed_416 = dot(float3(fragment_unnamed_389, fragment_unnamed_390, fragment_unnamed_391), float3(fragment_uniform_buffer_0[141u].xyz));
precise float fragment_unnamed_425 = fragment_unnamed_398 * fragment_uniform_buffer_0[147u].x;
precise float fragment_unnamed_426 = fragment_unnamed_407 * fragment_uniform_buffer_0[147u].y;
precise float fragment_unnamed_427 = fragment_unnamed_416 * fragment_uniform_buffer_0[147u].z;
float fragment_unnamed_428 = dot(float3(fragment_unnamed_398, fragment_unnamed_407, fragment_unnamed_416), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f));
precise float fragment_unnamed_435 = (-0.0f) - fragment_uniform_buffer_0[149u].x;
precise float fragment_unnamed_437 = (-0.0f) - fragment_uniform_buffer_0[149u].z;
precise float fragment_unnamed_438 = fragment_unnamed_428 + fragment_unnamed_435;
precise float fragment_unnamed_439 = fragment_unnamed_428 + fragment_unnamed_437;
precise float fragment_unnamed_443 = (-0.0f) - fragment_uniform_buffer_0[149u].x;
precise float fragment_unnamed_445 = (-0.0f) - fragment_uniform_buffer_0[149u].z;
precise float fragment_unnamed_450 = fragment_unnamed_443 + fragment_uniform_buffer_0[149u].y;
precise float fragment_unnamed_451 = fragment_unnamed_445 + fragment_uniform_buffer_0[149u].w;
precise float fragment_unnamed_452 = 1.0f / fragment_unnamed_450;
precise float fragment_unnamed_453 = 1.0f / fragment_unnamed_451;
precise float fragment_unnamed_454 = fragment_unnamed_452 * fragment_unnamed_438;
precise float fragment_unnamed_455 = fragment_unnamed_453 * fragment_unnamed_439;
float fragment_unnamed_456 = clamp(fragment_unnamed_454, 0.0f, 1.0f);
float fragment_unnamed_457 = clamp(fragment_unnamed_455, 0.0f, 1.0f);
float fragment_unnamed_461 = mad(fragment_unnamed_457, -2.0f, 3.0f);
precise float fragment_unnamed_462 = fragment_unnamed_456 * fragment_unnamed_456;
precise float fragment_unnamed_463 = fragment_unnamed_457 * fragment_unnamed_457;
precise float fragment_unnamed_464 = (-0.0f) - mad(fragment_unnamed_456, -2.0f, 3.0f);
float fragment_unnamed_465 = mad(fragment_unnamed_464, fragment_unnamed_462, 1.0f);
precise float fragment_unnamed_466 = (-0.0f) - fragment_unnamed_465;
precise float fragment_unnamed_467 = fragment_unnamed_466 + 1.0f;
precise float fragment_unnamed_468 = (-0.0f) - fragment_unnamed_461;
float fragment_unnamed_469 = mad(fragment_unnamed_468, fragment_unnamed_463, fragment_unnamed_467);
precise float fragment_unnamed_470 = fragment_unnamed_463 * fragment_unnamed_461;
precise float fragment_unnamed_471 = fragment_unnamed_425 * fragment_unnamed_469;
precise float fragment_unnamed_472 = fragment_unnamed_426 * fragment_unnamed_469;
precise float fragment_unnamed_473 = fragment_unnamed_427 * fragment_unnamed_469;
precise float fragment_unnamed_480 = fragment_unnamed_398 * fragment_uniform_buffer_0[146u].x;
precise float fragment_unnamed_481 = fragment_unnamed_407 * fragment_uniform_buffer_0[146u].y;
precise float fragment_unnamed_482 = fragment_unnamed_416 * fragment_uniform_buffer_0[146u].z;
precise float fragment_unnamed_489 = fragment_unnamed_398 * fragment_uniform_buffer_0[148u].x;
precise float fragment_unnamed_490 = fragment_unnamed_407 * fragment_uniform_buffer_0[148u].y;
precise float fragment_unnamed_491 = fragment_unnamed_416 * fragment_uniform_buffer_0[148u].z;
float fragment_unnamed_510 = mad(mad(fragment_unnamed_489, fragment_unnamed_470, mad(fragment_unnamed_480, fragment_unnamed_465, fragment_unnamed_471)), fragment_uniform_buffer_0[145u].x, fragment_uniform_buffer_0[143u].x);
float fragment_unnamed_511 = mad(mad(fragment_unnamed_490, fragment_unnamed_470, mad(fragment_unnamed_481, fragment_unnamed_465, fragment_unnamed_472)), fragment_uniform_buffer_0[145u].y, fragment_uniform_buffer_0[143u].y);
float fragment_unnamed_512 = mad(mad(fragment_unnamed_491, fragment_unnamed_470, mad(fragment_unnamed_482, fragment_unnamed_465, fragment_unnamed_473)), fragment_uniform_buffer_0[145u].z, fragment_uniform_buffer_0[143u].z);
precise float fragment_unnamed_537 = log2(abs(fragment_unnamed_510)) * fragment_uniform_buffer_0[144u].x;
precise float fragment_unnamed_538 = log2(abs(fragment_unnamed_511)) * fragment_uniform_buffer_0[144u].y;
precise float fragment_unnamed_539 = log2(abs(fragment_unnamed_512)) * fragment_uniform_buffer_0[144u].z;
float fragment_unnamed_541 = exp2(fragment_unnamed_538);
float fragment_unnamed_542 = exp2(fragment_unnamed_539);
float fragment_unnamed_550 = float(int((-((0.0f < fragment_unnamed_511) ? 4294967295u : 0u)) + ((fragment_unnamed_511 < 0.0f) ? 4294967295u : 0u)));
float fragment_unnamed_551 = float(int((-((0.0f < fragment_unnamed_512) ? 4294967295u : 0u)) + ((fragment_unnamed_512 < 0.0f) ? 4294967295u : 0u)));
precise float fragment_unnamed_552 = exp2(fragment_unnamed_537) * float(int((-((0.0f < fragment_unnamed_510) ? 4294967295u : 0u)) + ((fragment_unnamed_510 < 0.0f) ? 4294967295u : 0u)));
precise float fragment_unnamed_553 = fragment_unnamed_541 * fragment_unnamed_550;
precise float fragment_unnamed_554 = fragment_unnamed_542 * fragment_unnamed_551;
precise float fragment_unnamed_555 = (-0.0f) - fragment_unnamed_554;
precise float fragment_unnamed_556 = (-0.0f) - fragment_unnamed_553;
float fragment_unnamed_562 = asfloat(((fragment_unnamed_553 >= fragment_unnamed_554) ? 4294967295u : 0u) & 1065353216u);
float fragment_unnamed_569 = mad(fragment_unnamed_562, mad(fragment_unnamed_550, fragment_unnamed_541, fragment_unnamed_555), fragment_unnamed_554);
float fragment_unnamed_570 = mad(fragment_unnamed_562, mad(fragment_unnamed_551, fragment_unnamed_542, fragment_unnamed_556), fragment_unnamed_553);
float fragment_unnamed_571 = mad(fragment_unnamed_562, asfloat(3212836864u), asfloat(1059760811u));
float fragment_unnamed_576 = asfloat(((fragment_unnamed_552 >= fragment_unnamed_569) ? 4294967295u : 0u) & 1065353216u);
precise float fragment_unnamed_580 = (-0.0f) - fragment_unnamed_569;
precise float fragment_unnamed_581 = (-0.0f) - fragment_unnamed_570;
precise float fragment_unnamed_582 = (-0.0f) - fragment_unnamed_571;
precise float fragment_unnamed_583 = (-0.0f) - fragment_unnamed_552;
precise float fragment_unnamed_584 = fragment_unnamed_580 + fragment_unnamed_552;
precise float fragment_unnamed_585 = fragment_unnamed_581 + fragment_unnamed_570;
precise float fragment_unnamed_586 = fragment_unnamed_582 + mad(fragment_unnamed_562, asfloat(1065353216u), asfloat(3212836864u));
precise float fragment_unnamed_587 = fragment_unnamed_583 + fragment_unnamed_569;
float fragment_unnamed_588 = mad(fragment_unnamed_576, fragment_unnamed_584, fragment_unnamed_569);
float fragment_unnamed_589 = mad(fragment_unnamed_576, fragment_unnamed_585, fragment_unnamed_570);
float fragment_unnamed_591 = mad(fragment_unnamed_576, fragment_unnamed_587, fragment_unnamed_552);
precise float fragment_unnamed_593 = (-0.0f) - min(fragment_unnamed_589, fragment_unnamed_591);
precise float fragment_unnamed_594 = fragment_unnamed_588 + fragment_unnamed_593;
precise float fragment_unnamed_598 = (-0.0f) - fragment_unnamed_589;
precise float fragment_unnamed_599 = fragment_unnamed_598 + fragment_unnamed_591;
precise float fragment_unnamed_600 = fragment_unnamed_599 / mad(fragment_unnamed_594, 6.0f, 9.9999997473787516355514526367188e-05f);
precise float fragment_unnamed_601 = fragment_unnamed_600 + mad(fragment_unnamed_576, fragment_unnamed_586, fragment_unnamed_571);
float fragment_unnamed_602 = abs(fragment_unnamed_601);
precise float fragment_unnamed_606 = fragment_unnamed_602 + fragment_uniform_buffer_0[142u].x;
precise float fragment_unnamed_627 = fragment_unnamed_606 + clamp(_CurveHueVsHue.SampleBias(S0, float2(fragment_unnamed_606, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_628 = fragment_unnamed_627 + (-0.5f);
precise float fragment_unnamed_629 = fragment_unnamed_627 + 0.5f;
precise float fragment_unnamed_630 = fragment_unnamed_627 + (-1.5f);
float fragment_unnamed_639 = asfloat((fragment_unnamed_628 < 0.0f) ? asuint(fragment_unnamed_629) : ((1.0f < fragment_unnamed_628) ? asuint(fragment_unnamed_630) : asuint(fragment_unnamed_628)));
precise float fragment_unnamed_640 = fragment_unnamed_639 + 1.0f;
precise float fragment_unnamed_641 = fragment_unnamed_639 + 0.666666686534881591796875f;
precise float fragment_unnamed_643 = fragment_unnamed_639 + 0.3333333432674407958984375f;
precise float fragment_unnamed_655 = abs(mad(frac(fragment_unnamed_640), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_656 = abs(mad(frac(fragment_unnamed_641), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_657 = abs(mad(frac(fragment_unnamed_643), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_661 = clamp(fragment_unnamed_655, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_662 = clamp(fragment_unnamed_656, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_663 = clamp(fragment_unnamed_657, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_664 = fragment_unnamed_588 + 9.9999997473787516355514526367188e-05f;
precise float fragment_unnamed_665 = fragment_unnamed_594 / fragment_unnamed_664;
float fragment_unnamed_666 = mad(fragment_unnamed_665, fragment_unnamed_661, 1.0f);
float fragment_unnamed_667 = mad(fragment_unnamed_665, fragment_unnamed_662, 1.0f);
float fragment_unnamed_668 = mad(fragment_unnamed_665, fragment_unnamed_663, 1.0f);
precise float fragment_unnamed_669 = fragment_unnamed_666 * fragment_unnamed_588;
precise float fragment_unnamed_670 = fragment_unnamed_667 * fragment_unnamed_588;
precise float fragment_unnamed_671 = fragment_unnamed_668 * fragment_unnamed_588;
float fragment_unnamed_672 = dot(float3(fragment_unnamed_669, fragment_unnamed_670, fragment_unnamed_671), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f));
precise float fragment_unnamed_675 = (-0.0f) - fragment_unnamed_672;
float fragment_unnamed_696 = clamp(_CurveHueVsSat.SampleBias(S0, float2(fragment_unnamed_602, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_697 = fragment_unnamed_696 + fragment_unnamed_696;
precise float fragment_unnamed_701 = dot(clamp(_CurveSatVsSat.SampleBias(S0, float2(fragment_unnamed_665, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f).xx, fragment_unnamed_697.xx) * clamp(_CurveLumVsSat.SampleBias(S0, float2(dot(float3(fragment_unnamed_552, fragment_unnamed_553, fragment_unnamed_554), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f)), asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_705 = dot(fragment_uniform_buffer_0[142u].y.xx, fragment_unnamed_701.xx);
float fragment_unnamed_708 = mad(fragment_unnamed_705, mad(fragment_unnamed_588, fragment_unnamed_666, fragment_unnamed_675), fragment_unnamed_672);
float fragment_unnamed_709 = mad(fragment_unnamed_705, mad(fragment_unnamed_588, fragment_unnamed_667, fragment_unnamed_675), fragment_unnamed_672);
float fragment_unnamed_710 = mad(fragment_unnamed_705, mad(fragment_unnamed_588, fragment_unnamed_668, fragment_unnamed_675), fragment_unnamed_672);
precise float fragment_unnamed_713 = max(fragment_unnamed_710, max(fragment_unnamed_709, fragment_unnamed_708)) + 1.0f;
precise float fragment_unnamed_714 = 1.0f / fragment_unnamed_713;
float fragment_unnamed_719 = asfloat(0u);
precise float fragment_unnamed_742 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_708, fragment_unnamed_714, 0.00390625f), fragment_unnamed_719), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
precise float fragment_unnamed_743 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_709, fragment_unnamed_714, 0.00390625f), fragment_unnamed_719), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
precise float fragment_unnamed_744 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_710, fragment_unnamed_714, 0.00390625f), fragment_unnamed_719), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
float fragment_unnamed_745 = asfloat(0u);
float fragment_unnamed_753 = clamp(_CurveRed.SampleBias(S0, float2(fragment_unnamed_742, fragment_unnamed_745), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_768 = clamp(_CurveBlue.SampleBias(S0, float2(fragment_unnamed_744, fragment_unnamed_745), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_769 = clamp(_CurveGreen.SampleBias(S0, float2(fragment_unnamed_743, fragment_unnamed_745), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_772 = (-0.0f) - max(fragment_unnamed_768, max(fragment_unnamed_769, fragment_unnamed_753));
precise float fragment_unnamed_773 = fragment_unnamed_772 + 1.0f;
precise float fragment_unnamed_774 = 1.0f / fragment_unnamed_773;
precise float fragment_unnamed_775 = fragment_unnamed_774 * fragment_unnamed_753;
precise float fragment_unnamed_776 = fragment_unnamed_774 * fragment_unnamed_769;
precise float fragment_unnamed_777 = fragment_unnamed_774 * fragment_unnamed_768;
fragment_output_0.x = max(fragment_unnamed_775, 0.0f);
fragment_output_0.y = max(fragment_unnamed_776, 0.0f);
fragment_output_0.z = max(fragment_unnamed_777, 0.0f);
fragment_output_0.w = 1.0f;
}
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
{
fragment_uniform_buffer_0[136] = float4(_Lut_Params[0], _Lut_Params[1], _Lut_Params[2], _Lut_Params[3]);
fragment_uniform_buffer_0[137] = float4(_ColorBalance[0], _ColorBalance[1], _ColorBalance[2], _ColorBalance[3]);
fragment_uniform_buffer_0[138] = float4(_ColorFilter[0], _ColorFilter[1], _ColorFilter[2], _ColorFilter[3]);
fragment_uniform_buffer_0[139] = float4(_ChannelMixerRed[0], _ChannelMixerRed[1], _ChannelMixerRed[2], _ChannelMixerRed[3]);
fragment_uniform_buffer_0[140] = float4(_ChannelMixerGreen[0], _ChannelMixerGreen[1], _ChannelMixerGreen[2], _ChannelMixerGreen[3]);
fragment_uniform_buffer_0[141] = float4(_ChannelMixerBlue[0], _ChannelMixerBlue[1], _ChannelMixerBlue[2], _ChannelMixerBlue[3]);
fragment_uniform_buffer_0[142] = float4(_HueSatCon[0], _HueSatCon[1], _HueSatCon[2], _HueSatCon[3]);
fragment_uniform_buffer_0[143] = float4(_Lift[0], _Lift[1], _Lift[2], _Lift[3]);
fragment_uniform_buffer_0[144] = float4(_Gamma[0], _Gamma[1], _Gamma[2], _Gamma[3]);
fragment_uniform_buffer_0[145] = float4(_Gain[0], _Gain[1], _Gain[2], _Gain[3]);
fragment_uniform_buffer_0[146] = float4(_Shadows[0], _Shadows[1], _Shadows[2], _Shadows[3]);
fragment_uniform_buffer_0[147] = float4(_Midtones[0], _Midtones[1], _Midtones[2], _Midtones[3]);
fragment_uniform_buffer_0[148] = float4(_Highlights[0], _Highlights[1], _Highlights[2], _Highlights[3]);
fragment_uniform_buffer_0[149] = float4(_ShaHiLimits[0], _ShaHiLimits[1], _ShaHiLimits[2], _ShaHiLimits[3]);
fragment_uniform_buffer_0[150] = float4(_SplitShadows[0], _SplitShadows[1], _SplitShadows[2], _SplitShadows[3]);
fragment_uniform_buffer_0[151] = float4(_SplitHighlights[0], _SplitHighlights[1], _SplitHighlights[2], _SplitHighlights[3]);
fragment_input_1 = stage_input.fragment_input_1;
frag_main();
Fragment_Stage_Output stage_output;
stage_output.fragment_output_0 = fragment_output_0;
return stage_output;
}
#endif // !STEREO_INSTANCING_ON
#endif // !_TONEMAP_ACES
#endif // !_TONEMAP_NEUTRAL
#ifdef STEREO_INSTANCING_ON
#ifndef _TONEMAP_ACES
#ifndef _TONEMAP_NEUTRAL
#define ANY_SHADER_VARIANT_ACTIVE
float4 _Lut_Params;
float4 _ColorBalance;
float4 _ColorFilter;
float4 _ChannelMixerRed;
float4 _ChannelMixerGreen;
float4 _ChannelMixerBlue;
float4 _HueSatCon;
float4 _Lift;
float4 _Gamma;
float4 _Gain;
float4 _Shadows;
float4 _Midtones;
float4 _Highlights;
float4 _ShaHiLimits;
float4 _SplitShadows;
float4 _SplitHighlights;
static float4 fragment_uniform_buffer_0[121];
Texture2D<float4> _CurveMaster;
Texture2D<float4> _CurveRed;
Texture2D<float4> _CurveGreen;
Texture2D<float4> _CurveBlue;
Texture2D<float4> _CurveHueVsHue;
Texture2D<float4> _CurveHueVsSat;
Texture2D<float4> _CurveSatVsSat;
Texture2D<float4> _CurveLumVsSat;
SamplerState S0;
static float2 fragment_input_1;
static float4 fragment_output_0;
struct Fragment_Stage_Input
{
float2 fragment_input_1 : TEXCOORD; // TEXCOORD
};
struct Fragment_Stage_Output
{
float4 fragment_output_0 : SV_Target0;
};
void frag_main()
{
precise float fragment_unnamed_53 = fragment_input_1.x * fragment_uniform_buffer_0[105u].x;
float fragment_unnamed_55 = floor(fragment_unnamed_53);
precise float fragment_unnamed_61 = (-0.0f) - fragment_unnamed_55;
precise float fragment_unnamed_67 = fragment_unnamed_55 * fragment_uniform_buffer_0[105u].z;
precise float fragment_unnamed_71 = fragment_unnamed_67 * fragment_uniform_buffer_0[105u].w;
precise float fragment_unnamed_78 = (-0.0f) - fragment_uniform_buffer_0[105u].z;
precise float fragment_unnamed_79 = mad(fragment_input_1.x, fragment_uniform_buffer_0[105u].x, fragment_unnamed_61) + fragment_unnamed_78;
precise float fragment_unnamed_80 = fragment_input_1.y + fragment_unnamed_78;
float fragment_unnamed_86 = asfloat(asuint(fragment_uniform_buffer_0[105u]).w);
precise float fragment_unnamed_93 = mad(fragment_unnamed_79, fragment_unnamed_86, -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_95 = mad(fragment_unnamed_80, fragment_unnamed_86, -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_96 = mad(fragment_unnamed_71, asfloat(1073741824u), -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_100 = exp2(fragment_unnamed_93) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_102 = exp2(fragment_unnamed_95) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_103 = exp2(fragment_unnamed_96) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_104 = fragment_unnamed_100 * 0.17999999225139617919921875f;
precise float fragment_unnamed_106 = fragment_unnamed_102 * 0.17999999225139617919921875f;
precise float fragment_unnamed_107 = fragment_unnamed_103 * 0.17999999225139617919921875f;
precise float fragment_unnamed_133 = dot(float3(0.390404999256134033203125f, 0.549941003322601318359375f, 0.008926319889724254608154296875f), float3(fragment_unnamed_104, fragment_unnamed_106, fragment_unnamed_107)) * fragment_uniform_buffer_0[106u].x;
precise float fragment_unnamed_134 = dot(float3(0.070841602981090545654296875f, 0.963172018527984619140625f, 0.001357750035822391510009765625f), float3(fragment_unnamed_104, fragment_unnamed_106, fragment_unnamed_107)) * fragment_uniform_buffer_0[106u].y;
precise float fragment_unnamed_135 = dot(float3(0.02310819923877716064453125f, 0.1280210018157958984375f, 0.936245024204254150390625f), float3(fragment_unnamed_104, fragment_unnamed_106, fragment_unnamed_107)) * fragment_uniform_buffer_0[106u].z;
precise float fragment_unnamed_179 = mad(mad(log2(max(mad(dot(float3(2.85846996307373046875f, -1.62879002094268798828125f, -0.0248910002410411834716796875f), float3(fragment_unnamed_133, fragment_unnamed_134, fragment_unnamed_135)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[111u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
precise float fragment_unnamed_180 = mad(mad(log2(max(mad(dot(float3(-0.21018199622631072998046875f, 1.1582000255584716796875f, 0.0003242809907533228397369384765625f), float3(fragment_unnamed_133, fragment_unnamed_134, fragment_unnamed_135)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[111u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
precise float fragment_unnamed_181 = mad(mad(log2(max(mad(dot(float3(-0.0418119989335536956787109375f, -0.118169002234935760498046875f, 1.0686700344085693359375f), float3(fragment_unnamed_133, fragment_unnamed_134, fragment_unnamed_135)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[111u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
precise float fragment_unnamed_185 = exp2(fragment_unnamed_179) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_186 = exp2(fragment_unnamed_180) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_187 = exp2(fragment_unnamed_181) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_194 = fragment_unnamed_185 * fragment_uniform_buffer_0[107u].x;
precise float fragment_unnamed_195 = fragment_unnamed_186 * fragment_uniform_buffer_0[107u].y;
precise float fragment_unnamed_196 = fragment_unnamed_187 * fragment_uniform_buffer_0[107u].z;
precise float fragment_unnamed_197 = fragment_unnamed_194 * 0.17999999225139617919921875f;
precise float fragment_unnamed_198 = fragment_unnamed_195 * 0.17999999225139617919921875f;
precise float fragment_unnamed_199 = fragment_unnamed_196 * 0.17999999225139617919921875f;
precise float fragment_unnamed_206 = log2(max(fragment_unnamed_197, 0.0f)) * 0.4545454680919647216796875f;
precise float fragment_unnamed_208 = log2(max(fragment_unnamed_198, 0.0f)) * 0.4545454680919647216796875f;
precise float fragment_unnamed_209 = log2(max(fragment_unnamed_199, 0.0f)) * 0.4545454680919647216796875f;
float fragment_unnamed_210 = exp2(fragment_unnamed_206);
float fragment_unnamed_211 = exp2(fragment_unnamed_208);
float fragment_unnamed_212 = exp2(fragment_unnamed_209);
precise float fragment_unnamed_213 = fragment_unnamed_210 + fragment_unnamed_210;
precise float fragment_unnamed_214 = fragment_unnamed_211 + fragment_unnamed_211;
precise float fragment_unnamed_215 = fragment_unnamed_212 + fragment_unnamed_212;
precise float fragment_unnamed_216 = fragment_unnamed_210 * fragment_unnamed_210;
precise float fragment_unnamed_217 = fragment_unnamed_211 * fragment_unnamed_211;
precise float fragment_unnamed_218 = fragment_unnamed_212 * fragment_unnamed_212;
precise float fragment_unnamed_236 = dot(float3(min(fragment_unnamed_210, 1.0f), min(fragment_unnamed_211, 1.0f), min(fragment_unnamed_212, 1.0f)), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f)) + fragment_uniform_buffer_0[119u].w;
float fragment_unnamed_237 = clamp(fragment_unnamed_236, 0.0f, 1.0f);
precise float fragment_unnamed_238 = (-0.0f) - fragment_unnamed_237;
precise float fragment_unnamed_239 = fragment_unnamed_238 + 1.0f;
precise float fragment_unnamed_245 = fragment_uniform_buffer_0[119u].x + (-0.5f);
precise float fragment_unnamed_247 = fragment_uniform_buffer_0[119u].y + (-0.5f);
precise float fragment_unnamed_248 = fragment_uniform_buffer_0[119u].z + (-0.5f);
float fragment_unnamed_249 = mad(fragment_unnamed_239, fragment_unnamed_245, 0.5f);
float fragment_unnamed_251 = mad(fragment_unnamed_239, fragment_unnamed_247, 0.5f);
float fragment_unnamed_252 = mad(fragment_unnamed_239, fragment_unnamed_248, 0.5f);
precise float fragment_unnamed_253 = (-0.0f) - fragment_unnamed_249;
precise float fragment_unnamed_254 = (-0.0f) - fragment_unnamed_251;
precise float fragment_unnamed_255 = (-0.0f) - fragment_unnamed_252;
precise float fragment_unnamed_260 = fragment_unnamed_216 * mad(fragment_unnamed_253, 2.0f, 1.0f);
precise float fragment_unnamed_261 = fragment_unnamed_217 * mad(fragment_unnamed_254, 2.0f, 1.0f);
precise float fragment_unnamed_262 = fragment_unnamed_218 * mad(fragment_unnamed_255, 2.0f, 1.0f);
bool fragment_unnamed_267 = fragment_unnamed_249 >= 0.5f;
bool fragment_unnamed_268 = fragment_unnamed_251 >= 0.5f;
bool fragment_unnamed_269 = fragment_unnamed_252 >= 0.5f;
precise float fragment_unnamed_285 = mad(fragment_unnamed_213, fragment_unnamed_249, fragment_unnamed_260) * asfloat(fragment_unnamed_267 ? 0u : 1065353216u);
precise float fragment_unnamed_286 = mad(fragment_unnamed_214, fragment_unnamed_251, fragment_unnamed_261) * asfloat(fragment_unnamed_268 ? 0u : 1065353216u);
precise float fragment_unnamed_287 = mad(fragment_unnamed_215, fragment_unnamed_252, fragment_unnamed_262) * asfloat(fragment_unnamed_269 ? 0u : 1065353216u);
precise float fragment_unnamed_288 = (-0.0f) - fragment_unnamed_249;
precise float fragment_unnamed_289 = (-0.0f) - fragment_unnamed_251;
precise float fragment_unnamed_290 = (-0.0f) - fragment_unnamed_252;
precise float fragment_unnamed_291 = fragment_unnamed_288 + 1.0f;
precise float fragment_unnamed_292 = fragment_unnamed_289 + 1.0f;
precise float fragment_unnamed_293 = fragment_unnamed_290 + 1.0f;
precise float fragment_unnamed_298 = fragment_unnamed_213 * fragment_unnamed_291;
precise float fragment_unnamed_299 = fragment_unnamed_214 * fragment_unnamed_292;
precise float fragment_unnamed_300 = fragment_unnamed_215 * fragment_unnamed_293;
float fragment_unnamed_306 = mad(mad(sqrt(fragment_unnamed_210), mad(fragment_unnamed_249, 2.0f, -1.0f), fragment_unnamed_298), asfloat((fragment_unnamed_267 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_285);
float fragment_unnamed_307 = mad(mad(sqrt(fragment_unnamed_211), mad(fragment_unnamed_251, 2.0f, -1.0f), fragment_unnamed_299), asfloat((fragment_unnamed_268 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_286);
float fragment_unnamed_308 = mad(mad(sqrt(fragment_unnamed_212), mad(fragment_unnamed_252, 2.0f, -1.0f), fragment_unnamed_300), asfloat((fragment_unnamed_269 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_287);
precise float fragment_unnamed_309 = fragment_unnamed_306 + fragment_unnamed_306;
precise float fragment_unnamed_310 = fragment_unnamed_307 + fragment_unnamed_307;
precise float fragment_unnamed_311 = fragment_unnamed_308 + fragment_unnamed_308;
precise float fragment_unnamed_312 = fragment_unnamed_306 * fragment_unnamed_306;
precise float fragment_unnamed_313 = fragment_unnamed_307 * fragment_unnamed_307;
precise float fragment_unnamed_314 = fragment_unnamed_308 * fragment_unnamed_308;
precise float fragment_unnamed_324 = fragment_uniform_buffer_0[120u].x + (-0.5f);
precise float fragment_unnamed_325 = fragment_uniform_buffer_0[120u].y + (-0.5f);
precise float fragment_unnamed_326 = fragment_uniform_buffer_0[120u].z + (-0.5f);
float fragment_unnamed_327 = mad(fragment_unnamed_237, fragment_unnamed_324, 0.5f);
float fragment_unnamed_328 = mad(fragment_unnamed_237, fragment_unnamed_325, 0.5f);
float fragment_unnamed_329 = mad(fragment_unnamed_237, fragment_unnamed_326, 0.5f);
precise float fragment_unnamed_330 = (-0.0f) - fragment_unnamed_327;
precise float fragment_unnamed_331 = (-0.0f) - fragment_unnamed_328;
precise float fragment_unnamed_332 = (-0.0f) - fragment_unnamed_329;
precise float fragment_unnamed_336 = fragment_unnamed_312 * mad(fragment_unnamed_330, 2.0f, 1.0f);
precise float fragment_unnamed_337 = fragment_unnamed_313 * mad(fragment_unnamed_331, 2.0f, 1.0f);
precise float fragment_unnamed_338 = fragment_unnamed_314 * mad(fragment_unnamed_332, 2.0f, 1.0f);
bool fragment_unnamed_342 = fragment_unnamed_327 >= 0.5f;
bool fragment_unnamed_343 = fragment_unnamed_328 >= 0.5f;
bool fragment_unnamed_344 = fragment_unnamed_329 >= 0.5f;
precise float fragment_unnamed_358 = mad(fragment_unnamed_309, fragment_unnamed_327, fragment_unnamed_336) * asfloat(fragment_unnamed_342 ? 0u : 1065353216u);
precise float fragment_unnamed_359 = mad(fragment_unnamed_310, fragment_unnamed_328, fragment_unnamed_337) * asfloat(fragment_unnamed_343 ? 0u : 1065353216u);
precise float fragment_unnamed_360 = mad(fragment_unnamed_311, fragment_unnamed_329, fragment_unnamed_338) * asfloat(fragment_unnamed_344 ? 0u : 1065353216u);
precise float fragment_unnamed_361 = (-0.0f) - fragment_unnamed_327;
precise float fragment_unnamed_362 = (-0.0f) - fragment_unnamed_328;
precise float fragment_unnamed_363 = (-0.0f) - fragment_unnamed_329;
precise float fragment_unnamed_364 = fragment_unnamed_361 + 1.0f;
precise float fragment_unnamed_365 = fragment_unnamed_362 + 1.0f;
precise float fragment_unnamed_366 = fragment_unnamed_363 + 1.0f;
precise float fragment_unnamed_370 = fragment_unnamed_309 * fragment_unnamed_364;
precise float fragment_unnamed_371 = fragment_unnamed_310 * fragment_unnamed_365;
precise float fragment_unnamed_372 = fragment_unnamed_311 * fragment_unnamed_366;
precise float fragment_unnamed_387 = log2(abs(mad(mad(sqrt(fragment_unnamed_306), mad(fragment_unnamed_327, 2.0f, -1.0f), fragment_unnamed_370), asfloat((fragment_unnamed_342 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_358))) * 2.2000000476837158203125f;
precise float fragment_unnamed_389 = log2(abs(mad(mad(sqrt(fragment_unnamed_307), mad(fragment_unnamed_328, 2.0f, -1.0f), fragment_unnamed_371), asfloat((fragment_unnamed_343 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_359))) * 2.2000000476837158203125f;
precise float fragment_unnamed_390 = log2(abs(mad(mad(sqrt(fragment_unnamed_308), mad(fragment_unnamed_329, 2.0f, -1.0f), fragment_unnamed_372), asfloat((fragment_unnamed_344 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_360))) * 2.2000000476837158203125f;
float fragment_unnamed_391 = exp2(fragment_unnamed_387);
float fragment_unnamed_392 = exp2(fragment_unnamed_389);
float fragment_unnamed_393 = exp2(fragment_unnamed_390);
float fragment_unnamed_400 = dot(float3(fragment_unnamed_391, fragment_unnamed_392, fragment_unnamed_393), float3(fragment_uniform_buffer_0[108u].xyz));
float fragment_unnamed_409 = dot(float3(fragment_unnamed_391, fragment_unnamed_392, fragment_unnamed_393), float3(fragment_uniform_buffer_0[109u].xyz));
float fragment_unnamed_418 = dot(float3(fragment_unnamed_391, fragment_unnamed_392, fragment_unnamed_393), float3(fragment_uniform_buffer_0[110u].xyz));
precise float fragment_unnamed_427 = fragment_unnamed_400 * fragment_uniform_buffer_0[116u].x;
precise float fragment_unnamed_428 = fragment_unnamed_409 * fragment_uniform_buffer_0[116u].y;
precise float fragment_unnamed_429 = fragment_unnamed_418 * fragment_uniform_buffer_0[116u].z;
float fragment_unnamed_430 = dot(float3(fragment_unnamed_400, fragment_unnamed_409, fragment_unnamed_418), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f));
precise float fragment_unnamed_437 = (-0.0f) - fragment_uniform_buffer_0[118u].x;
precise float fragment_unnamed_439 = (-0.0f) - fragment_uniform_buffer_0[118u].z;
precise float fragment_unnamed_440 = fragment_unnamed_430 + fragment_unnamed_437;
precise float fragment_unnamed_441 = fragment_unnamed_430 + fragment_unnamed_439;
precise float fragment_unnamed_445 = (-0.0f) - fragment_uniform_buffer_0[118u].x;
precise float fragment_unnamed_447 = (-0.0f) - fragment_uniform_buffer_0[118u].z;
precise float fragment_unnamed_452 = fragment_unnamed_445 + fragment_uniform_buffer_0[118u].y;
precise float fragment_unnamed_453 = fragment_unnamed_447 + fragment_uniform_buffer_0[118u].w;
precise float fragment_unnamed_454 = 1.0f / fragment_unnamed_452;
precise float fragment_unnamed_455 = 1.0f / fragment_unnamed_453;
precise float fragment_unnamed_456 = fragment_unnamed_454 * fragment_unnamed_440;
precise float fragment_unnamed_457 = fragment_unnamed_455 * fragment_unnamed_441;
float fragment_unnamed_458 = clamp(fragment_unnamed_456, 0.0f, 1.0f);
float fragment_unnamed_459 = clamp(fragment_unnamed_457, 0.0f, 1.0f);
float fragment_unnamed_463 = mad(fragment_unnamed_459, -2.0f, 3.0f);
precise float fragment_unnamed_464 = fragment_unnamed_458 * fragment_unnamed_458;
precise float fragment_unnamed_465 = fragment_unnamed_459 * fragment_unnamed_459;
precise float fragment_unnamed_466 = (-0.0f) - mad(fragment_unnamed_458, -2.0f, 3.0f);
float fragment_unnamed_467 = mad(fragment_unnamed_466, fragment_unnamed_464, 1.0f);
precise float fragment_unnamed_468 = (-0.0f) - fragment_unnamed_467;
precise float fragment_unnamed_469 = fragment_unnamed_468 + 1.0f;
precise float fragment_unnamed_470 = (-0.0f) - fragment_unnamed_463;
float fragment_unnamed_471 = mad(fragment_unnamed_470, fragment_unnamed_465, fragment_unnamed_469);
precise float fragment_unnamed_472 = fragment_unnamed_465 * fragment_unnamed_463;
precise float fragment_unnamed_473 = fragment_unnamed_427 * fragment_unnamed_471;
precise float fragment_unnamed_474 = fragment_unnamed_428 * fragment_unnamed_471;
precise float fragment_unnamed_475 = fragment_unnamed_429 * fragment_unnamed_471;
precise float fragment_unnamed_482 = fragment_unnamed_400 * fragment_uniform_buffer_0[115u].x;
precise float fragment_unnamed_483 = fragment_unnamed_409 * fragment_uniform_buffer_0[115u].y;
precise float fragment_unnamed_484 = fragment_unnamed_418 * fragment_uniform_buffer_0[115u].z;
precise float fragment_unnamed_491 = fragment_unnamed_400 * fragment_uniform_buffer_0[117u].x;
precise float fragment_unnamed_492 = fragment_unnamed_409 * fragment_uniform_buffer_0[117u].y;
precise float fragment_unnamed_493 = fragment_unnamed_418 * fragment_uniform_buffer_0[117u].z;
float fragment_unnamed_512 = mad(mad(fragment_unnamed_491, fragment_unnamed_472, mad(fragment_unnamed_482, fragment_unnamed_467, fragment_unnamed_473)), fragment_uniform_buffer_0[114u].x, fragment_uniform_buffer_0[112u].x);
float fragment_unnamed_513 = mad(mad(fragment_unnamed_492, fragment_unnamed_472, mad(fragment_unnamed_483, fragment_unnamed_467, fragment_unnamed_474)), fragment_uniform_buffer_0[114u].y, fragment_uniform_buffer_0[112u].y);
float fragment_unnamed_514 = mad(mad(fragment_unnamed_493, fragment_unnamed_472, mad(fragment_unnamed_484, fragment_unnamed_467, fragment_unnamed_475)), fragment_uniform_buffer_0[114u].z, fragment_uniform_buffer_0[112u].z);
precise float fragment_unnamed_539 = log2(abs(fragment_unnamed_512)) * fragment_uniform_buffer_0[113u].x;
precise float fragment_unnamed_540 = log2(abs(fragment_unnamed_513)) * fragment_uniform_buffer_0[113u].y;
precise float fragment_unnamed_541 = log2(abs(fragment_unnamed_514)) * fragment_uniform_buffer_0[113u].z;
float fragment_unnamed_543 = exp2(fragment_unnamed_540);
float fragment_unnamed_544 = exp2(fragment_unnamed_541);
float fragment_unnamed_552 = float(int((-((0.0f < fragment_unnamed_513) ? 4294967295u : 0u)) + ((fragment_unnamed_513 < 0.0f) ? 4294967295u : 0u)));
float fragment_unnamed_553 = float(int((-((0.0f < fragment_unnamed_514) ? 4294967295u : 0u)) + ((fragment_unnamed_514 < 0.0f) ? 4294967295u : 0u)));
precise float fragment_unnamed_554 = exp2(fragment_unnamed_539) * float(int((-((0.0f < fragment_unnamed_512) ? 4294967295u : 0u)) + ((fragment_unnamed_512 < 0.0f) ? 4294967295u : 0u)));
precise float fragment_unnamed_555 = fragment_unnamed_543 * fragment_unnamed_552;
precise float fragment_unnamed_556 = fragment_unnamed_544 * fragment_unnamed_553;
precise float fragment_unnamed_557 = (-0.0f) - fragment_unnamed_556;
precise float fragment_unnamed_558 = (-0.0f) - fragment_unnamed_555;
float fragment_unnamed_564 = asfloat(((fragment_unnamed_555 >= fragment_unnamed_556) ? 4294967295u : 0u) & 1065353216u);
float fragment_unnamed_571 = mad(fragment_unnamed_564, mad(fragment_unnamed_552, fragment_unnamed_543, fragment_unnamed_557), fragment_unnamed_556);
float fragment_unnamed_572 = mad(fragment_unnamed_564, mad(fragment_unnamed_553, fragment_unnamed_544, fragment_unnamed_558), fragment_unnamed_555);
float fragment_unnamed_573 = mad(fragment_unnamed_564, asfloat(3212836864u), asfloat(1059760811u));
float fragment_unnamed_578 = asfloat(((fragment_unnamed_554 >= fragment_unnamed_571) ? 4294967295u : 0u) & 1065353216u);
precise float fragment_unnamed_582 = (-0.0f) - fragment_unnamed_571;
precise float fragment_unnamed_583 = (-0.0f) - fragment_unnamed_572;
precise float fragment_unnamed_584 = (-0.0f) - fragment_unnamed_573;
precise float fragment_unnamed_585 = (-0.0f) - fragment_unnamed_554;
precise float fragment_unnamed_586 = fragment_unnamed_582 + fragment_unnamed_554;
precise float fragment_unnamed_587 = fragment_unnamed_583 + fragment_unnamed_572;
precise float fragment_unnamed_588 = fragment_unnamed_584 + mad(fragment_unnamed_564, asfloat(1065353216u), asfloat(3212836864u));
precise float fragment_unnamed_589 = fragment_unnamed_585 + fragment_unnamed_571;
float fragment_unnamed_590 = mad(fragment_unnamed_578, fragment_unnamed_586, fragment_unnamed_571);
float fragment_unnamed_591 = mad(fragment_unnamed_578, fragment_unnamed_587, fragment_unnamed_572);
float fragment_unnamed_593 = mad(fragment_unnamed_578, fragment_unnamed_589, fragment_unnamed_554);
precise float fragment_unnamed_595 = (-0.0f) - min(fragment_unnamed_591, fragment_unnamed_593);
precise float fragment_unnamed_596 = fragment_unnamed_590 + fragment_unnamed_595;
precise float fragment_unnamed_600 = (-0.0f) - fragment_unnamed_591;
precise float fragment_unnamed_601 = fragment_unnamed_600 + fragment_unnamed_593;
precise float fragment_unnamed_602 = fragment_unnamed_601 / mad(fragment_unnamed_596, 6.0f, 9.9999997473787516355514526367188e-05f);
precise float fragment_unnamed_603 = fragment_unnamed_602 + mad(fragment_unnamed_578, fragment_unnamed_588, fragment_unnamed_573);
float fragment_unnamed_604 = abs(fragment_unnamed_603);
precise float fragment_unnamed_608 = fragment_unnamed_604 + fragment_uniform_buffer_0[111u].x;
precise float fragment_unnamed_629 = fragment_unnamed_608 + clamp(_CurveHueVsHue.SampleBias(S0, float2(fragment_unnamed_608, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_630 = fragment_unnamed_629 + (-0.5f);
precise float fragment_unnamed_631 = fragment_unnamed_629 + 0.5f;
precise float fragment_unnamed_632 = fragment_unnamed_629 + (-1.5f);
float fragment_unnamed_641 = asfloat((fragment_unnamed_630 < 0.0f) ? asuint(fragment_unnamed_631) : ((1.0f < fragment_unnamed_630) ? asuint(fragment_unnamed_632) : asuint(fragment_unnamed_630)));
precise float fragment_unnamed_642 = fragment_unnamed_641 + 1.0f;
precise float fragment_unnamed_643 = fragment_unnamed_641 + 0.666666686534881591796875f;
precise float fragment_unnamed_645 = fragment_unnamed_641 + 0.3333333432674407958984375f;
precise float fragment_unnamed_657 = abs(mad(frac(fragment_unnamed_642), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_658 = abs(mad(frac(fragment_unnamed_643), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_659 = abs(mad(frac(fragment_unnamed_645), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_663 = clamp(fragment_unnamed_657, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_664 = clamp(fragment_unnamed_658, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_665 = clamp(fragment_unnamed_659, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_666 = fragment_unnamed_590 + 9.9999997473787516355514526367188e-05f;
precise float fragment_unnamed_667 = fragment_unnamed_596 / fragment_unnamed_666;
float fragment_unnamed_668 = mad(fragment_unnamed_667, fragment_unnamed_663, 1.0f);
float fragment_unnamed_669 = mad(fragment_unnamed_667, fragment_unnamed_664, 1.0f);
float fragment_unnamed_670 = mad(fragment_unnamed_667, fragment_unnamed_665, 1.0f);
precise float fragment_unnamed_671 = fragment_unnamed_668 * fragment_unnamed_590;
precise float fragment_unnamed_672 = fragment_unnamed_669 * fragment_unnamed_590;
precise float fragment_unnamed_673 = fragment_unnamed_670 * fragment_unnamed_590;
float fragment_unnamed_674 = dot(float3(fragment_unnamed_671, fragment_unnamed_672, fragment_unnamed_673), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f));
precise float fragment_unnamed_677 = (-0.0f) - fragment_unnamed_674;
float fragment_unnamed_698 = clamp(_CurveHueVsSat.SampleBias(S0, float2(fragment_unnamed_604, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_699 = fragment_unnamed_698 + fragment_unnamed_698;
precise float fragment_unnamed_703 = dot(clamp(_CurveSatVsSat.SampleBias(S0, float2(fragment_unnamed_667, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f).xx, fragment_unnamed_699.xx) * clamp(_CurveLumVsSat.SampleBias(S0, float2(dot(float3(fragment_unnamed_554, fragment_unnamed_555, fragment_unnamed_556), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f)), asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_707 = dot(fragment_uniform_buffer_0[111u].y.xx, fragment_unnamed_703.xx);
float fragment_unnamed_710 = mad(fragment_unnamed_707, mad(fragment_unnamed_590, fragment_unnamed_668, fragment_unnamed_677), fragment_unnamed_674);
float fragment_unnamed_711 = mad(fragment_unnamed_707, mad(fragment_unnamed_590, fragment_unnamed_669, fragment_unnamed_677), fragment_unnamed_674);
float fragment_unnamed_712 = mad(fragment_unnamed_707, mad(fragment_unnamed_590, fragment_unnamed_670, fragment_unnamed_677), fragment_unnamed_674);
precise float fragment_unnamed_715 = max(fragment_unnamed_712, max(fragment_unnamed_711, fragment_unnamed_710)) + 1.0f;
precise float fragment_unnamed_716 = 1.0f / fragment_unnamed_715;
float fragment_unnamed_721 = asfloat(0u);
precise float fragment_unnamed_744 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_710, fragment_unnamed_716, 0.00390625f), fragment_unnamed_721), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
precise float fragment_unnamed_745 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_711, fragment_unnamed_716, 0.00390625f), fragment_unnamed_721), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
precise float fragment_unnamed_746 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_712, fragment_unnamed_716, 0.00390625f), fragment_unnamed_721), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
float fragment_unnamed_747 = asfloat(0u);
float fragment_unnamed_755 = clamp(_CurveRed.SampleBias(S0, float2(fragment_unnamed_744, fragment_unnamed_747), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_770 = clamp(_CurveBlue.SampleBias(S0, float2(fragment_unnamed_746, fragment_unnamed_747), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_771 = clamp(_CurveGreen.SampleBias(S0, float2(fragment_unnamed_745, fragment_unnamed_747), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_774 = (-0.0f) - max(fragment_unnamed_770, max(fragment_unnamed_771, fragment_unnamed_755));
precise float fragment_unnamed_775 = fragment_unnamed_774 + 1.0f;
precise float fragment_unnamed_776 = 1.0f / fragment_unnamed_775;
precise float fragment_unnamed_777 = fragment_unnamed_776 * fragment_unnamed_755;
precise float fragment_unnamed_778 = fragment_unnamed_776 * fragment_unnamed_771;
precise float fragment_unnamed_779 = fragment_unnamed_776 * fragment_unnamed_770;
fragment_output_0.x = max(fragment_unnamed_777, 0.0f);
fragment_output_0.y = max(fragment_unnamed_778, 0.0f);
fragment_output_0.z = max(fragment_unnamed_779, 0.0f);
fragment_output_0.w = 1.0f;
}
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
{
fragment_uniform_buffer_0[105] = float4(_Lut_Params[0], _Lut_Params[1], _Lut_Params[2], _Lut_Params[3]);
fragment_uniform_buffer_0[106] = float4(_ColorBalance[0], _ColorBalance[1], _ColorBalance[2], _ColorBalance[3]);
fragment_uniform_buffer_0[107] = float4(_ColorFilter[0], _ColorFilter[1], _ColorFilter[2], _ColorFilter[3]);
fragment_uniform_buffer_0[108] = float4(_ChannelMixerRed[0], _ChannelMixerRed[1], _ChannelMixerRed[2], _ChannelMixerRed[3]);
fragment_uniform_buffer_0[109] = float4(_ChannelMixerGreen[0], _ChannelMixerGreen[1], _ChannelMixerGreen[2], _ChannelMixerGreen[3]);
fragment_uniform_buffer_0[110] = float4(_ChannelMixerBlue[0], _ChannelMixerBlue[1], _ChannelMixerBlue[2], _ChannelMixerBlue[3]);
fragment_uniform_buffer_0[111] = float4(_HueSatCon[0], _HueSatCon[1], _HueSatCon[2], _HueSatCon[3]);
fragment_uniform_buffer_0[112] = float4(_Lift[0], _Lift[1], _Lift[2], _Lift[3]);
fragment_uniform_buffer_0[113] = float4(_Gamma[0], _Gamma[1], _Gamma[2], _Gamma[3]);
fragment_uniform_buffer_0[114] = float4(_Gain[0], _Gain[1], _Gain[2], _Gain[3]);
fragment_uniform_buffer_0[115] = float4(_Shadows[0], _Shadows[1], _Shadows[2], _Shadows[3]);
fragment_uniform_buffer_0[116] = float4(_Midtones[0], _Midtones[1], _Midtones[2], _Midtones[3]);
fragment_uniform_buffer_0[117] = float4(_Highlights[0], _Highlights[1], _Highlights[2], _Highlights[3]);
fragment_uniform_buffer_0[118] = float4(_ShaHiLimits[0], _ShaHiLimits[1], _ShaHiLimits[2], _ShaHiLimits[3]);
fragment_uniform_buffer_0[119] = float4(_SplitShadows[0], _SplitShadows[1], _SplitShadows[2], _SplitShadows[3]);
fragment_uniform_buffer_0[120] = float4(_SplitHighlights[0], _SplitHighlights[1], _SplitHighlights[2], _SplitHighlights[3]);
fragment_input_1 = stage_input.fragment_input_1;
frag_main();
Fragment_Stage_Output stage_output;
stage_output.fragment_output_0 = fragment_output_0;
return stage_output;
}
#endif // STEREO_INSTANCING_ON
#endif // !_TONEMAP_ACES
#endif // !_TONEMAP_NEUTRAL
#ifdef _TONEMAP_ACES
#ifndef STEREO_INSTANCING_ON
#ifndef _TONEMAP_NEUTRAL
#define ANY_SHADER_VARIANT_ACTIVE
float4 _Lut_Params;
float4 _ColorBalance;
float4 _ColorFilter;
float4 _ChannelMixerRed;
float4 _ChannelMixerGreen;
float4 _ChannelMixerBlue;
float4 _HueSatCon;
float4 _Lift;
float4 _Gamma;
float4 _Gain;
float4 _Shadows;
float4 _Midtones;
float4 _Highlights;
float4 _ShaHiLimits;
float4 _SplitShadows;
float4 _SplitHighlights;
static float4 fragment_uniform_buffer_0[152];
Texture2D<float4> _CurveMaster;
Texture2D<float4> _CurveRed;
Texture2D<float4> _CurveGreen;
Texture2D<float4> _CurveBlue;
Texture2D<float4> _CurveHueVsHue;
Texture2D<float4> _CurveHueVsSat;
Texture2D<float4> _CurveSatVsSat;
Texture2D<float4> _CurveLumVsSat;
SamplerState S0;
static float2 fragment_input_1;
static float4 fragment_output_0;
struct Fragment_Stage_Input
{
float2 fragment_input_1 : TEXCOORD; // TEXCOORD
};
struct Fragment_Stage_Output
{
float4 fragment_output_0 : SV_Target0;
};
void frag_main()
{
precise float fragment_unnamed_51 = fragment_input_1.x * fragment_uniform_buffer_0[136u].x;
float fragment_unnamed_53 = floor(fragment_unnamed_51);
precise float fragment_unnamed_59 = (-0.0f) - fragment_unnamed_53;
precise float fragment_unnamed_65 = fragment_unnamed_53 * fragment_uniform_buffer_0[136u].z;
precise float fragment_unnamed_69 = fragment_unnamed_65 * fragment_uniform_buffer_0[136u].w;
precise float fragment_unnamed_76 = (-0.0f) - fragment_uniform_buffer_0[136u].z;
precise float fragment_unnamed_77 = mad(fragment_input_1.x, fragment_uniform_buffer_0[136u].x, fragment_unnamed_59) + fragment_unnamed_76;
precise float fragment_unnamed_78 = fragment_input_1.y + fragment_unnamed_76;
float fragment_unnamed_84 = asfloat(asuint(fragment_uniform_buffer_0[136u]).w);
precise float fragment_unnamed_91 = mad(fragment_unnamed_77, fragment_unnamed_84, -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_93 = mad(fragment_unnamed_78, fragment_unnamed_84, -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_94 = mad(fragment_unnamed_69, asfloat(1073741824u), -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_98 = exp2(fragment_unnamed_91) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_100 = exp2(fragment_unnamed_93) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_101 = exp2(fragment_unnamed_94) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_102 = fragment_unnamed_98 * 0.17999999225139617919921875f;
precise float fragment_unnamed_104 = fragment_unnamed_100 * 0.17999999225139617919921875f;
precise float fragment_unnamed_105 = fragment_unnamed_101 * 0.17999999225139617919921875f;
precise float fragment_unnamed_131 = dot(float3(0.390404999256134033203125f, 0.549941003322601318359375f, 0.008926319889724254608154296875f), float3(fragment_unnamed_102, fragment_unnamed_104, fragment_unnamed_105)) * fragment_uniform_buffer_0[137u].x;
precise float fragment_unnamed_132 = dot(float3(0.070841602981090545654296875f, 0.963172018527984619140625f, 0.001357750035822391510009765625f), float3(fragment_unnamed_102, fragment_unnamed_104, fragment_unnamed_105)) * fragment_uniform_buffer_0[137u].y;
precise float fragment_unnamed_133 = dot(float3(0.02310819923877716064453125f, 0.1280210018157958984375f, 0.936245024204254150390625f), float3(fragment_unnamed_102, fragment_unnamed_104, fragment_unnamed_105)) * fragment_uniform_buffer_0[137u].z;
float fragment_unnamed_134 = dot(float3(2.85846996307373046875f, -1.62879002094268798828125f, -0.0248910002410411834716796875f), float3(fragment_unnamed_131, fragment_unnamed_132, fragment_unnamed_133));
float fragment_unnamed_140 = dot(float3(-0.21018199622631072998046875f, 1.1582000255584716796875f, 0.0003242809907533228397369384765625f), float3(fragment_unnamed_131, fragment_unnamed_132, fragment_unnamed_133));
float fragment_unnamed_146 = dot(float3(-0.0418119989335536956787109375f, -0.118169002234935760498046875f, 1.0686700344085693359375f), float3(fragment_unnamed_131, fragment_unnamed_132, fragment_unnamed_133));
float fragment_unnamed_174 = min(max(dot(float3(0.4397009909152984619140625f, 0.3829779922962188720703125f, 0.1773349940776824951171875f), float3(fragment_unnamed_134, fragment_unnamed_140, fragment_unnamed_146)), 0.0f), 65504.0f);
float fragment_unnamed_176 = min(max(dot(float3(0.08979229629039764404296875f, 0.813422977924346923828125f, 0.09676159918308258056640625f), float3(fragment_unnamed_134, fragment_unnamed_140, fragment_unnamed_146)), 0.0f), 65504.0f);
float fragment_unnamed_177 = min(max(dot(float3(0.01754399947822093963623046875f, 0.11154399812221527099609375f, 0.870703995227813720703125f), float3(fragment_unnamed_134, fragment_unnamed_140, fragment_unnamed_146)), 0.0f), 65504.0f);
precise float fragment_unnamed_186 = log2(mad(fragment_unnamed_174, 0.5f, 1.5258779967552982270717620849609e-05f)) + 9.72000026702880859375f;
precise float fragment_unnamed_188 = log2(mad(fragment_unnamed_176, 0.5f, 1.5258779967552982270717620849609e-05f)) + 9.72000026702880859375f;
precise float fragment_unnamed_189 = log2(mad(fragment_unnamed_177, 0.5f, 1.5258779967552982270717620849609e-05f)) + 9.72000026702880859375f;
precise float fragment_unnamed_190 = fragment_unnamed_186 * 0.057077623903751373291015625f;
precise float fragment_unnamed_192 = fragment_unnamed_188 * 0.057077623903751373291015625f;
precise float fragment_unnamed_193 = fragment_unnamed_189 * 0.057077623903751373291015625f;
precise float fragment_unnamed_202 = log2(fragment_unnamed_174) + 9.72000026702880859375f;
precise float fragment_unnamed_203 = log2(fragment_unnamed_176) + 9.72000026702880859375f;
precise float fragment_unnamed_204 = log2(fragment_unnamed_177) + 9.72000026702880859375f;
precise float fragment_unnamed_205 = fragment_unnamed_202 * 0.057077623903751373291015625f;
precise float fragment_unnamed_206 = fragment_unnamed_203 * 0.057077623903751373291015625f;
precise float fragment_unnamed_207 = fragment_unnamed_204 * 0.057077623903751373291015625f;
precise float fragment_unnamed_220 = asfloat((fragment_unnamed_174 < 3.0517570849042385816574096679688e-05f) ? asuint(fragment_unnamed_190) : asuint(fragment_unnamed_205)) + (-0.41358840465545654296875f);
precise float fragment_unnamed_222 = asfloat((fragment_unnamed_176 < 3.0517570849042385816574096679688e-05f) ? asuint(fragment_unnamed_192) : asuint(fragment_unnamed_206)) + (-0.41358840465545654296875f);
precise float fragment_unnamed_223 = asfloat((fragment_unnamed_177 < 3.0517570849042385816574096679688e-05f) ? asuint(fragment_unnamed_193) : asuint(fragment_unnamed_207)) + (-0.41358840465545654296875f);
float fragment_unnamed_228 = mad(fragment_unnamed_220, fragment_uniform_buffer_0[142u].z, 0.41358840465545654296875f);
float fragment_unnamed_230 = mad(fragment_unnamed_222, fragment_uniform_buffer_0[142u].z, 0.41358840465545654296875f);
float fragment_unnamed_231 = mad(fragment_unnamed_223, fragment_uniform_buffer_0[142u].z, 0.41358840465545654296875f);
float fragment_unnamed_245 = exp2(mad(fragment_unnamed_228, 17.520000457763671875f, -9.72000026702880859375f));
float fragment_unnamed_246 = exp2(mad(fragment_unnamed_230, 17.520000457763671875f, -9.72000026702880859375f));
float fragment_unnamed_247 = exp2(mad(fragment_unnamed_231, 17.520000457763671875f, -9.72000026702880859375f));
precise float fragment_unnamed_253 = fragment_unnamed_245 + (-1.52587890625e-05f);
precise float fragment_unnamed_255 = fragment_unnamed_246 + (-1.52587890625e-05f);
precise float fragment_unnamed_256 = fragment_unnamed_247 + (-1.52587890625e-05f);
precise float fragment_unnamed_259 = fragment_unnamed_253 + fragment_unnamed_253;
precise float fragment_unnamed_260 = fragment_unnamed_255 + fragment_unnamed_255;
precise float fragment_unnamed_261 = fragment_unnamed_256 + fragment_unnamed_256;
float fragment_unnamed_265 = asfloat((fragment_unnamed_228 < (-0.3013698756694793701171875f)) ? asuint(fragment_unnamed_259) : ((fragment_unnamed_228 < 1.4679963588714599609375f) ? asuint(fragment_unnamed_245) : 1199562752u));
float fragment_unnamed_267 = asfloat((fragment_unnamed_230 < (-0.3013698756694793701171875f)) ? asuint(fragment_unnamed_260) : ((fragment_unnamed_230 < 1.4679963588714599609375f) ? asuint(fragment_unnamed_246) : 1199562752u));
float fragment_unnamed_270 = asfloat((fragment_unnamed_231 < (-0.3013698756694793701171875f)) ? asuint(fragment_unnamed_261) : ((fragment_unnamed_231 < 1.4679963588714599609375f) ? asuint(fragment_unnamed_247) : 1199562752u));
precise float fragment_unnamed_295 = dot(float3(1.45143926143646240234375f, -0.236510753631591796875f, -0.214928567409515380859375f), float3(fragment_unnamed_265, fragment_unnamed_267, fragment_unnamed_270)) * fragment_uniform_buffer_0[138u].x;
precise float fragment_unnamed_296 = dot(float3(-0.07655377686023712158203125f, 1.1762297153472900390625f, -0.0996759235858917236328125f), float3(fragment_unnamed_265, fragment_unnamed_267, fragment_unnamed_270)) * fragment_uniform_buffer_0[138u].y;
precise float fragment_unnamed_297 = dot(float3(0.0083161480724811553955078125f, -0.0060324496589601039886474609375f, 0.99771630764007568359375f), float3(fragment_unnamed_265, fragment_unnamed_267, fragment_unnamed_270)) * fragment_uniform_buffer_0[138u].z;
precise float fragment_unnamed_304 = log2(max(fragment_unnamed_295, 0.0f)) * 0.4545454680919647216796875f;
precise float fragment_unnamed_306 = log2(max(fragment_unnamed_296, 0.0f)) * 0.4545454680919647216796875f;
precise float fragment_unnamed_307 = log2(max(fragment_unnamed_297, 0.0f)) * 0.4545454680919647216796875f;
float fragment_unnamed_308 = exp2(fragment_unnamed_304);
float fragment_unnamed_309 = exp2(fragment_unnamed_306);
float fragment_unnamed_310 = exp2(fragment_unnamed_307);
precise float fragment_unnamed_311 = fragment_unnamed_308 + fragment_unnamed_308;
precise float fragment_unnamed_312 = fragment_unnamed_309 + fragment_unnamed_309;
precise float fragment_unnamed_313 = fragment_unnamed_310 + fragment_unnamed_310;
precise float fragment_unnamed_314 = fragment_unnamed_308 * fragment_unnamed_308;
precise float fragment_unnamed_315 = fragment_unnamed_309 * fragment_unnamed_309;
precise float fragment_unnamed_316 = fragment_unnamed_310 * fragment_unnamed_310;
precise float fragment_unnamed_334 = dot(float3(min(fragment_unnamed_308, 1.0f), min(fragment_unnamed_309, 1.0f), min(fragment_unnamed_310, 1.0f)), float3(0.2722289860248565673828125f, 0.674081981182098388671875f, 0.0536894984543323516845703125f)) + fragment_uniform_buffer_0[150u].w;
float fragment_unnamed_335 = clamp(fragment_unnamed_334, 0.0f, 1.0f);
precise float fragment_unnamed_336 = (-0.0f) - fragment_unnamed_335;
precise float fragment_unnamed_337 = fragment_unnamed_336 + 1.0f;
precise float fragment_unnamed_343 = fragment_uniform_buffer_0[150u].x + (-0.5f);
precise float fragment_unnamed_345 = fragment_uniform_buffer_0[150u].y + (-0.5f);
precise float fragment_unnamed_346 = fragment_uniform_buffer_0[150u].z + (-0.5f);
float fragment_unnamed_347 = mad(fragment_unnamed_337, fragment_unnamed_343, 0.5f);
float fragment_unnamed_348 = mad(fragment_unnamed_337, fragment_unnamed_345, 0.5f);
float fragment_unnamed_349 = mad(fragment_unnamed_337, fragment_unnamed_346, 0.5f);
precise float fragment_unnamed_350 = (-0.0f) - fragment_unnamed_347;
precise float fragment_unnamed_351 = (-0.0f) - fragment_unnamed_348;
precise float fragment_unnamed_352 = (-0.0f) - fragment_unnamed_349;
precise float fragment_unnamed_357 = fragment_unnamed_314 * mad(fragment_unnamed_350, 2.0f, 1.0f);
precise float fragment_unnamed_358 = fragment_unnamed_315 * mad(fragment_unnamed_351, 2.0f, 1.0f);
precise float fragment_unnamed_359 = fragment_unnamed_316 * mad(fragment_unnamed_352, 2.0f, 1.0f);
bool fragment_unnamed_363 = fragment_unnamed_347 >= 0.5f;
bool fragment_unnamed_364 = fragment_unnamed_348 >= 0.5f;
bool fragment_unnamed_365 = fragment_unnamed_349 >= 0.5f;
precise float fragment_unnamed_381 = mad(fragment_unnamed_311, fragment_unnamed_347, fragment_unnamed_357) * asfloat(fragment_unnamed_363 ? 0u : 1065353216u);
precise float fragment_unnamed_382 = mad(fragment_unnamed_312, fragment_unnamed_348, fragment_unnamed_358) * asfloat(fragment_unnamed_364 ? 0u : 1065353216u);
precise float fragment_unnamed_383 = mad(fragment_unnamed_313, fragment_unnamed_349, fragment_unnamed_359) * asfloat(fragment_unnamed_365 ? 0u : 1065353216u);
precise float fragment_unnamed_384 = (-0.0f) - fragment_unnamed_347;
precise float fragment_unnamed_385 = (-0.0f) - fragment_unnamed_348;
precise float fragment_unnamed_386 = (-0.0f) - fragment_unnamed_349;
precise float fragment_unnamed_387 = fragment_unnamed_384 + 1.0f;
precise float fragment_unnamed_388 = fragment_unnamed_385 + 1.0f;
precise float fragment_unnamed_389 = fragment_unnamed_386 + 1.0f;
precise float fragment_unnamed_394 = fragment_unnamed_311 * fragment_unnamed_387;
precise float fragment_unnamed_395 = fragment_unnamed_312 * fragment_unnamed_388;
precise float fragment_unnamed_396 = fragment_unnamed_313 * fragment_unnamed_389;
float fragment_unnamed_402 = mad(mad(sqrt(fragment_unnamed_308), mad(fragment_unnamed_347, 2.0f, -1.0f), fragment_unnamed_394), asfloat((fragment_unnamed_363 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_381);
float fragment_unnamed_403 = mad(mad(sqrt(fragment_unnamed_309), mad(fragment_unnamed_348, 2.0f, -1.0f), fragment_unnamed_395), asfloat((fragment_unnamed_364 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_382);
float fragment_unnamed_404 = mad(mad(sqrt(fragment_unnamed_310), mad(fragment_unnamed_349, 2.0f, -1.0f), fragment_unnamed_396), asfloat((fragment_unnamed_365 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_383);
precise float fragment_unnamed_405 = fragment_unnamed_402 + fragment_unnamed_402;
precise float fragment_unnamed_406 = fragment_unnamed_403 + fragment_unnamed_403;
precise float fragment_unnamed_407 = fragment_unnamed_404 + fragment_unnamed_404;
precise float fragment_unnamed_408 = fragment_unnamed_402 * fragment_unnamed_402;
precise float fragment_unnamed_409 = fragment_unnamed_403 * fragment_unnamed_403;
precise float fragment_unnamed_410 = fragment_unnamed_404 * fragment_unnamed_404;
precise float fragment_unnamed_420 = fragment_uniform_buffer_0[151u].x + (-0.5f);
precise float fragment_unnamed_421 = fragment_uniform_buffer_0[151u].y + (-0.5f);
precise float fragment_unnamed_422 = fragment_uniform_buffer_0[151u].z + (-0.5f);
float fragment_unnamed_423 = mad(fragment_unnamed_335, fragment_unnamed_420, 0.5f);
float fragment_unnamed_424 = mad(fragment_unnamed_335, fragment_unnamed_421, 0.5f);
float fragment_unnamed_425 = mad(fragment_unnamed_335, fragment_unnamed_422, 0.5f);
precise float fragment_unnamed_426 = (-0.0f) - fragment_unnamed_423;
precise float fragment_unnamed_427 = (-0.0f) - fragment_unnamed_424;
precise float fragment_unnamed_428 = (-0.0f) - fragment_unnamed_425;
precise float fragment_unnamed_432 = fragment_unnamed_408 * mad(fragment_unnamed_426, 2.0f, 1.0f);
precise float fragment_unnamed_433 = fragment_unnamed_409 * mad(fragment_unnamed_427, 2.0f, 1.0f);
precise float fragment_unnamed_434 = fragment_unnamed_410 * mad(fragment_unnamed_428, 2.0f, 1.0f);
bool fragment_unnamed_438 = fragment_unnamed_423 >= 0.5f;
bool fragment_unnamed_439 = fragment_unnamed_424 >= 0.5f;
bool fragment_unnamed_440 = fragment_unnamed_425 >= 0.5f;
precise float fragment_unnamed_454 = mad(fragment_unnamed_405, fragment_unnamed_423, fragment_unnamed_432) * asfloat(fragment_unnamed_438 ? 0u : 1065353216u);
precise float fragment_unnamed_455 = mad(fragment_unnamed_406, fragment_unnamed_424, fragment_unnamed_433) * asfloat(fragment_unnamed_439 ? 0u : 1065353216u);
precise float fragment_unnamed_456 = mad(fragment_unnamed_407, fragment_unnamed_425, fragment_unnamed_434) * asfloat(fragment_unnamed_440 ? 0u : 1065353216u);
precise float fragment_unnamed_457 = (-0.0f) - fragment_unnamed_423;
precise float fragment_unnamed_458 = (-0.0f) - fragment_unnamed_424;
precise float fragment_unnamed_459 = (-0.0f) - fragment_unnamed_425;
precise float fragment_unnamed_460 = fragment_unnamed_457 + 1.0f;
precise float fragment_unnamed_461 = fragment_unnamed_458 + 1.0f;
precise float fragment_unnamed_462 = fragment_unnamed_459 + 1.0f;
precise float fragment_unnamed_466 = fragment_unnamed_405 * fragment_unnamed_460;
precise float fragment_unnamed_467 = fragment_unnamed_406 * fragment_unnamed_461;
precise float fragment_unnamed_468 = fragment_unnamed_407 * fragment_unnamed_462;
precise float fragment_unnamed_483 = log2(abs(mad(mad(sqrt(fragment_unnamed_402), mad(fragment_unnamed_423, 2.0f, -1.0f), fragment_unnamed_466), asfloat((fragment_unnamed_438 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_454))) * 2.2000000476837158203125f;
precise float fragment_unnamed_485 = log2(abs(mad(mad(sqrt(fragment_unnamed_403), mad(fragment_unnamed_424, 2.0f, -1.0f), fragment_unnamed_467), asfloat((fragment_unnamed_439 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_455))) * 2.2000000476837158203125f;
precise float fragment_unnamed_486 = log2(abs(mad(mad(sqrt(fragment_unnamed_404), mad(fragment_unnamed_425, 2.0f, -1.0f), fragment_unnamed_468), asfloat((fragment_unnamed_440 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_456))) * 2.2000000476837158203125f;
float fragment_unnamed_487 = exp2(fragment_unnamed_483);
float fragment_unnamed_488 = exp2(fragment_unnamed_485);
float fragment_unnamed_489 = exp2(fragment_unnamed_486);
float fragment_unnamed_496 = dot(float3(fragment_unnamed_487, fragment_unnamed_488, fragment_unnamed_489), float3(fragment_uniform_buffer_0[139u].xyz));
float fragment_unnamed_505 = dot(float3(fragment_unnamed_487, fragment_unnamed_488, fragment_unnamed_489), float3(fragment_uniform_buffer_0[140u].xyz));
float fragment_unnamed_514 = dot(float3(fragment_unnamed_487, fragment_unnamed_488, fragment_unnamed_489), float3(fragment_uniform_buffer_0[141u].xyz));
precise float fragment_unnamed_523 = fragment_unnamed_496 * fragment_uniform_buffer_0[147u].x;
precise float fragment_unnamed_524 = fragment_unnamed_505 * fragment_uniform_buffer_0[147u].y;
precise float fragment_unnamed_525 = fragment_unnamed_514 * fragment_uniform_buffer_0[147u].z;
float fragment_unnamed_526 = dot(float3(fragment_unnamed_496, fragment_unnamed_505, fragment_unnamed_514), float3(0.2722289860248565673828125f, 0.674081981182098388671875f, 0.0536894984543323516845703125f));
precise float fragment_unnamed_533 = (-0.0f) - fragment_uniform_buffer_0[149u].x;
precise float fragment_unnamed_535 = (-0.0f) - fragment_uniform_buffer_0[149u].z;
precise float fragment_unnamed_536 = fragment_unnamed_526 + fragment_unnamed_533;
precise float fragment_unnamed_537 = fragment_unnamed_526 + fragment_unnamed_535;
precise float fragment_unnamed_541 = (-0.0f) - fragment_uniform_buffer_0[149u].x;
precise float fragment_unnamed_543 = (-0.0f) - fragment_uniform_buffer_0[149u].z;
precise float fragment_unnamed_548 = fragment_unnamed_541 + fragment_uniform_buffer_0[149u].y;
precise float fragment_unnamed_549 = fragment_unnamed_543 + fragment_uniform_buffer_0[149u].w;
precise float fragment_unnamed_550 = 1.0f / fragment_unnamed_548;
precise float fragment_unnamed_551 = 1.0f / fragment_unnamed_549;
precise float fragment_unnamed_552 = fragment_unnamed_550 * fragment_unnamed_536;
precise float fragment_unnamed_553 = fragment_unnamed_551 * fragment_unnamed_537;
float fragment_unnamed_554 = clamp(fragment_unnamed_552, 0.0f, 1.0f);
float fragment_unnamed_555 = clamp(fragment_unnamed_553, 0.0f, 1.0f);
float fragment_unnamed_559 = mad(fragment_unnamed_555, -2.0f, 3.0f);
precise float fragment_unnamed_560 = fragment_unnamed_554 * fragment_unnamed_554;
precise float fragment_unnamed_561 = fragment_unnamed_555 * fragment_unnamed_555;
precise float fragment_unnamed_562 = (-0.0f) - mad(fragment_unnamed_554, -2.0f, 3.0f);
float fragment_unnamed_563 = mad(fragment_unnamed_562, fragment_unnamed_560, 1.0f);
precise float fragment_unnamed_564 = (-0.0f) - fragment_unnamed_563;
precise float fragment_unnamed_565 = fragment_unnamed_564 + 1.0f;
precise float fragment_unnamed_566 = (-0.0f) - fragment_unnamed_559;
float fragment_unnamed_567 = mad(fragment_unnamed_566, fragment_unnamed_561, fragment_unnamed_565);
precise float fragment_unnamed_568 = fragment_unnamed_561 * fragment_unnamed_559;
precise float fragment_unnamed_569 = fragment_unnamed_523 * fragment_unnamed_567;
precise float fragment_unnamed_570 = fragment_unnamed_524 * fragment_unnamed_567;
precise float fragment_unnamed_571 = fragment_unnamed_525 * fragment_unnamed_567;
precise float fragment_unnamed_578 = fragment_unnamed_496 * fragment_uniform_buffer_0[146u].x;
precise float fragment_unnamed_579 = fragment_unnamed_505 * fragment_uniform_buffer_0[146u].y;
precise float fragment_unnamed_580 = fragment_unnamed_514 * fragment_uniform_buffer_0[146u].z;
precise float fragment_unnamed_587 = fragment_unnamed_496 * fragment_uniform_buffer_0[148u].x;
precise float fragment_unnamed_588 = fragment_unnamed_505 * fragment_uniform_buffer_0[148u].y;
precise float fragment_unnamed_589 = fragment_unnamed_514 * fragment_uniform_buffer_0[148u].z;
float fragment_unnamed_608 = mad(mad(fragment_unnamed_587, fragment_unnamed_568, mad(fragment_unnamed_578, fragment_unnamed_563, fragment_unnamed_569)), fragment_uniform_buffer_0[145u].x, fragment_uniform_buffer_0[143u].x);
float fragment_unnamed_609 = mad(mad(fragment_unnamed_588, fragment_unnamed_568, mad(fragment_unnamed_579, fragment_unnamed_563, fragment_unnamed_570)), fragment_uniform_buffer_0[145u].y, fragment_uniform_buffer_0[143u].y);
float fragment_unnamed_610 = mad(mad(fragment_unnamed_589, fragment_unnamed_568, mad(fragment_unnamed_580, fragment_unnamed_563, fragment_unnamed_571)), fragment_uniform_buffer_0[145u].z, fragment_uniform_buffer_0[143u].z);
precise float fragment_unnamed_635 = log2(abs(fragment_unnamed_608)) * fragment_uniform_buffer_0[144u].x;
precise float fragment_unnamed_636 = log2(abs(fragment_unnamed_609)) * fragment_uniform_buffer_0[144u].y;
precise float fragment_unnamed_637 = log2(abs(fragment_unnamed_610)) * fragment_uniform_buffer_0[144u].z;
float fragment_unnamed_639 = exp2(fragment_unnamed_636);
float fragment_unnamed_640 = exp2(fragment_unnamed_637);
float fragment_unnamed_648 = float(int((-((0.0f < fragment_unnamed_609) ? 4294967295u : 0u)) + ((fragment_unnamed_609 < 0.0f) ? 4294967295u : 0u)));
float fragment_unnamed_649 = float(int((-((0.0f < fragment_unnamed_610) ? 4294967295u : 0u)) + ((fragment_unnamed_610 < 0.0f) ? 4294967295u : 0u)));
precise float fragment_unnamed_650 = exp2(fragment_unnamed_635) * float(int((-((0.0f < fragment_unnamed_608) ? 4294967295u : 0u)) + ((fragment_unnamed_608 < 0.0f) ? 4294967295u : 0u)));
precise float fragment_unnamed_651 = fragment_unnamed_639 * fragment_unnamed_648;
precise float fragment_unnamed_652 = fragment_unnamed_640 * fragment_unnamed_649;
precise float fragment_unnamed_653 = (-0.0f) - fragment_unnamed_652;
precise float fragment_unnamed_654 = (-0.0f) - fragment_unnamed_651;
float fragment_unnamed_660 = asfloat(((fragment_unnamed_651 >= fragment_unnamed_652) ? 4294967295u : 0u) & 1065353216u);
float fragment_unnamed_667 = mad(fragment_unnamed_660, mad(fragment_unnamed_648, fragment_unnamed_639, fragment_unnamed_653), fragment_unnamed_652);
float fragment_unnamed_668 = mad(fragment_unnamed_660, mad(fragment_unnamed_649, fragment_unnamed_640, fragment_unnamed_654), fragment_unnamed_651);
float fragment_unnamed_669 = mad(fragment_unnamed_660, asfloat(3212836864u), asfloat(1059760811u));
float fragment_unnamed_674 = asfloat(((fragment_unnamed_650 >= fragment_unnamed_667) ? 4294967295u : 0u) & 1065353216u);
precise float fragment_unnamed_681 = (-0.0f) - fragment_unnamed_667;
precise float fragment_unnamed_682 = (-0.0f) - fragment_unnamed_668;
precise float fragment_unnamed_683 = (-0.0f) - fragment_unnamed_669;
precise float fragment_unnamed_684 = (-0.0f) - fragment_unnamed_650;
precise float fragment_unnamed_685 = fragment_unnamed_681 + fragment_unnamed_650;
precise float fragment_unnamed_686 = fragment_unnamed_682 + fragment_unnamed_668;
precise float fragment_unnamed_687 = fragment_unnamed_683 + mad(fragment_unnamed_660, asfloat(1065353216u), asfloat(3212836864u));
precise float fragment_unnamed_688 = fragment_unnamed_684 + fragment_unnamed_667;
float fragment_unnamed_689 = mad(fragment_unnamed_674, fragment_unnamed_685, fragment_unnamed_667);
float fragment_unnamed_690 = mad(fragment_unnamed_674, fragment_unnamed_686, fragment_unnamed_668);
float fragment_unnamed_692 = mad(fragment_unnamed_674, fragment_unnamed_688, fragment_unnamed_650);
precise float fragment_unnamed_694 = (-0.0f) - min(fragment_unnamed_690, fragment_unnamed_692);
precise float fragment_unnamed_695 = fragment_unnamed_689 + fragment_unnamed_694;
precise float fragment_unnamed_699 = (-0.0f) - fragment_unnamed_690;
precise float fragment_unnamed_700 = fragment_unnamed_699 + fragment_unnamed_692;
precise float fragment_unnamed_701 = fragment_unnamed_700 / mad(fragment_unnamed_695, 6.0f, 9.9999997473787516355514526367188e-05f);
precise float fragment_unnamed_702 = fragment_unnamed_701 + mad(fragment_unnamed_674, fragment_unnamed_687, fragment_unnamed_669);
float fragment_unnamed_703 = abs(fragment_unnamed_702);
precise float fragment_unnamed_707 = fragment_unnamed_703 + fragment_uniform_buffer_0[142u].x;
precise float fragment_unnamed_728 = fragment_unnamed_707 + clamp(_CurveHueVsHue.SampleBias(S0, float2(fragment_unnamed_707, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_729 = fragment_unnamed_728 + (-0.5f);
precise float fragment_unnamed_730 = fragment_unnamed_728 + 0.5f;
precise float fragment_unnamed_731 = fragment_unnamed_728 + (-1.5f);
float fragment_unnamed_740 = asfloat((fragment_unnamed_729 < 0.0f) ? asuint(fragment_unnamed_730) : ((1.0f < fragment_unnamed_729) ? asuint(fragment_unnamed_731) : asuint(fragment_unnamed_729)));
precise float fragment_unnamed_741 = fragment_unnamed_740 + 1.0f;
precise float fragment_unnamed_742 = fragment_unnamed_740 + 0.666666686534881591796875f;
precise float fragment_unnamed_744 = fragment_unnamed_740 + 0.3333333432674407958984375f;
precise float fragment_unnamed_756 = abs(mad(frac(fragment_unnamed_741), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_757 = abs(mad(frac(fragment_unnamed_742), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_758 = abs(mad(frac(fragment_unnamed_744), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_762 = clamp(fragment_unnamed_756, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_763 = clamp(fragment_unnamed_757, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_764 = clamp(fragment_unnamed_758, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_765 = fragment_unnamed_689 + 9.9999997473787516355514526367188e-05f;
precise float fragment_unnamed_766 = fragment_unnamed_695 / fragment_unnamed_765;
float fragment_unnamed_767 = mad(fragment_unnamed_766, fragment_unnamed_762, 1.0f);
float fragment_unnamed_768 = mad(fragment_unnamed_766, fragment_unnamed_763, 1.0f);
float fragment_unnamed_769 = mad(fragment_unnamed_766, fragment_unnamed_764, 1.0f);
precise float fragment_unnamed_770 = fragment_unnamed_767 * fragment_unnamed_689;
precise float fragment_unnamed_771 = fragment_unnamed_768 * fragment_unnamed_689;
precise float fragment_unnamed_772 = fragment_unnamed_769 * fragment_unnamed_689;
float fragment_unnamed_773 = dot(float3(fragment_unnamed_770, fragment_unnamed_771, fragment_unnamed_772), float3(0.2722289860248565673828125f, 0.674081981182098388671875f, 0.0536894984543323516845703125f));
precise float fragment_unnamed_776 = (-0.0f) - fragment_unnamed_773;
float fragment_unnamed_797 = clamp(_CurveHueVsSat.SampleBias(S0, float2(fragment_unnamed_703, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_798 = fragment_unnamed_797 + fragment_unnamed_797;
precise float fragment_unnamed_802 = dot(clamp(_CurveSatVsSat.SampleBias(S0, float2(fragment_unnamed_766, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f).xx, fragment_unnamed_798.xx) * clamp(_CurveLumVsSat.SampleBias(S0, float2(dot(float3(fragment_unnamed_650, fragment_unnamed_651, fragment_unnamed_652), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f)), asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_806 = dot(fragment_uniform_buffer_0[142u].y.xx, fragment_unnamed_802.xx);
float fragment_unnamed_809 = mad(fragment_unnamed_806, mad(fragment_unnamed_689, fragment_unnamed_767, fragment_unnamed_776), fragment_unnamed_773);
float fragment_unnamed_810 = mad(fragment_unnamed_806, mad(fragment_unnamed_689, fragment_unnamed_768, fragment_unnamed_776), fragment_unnamed_773);
float fragment_unnamed_811 = mad(fragment_unnamed_806, mad(fragment_unnamed_689, fragment_unnamed_769, fragment_unnamed_776), fragment_unnamed_773);
precise float fragment_unnamed_814 = max(fragment_unnamed_811, max(fragment_unnamed_810, fragment_unnamed_809)) + 1.0f;
precise float fragment_unnamed_815 = 1.0f / fragment_unnamed_814;
float fragment_unnamed_820 = asfloat(0u);
precise float fragment_unnamed_843 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_809, fragment_unnamed_815, 0.00390625f), fragment_unnamed_820), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
precise float fragment_unnamed_844 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_810, fragment_unnamed_815, 0.00390625f), fragment_unnamed_820), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
precise float fragment_unnamed_845 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_811, fragment_unnamed_815, 0.00390625f), fragment_unnamed_820), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
float fragment_unnamed_846 = asfloat(0u);
float fragment_unnamed_854 = clamp(_CurveRed.SampleBias(S0, float2(fragment_unnamed_843, fragment_unnamed_846), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_869 = clamp(_CurveBlue.SampleBias(S0, float2(fragment_unnamed_845, fragment_unnamed_846), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_870 = clamp(_CurveGreen.SampleBias(S0, float2(fragment_unnamed_844, fragment_unnamed_846), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_873 = (-0.0f) - max(fragment_unnamed_869, max(fragment_unnamed_870, fragment_unnamed_854));
precise float fragment_unnamed_874 = fragment_unnamed_873 + 1.0f;
precise float fragment_unnamed_875 = 1.0f / fragment_unnamed_874;
precise float fragment_unnamed_876 = fragment_unnamed_875 * fragment_unnamed_854;
precise float fragment_unnamed_877 = fragment_unnamed_875 * fragment_unnamed_870;
precise float fragment_unnamed_878 = fragment_unnamed_875 * fragment_unnamed_869;
float fragment_unnamed_879 = max(fragment_unnamed_876, 0.0f);
float fragment_unnamed_880 = max(fragment_unnamed_877, 0.0f);
float fragment_unnamed_881 = max(fragment_unnamed_878, 0.0f);
float fragment_unnamed_882 = dot(float3(0.695452213287353515625f, 0.140678703784942626953125f, 0.16386906802654266357421875f), float3(fragment_unnamed_879, fragment_unnamed_880, fragment_unnamed_881));
float fragment_unnamed_888 = dot(float3(0.0447945632040500640869140625f, 0.859671115875244140625f, 0.095534317195415496826171875f), float3(fragment_unnamed_879, fragment_unnamed_880, fragment_unnamed_881));
float fragment_unnamed_894 = dot(float3(-0.0055258828215301036834716796875f, 0.0040252101607620716094970703125f, 1.00150072574615478515625f), float3(fragment_unnamed_879, fragment_unnamed_880, fragment_unnamed_881));
precise float fragment_unnamed_900 = (-0.0f) - fragment_unnamed_888;
precise float fragment_unnamed_901 = (-0.0f) - fragment_unnamed_882;
precise float fragment_unnamed_902 = (-0.0f) - fragment_unnamed_894;
precise float fragment_unnamed_903 = fragment_unnamed_900 + fragment_unnamed_894;
precise float fragment_unnamed_904 = fragment_unnamed_901 + fragment_unnamed_888;
precise float fragment_unnamed_905 = fragment_unnamed_902 + fragment_unnamed_882;
precise float fragment_unnamed_906 = fragment_unnamed_903 * fragment_unnamed_894;
precise float fragment_unnamed_907 = fragment_unnamed_904 * fragment_unnamed_888;
precise float fragment_unnamed_908 = fragment_unnamed_907 + fragment_unnamed_906;
precise float fragment_unnamed_912 = fragment_unnamed_888 + fragment_unnamed_894;
precise float fragment_unnamed_913 = fragment_unnamed_882 + fragment_unnamed_912;
float fragment_unnamed_914 = mad(sqrt(max(mad(fragment_unnamed_882, fragment_unnamed_905, fragment_unnamed_908), 0.0f)), 1.75f, fragment_unnamed_913);
precise float fragment_unnamed_916 = fragment_unnamed_914 * 0.3333333432674407958984375f;
precise float fragment_unnamed_917 = 0.07999999821186065673828125f / fragment_unnamed_916;
float fragment_unnamed_923 = max(fragment_unnamed_894, max(fragment_unnamed_888, fragment_unnamed_882));
precise float fragment_unnamed_927 = (-0.0f) - max(min(fragment_unnamed_894, min(fragment_unnamed_888, fragment_unnamed_882)), 9.9999997473787516355514526367188e-05f);
precise float fragment_unnamed_928 = fragment_unnamed_927 + max(fragment_unnamed_923, 9.9999997473787516355514526367188e-05f);
precise float fragment_unnamed_929 = fragment_unnamed_928 / max(fragment_unnamed_923, 0.00999999977648258209228515625f);
precise float fragment_unnamed_930 = fragment_unnamed_917 + (-0.5f);
precise float fragment_unnamed_931 = fragment_unnamed_929 + (-0.4000000059604644775390625f);
precise float fragment_unnamed_933 = fragment_unnamed_931 * 2.5f;
precise float fragment_unnamed_939 = (-0.0f) - abs(fragment_unnamed_933);
precise float fragment_unnamed_940 = fragment_unnamed_939 + 1.0f;
float fragment_unnamed_941 = max(fragment_unnamed_940, 0.0f);
precise float fragment_unnamed_942 = (-0.0f) - fragment_unnamed_941;
precise float fragment_unnamed_945 = mad(asfloat((fragment_unnamed_931 >= 0.0f) ? 1065353216u : 3212836864u), mad(fragment_unnamed_942, fragment_unnamed_941, 1.0f), 1.0f) * 0.02500000037252902984619140625f;
precise float fragment_unnamed_947 = fragment_unnamed_930 * fragment_unnamed_945;
precise float fragment_unnamed_957 = asfloat((0.1599999964237213134765625f >= fragment_unnamed_914) ? asuint(fragment_unnamed_945) : ((fragment_unnamed_914 >= 0.4799999892711639404296875f) ? 0u : asuint(fragment_unnamed_947))) + 1.0f;
precise float fragment_unnamed_958 = fragment_unnamed_957 * fragment_unnamed_882;
precise float fragment_unnamed_959 = fragment_unnamed_957 * fragment_unnamed_888;
precise float fragment_unnamed_960 = fragment_unnamed_957 * fragment_unnamed_894;
precise float fragment_unnamed_961 = (-0.0f) - fragment_unnamed_882;
precise float fragment_unnamed_964 = (-0.0f) - fragment_unnamed_960;
precise float fragment_unnamed_966 = mad(fragment_unnamed_888, fragment_unnamed_957, fragment_unnamed_964) * 1.73205077648162841796875f;
precise float fragment_unnamed_968 = (-0.0f) - fragment_unnamed_959;
precise float fragment_unnamed_970 = (-0.0f) - fragment_unnamed_894;
float fragment_unnamed_971 = mad(fragment_unnamed_970, fragment_unnamed_957, mad(fragment_unnamed_958, 2.0f, fragment_unnamed_968));
precise float fragment_unnamed_975 = 1.0f / max(abs(fragment_unnamed_971), abs(fragment_unnamed_966));
precise float fragment_unnamed_979 = fragment_unnamed_975 * min(abs(fragment_unnamed_971), abs(fragment_unnamed_966));
precise float fragment_unnamed_980 = fragment_unnamed_979 * fragment_unnamed_979;
float fragment_unnamed_988 = mad(fragment_unnamed_980, mad(fragment_unnamed_980, mad(fragment_unnamed_980, mad(fragment_unnamed_980, 0.02083509974181652069091796875f, -0.08513300120830535888671875f), 0.1801410019397735595703125f), -0.33029949665069580078125f), 0.999866008758544921875f);
precise float fragment_unnamed_990 = fragment_unnamed_988 * fragment_unnamed_979;
float fragment_unnamed_1001 = min(fragment_unnamed_971, fragment_unnamed_966);
float fragment_unnamed_1002 = max(fragment_unnamed_971, fragment_unnamed_966);
precise float fragment_unnamed_1003 = (-0.0f) - fragment_unnamed_971;
precise float fragment_unnamed_1009 = asfloat(((fragment_unnamed_971 < fragment_unnamed_1003) ? 4294967295u : 0u) & 3226013659u) + mad(fragment_unnamed_979, fragment_unnamed_988, asfloat(((abs(fragment_unnamed_971) < abs(fragment_unnamed_966)) ? 4294967295u : 0u) & asuint(mad(fragment_unnamed_990, -2.0f, 1.57079637050628662109375f))));
precise float fragment_unnamed_1010 = (-0.0f) - fragment_unnamed_1002;
precise float fragment_unnamed_1013 = (-0.0f) - fragment_unnamed_1001;
precise float fragment_unnamed_1018 = (-0.0f) - fragment_unnamed_1009;
precise float fragment_unnamed_1020 = (((((fragment_unnamed_1002 >= fragment_unnamed_1010) ? 4294967295u : 0u) & ((fragment_unnamed_1001 < fragment_unnamed_1013) ? 4294967295u : 0u)) != 0u) ? fragment_unnamed_1018 : fragment_unnamed_1009) * 57.295780181884765625f;
uint fragment_unnamed_1029 = ((((fragment_unnamed_960 == fragment_unnamed_959) ? 4294967295u : 0u) & ((fragment_unnamed_959 == fragment_unnamed_958) ? 4294967295u : 0u)) != 0u) ? 0u : asuint(fragment_unnamed_1020);
float fragment_unnamed_1030 = asfloat(fragment_unnamed_1029);
precise float fragment_unnamed_1032 = fragment_unnamed_1030 + 360.0f;
uint fragment_unnamed_1035 = (fragment_unnamed_1030 < 0.0f) ? asuint(fragment_unnamed_1032) : fragment_unnamed_1029;
float fragment_unnamed_1036 = asfloat(fragment_unnamed_1035);
precise float fragment_unnamed_1039 = fragment_unnamed_1036 + 360.0f;
precise float fragment_unnamed_1040 = fragment_unnamed_1036 + (-360.0f);
precise float fragment_unnamed_1049 = asfloat((fragment_unnamed_1036 < (-180.0f)) ? asuint(fragment_unnamed_1039) : ((180.0f < fragment_unnamed_1036) ? asuint(fragment_unnamed_1040) : fragment_unnamed_1035)) * 0.01481481455266475677490234375f;
precise float fragment_unnamed_1052 = (-0.0f) - abs(fragment_unnamed_1049);
precise float fragment_unnamed_1053 = fragment_unnamed_1052 + 1.0f;
float fragment_unnamed_1054 = max(fragment_unnamed_1053, 0.0f);
precise float fragment_unnamed_1056 = fragment_unnamed_1054 * fragment_unnamed_1054;
precise float fragment_unnamed_1057 = fragment_unnamed_1056 * mad(fragment_unnamed_1054, -2.0f, 3.0f);
precise float fragment_unnamed_1058 = fragment_unnamed_1057 * fragment_unnamed_1057;
precise float fragment_unnamed_1059 = fragment_unnamed_929 * fragment_unnamed_1058;
precise float fragment_unnamed_1060 = mad(fragment_unnamed_961, fragment_unnamed_957, 0.02999999932944774627685546875f) * fragment_unnamed_1059;
float fragment_unnamed_1061 = mad(fragment_unnamed_1060, 0.180000007152557373046875f, fragment_unnamed_958);
float fragment_unnamed_1072 = max(dot(float3(1.45143926143646240234375f, -0.236510753631591796875f, -0.214928567409515380859375f), float3(fragment_unnamed_1061, fragment_unnamed_959, fragment_unnamed_960)), 0.0f);
float fragment_unnamed_1073 = max(dot(float3(-0.07655377686023712158203125f, 1.1762297153472900390625f, -0.0996759235858917236328125f), float3(fragment_unnamed_1061, fragment_unnamed_959, fragment_unnamed_960)), 0.0f);
float fragment_unnamed_1074 = max(dot(float3(0.0083161480724811553955078125f, -0.0060324496589601039886474609375f, 0.99771630764007568359375f), float3(fragment_unnamed_1061, fragment_unnamed_959, fragment_unnamed_960)), 0.0f);
float fragment_unnamed_1075 = dot(float3(fragment_unnamed_1072, fragment_unnamed_1073, fragment_unnamed_1074), float3(0.2722289860248565673828125f, 0.674081981182098388671875f, 0.0536894984543323516845703125f));
precise float fragment_unnamed_1078 = (-0.0f) - fragment_unnamed_1075;
precise float fragment_unnamed_1079 = fragment_unnamed_1078 + fragment_unnamed_1072;
precise float fragment_unnamed_1080 = fragment_unnamed_1078 + fragment_unnamed_1073;
precise float fragment_unnamed_1081 = fragment_unnamed_1078 + fragment_unnamed_1074;
float fragment_unnamed_1082 = mad(fragment_unnamed_1079, 0.959999978542327880859375f, fragment_unnamed_1075);
float fragment_unnamed_1084 = mad(fragment_unnamed_1080, 0.959999978542327880859375f, fragment_unnamed_1075);
float fragment_unnamed_1085 = mad(fragment_unnamed_1081, 0.959999978542327880859375f, fragment_unnamed_1075);
precise float fragment_unnamed_1086 = fragment_unnamed_1082 + 0.02457859925925731658935546875f;
precise float fragment_unnamed_1088 = fragment_unnamed_1084 + 0.02457859925925731658935546875f;
precise float fragment_unnamed_1089 = fragment_unnamed_1085 + 0.02457859925925731658935546875f;
precise float fragment_unnamed_1103 = mad(fragment_unnamed_1082, fragment_unnamed_1086, -9.0537003416102379560470581054688e-05f) / mad(fragment_unnamed_1082, mad(fragment_unnamed_1082, 0.98372900485992431640625f, 0.4329510033130645751953125f), 0.23808099329471588134765625f);
precise float fragment_unnamed_1104 = mad(fragment_unnamed_1084, fragment_unnamed_1088, -9.0537003416102379560470581054688e-05f) / mad(fragment_unnamed_1084, mad(fragment_unnamed_1084, 0.98372900485992431640625f, 0.4329510033130645751953125f), 0.23808099329471588134765625f);
precise float fragment_unnamed_1105 = mad(fragment_unnamed_1085, fragment_unnamed_1089, -9.0537003416102379560470581054688e-05f) / mad(fragment_unnamed_1085, mad(fragment_unnamed_1085, 0.98372900485992431640625f, 0.4329510033130645751953125f), 0.23808099329471588134765625f);
float fragment_unnamed_1112 = dot(float3(0.662454187870025634765625f, 0.1340042054653167724609375f, 0.1561876833438873291015625f), float3(fragment_unnamed_1103, fragment_unnamed_1104, fragment_unnamed_1105));
float fragment_unnamed_1118 = dot(float3(0.272228717803955078125f, 0.674081742763519287109375f, 0.053689517080783843994140625f), float3(fragment_unnamed_1103, fragment_unnamed_1104, fragment_unnamed_1105));
float fragment_unnamed_1127 = max(dot(float3(fragment_unnamed_1112, fragment_unnamed_1118, dot(float3(-0.0055746496655046939849853515625f, 0.0040607335977256298065185546875f, 1.01033914089202880859375f), float3(fragment_unnamed_1103, fragment_unnamed_1104, fragment_unnamed_1105))), 1.0f.xxx), 9.9999997473787516355514526367188e-05f);
precise float fragment_unnamed_1128 = fragment_unnamed_1112 / fragment_unnamed_1127;
precise float fragment_unnamed_1129 = fragment_unnamed_1118 / fragment_unnamed_1127;
precise float fragment_unnamed_1133 = log2(min(max(fragment_unnamed_1118, 0.0f), 65504.0f)) * 0.981100022792816162109375f;
float fragment_unnamed_1135 = exp2(fragment_unnamed_1133);
precise float fragment_unnamed_1136 = (-0.0f) - fragment_unnamed_1128;
precise float fragment_unnamed_1137 = fragment_unnamed_1136 + 1.0f;
precise float fragment_unnamed_1138 = (-0.0f) - fragment_unnamed_1129;
precise float fragment_unnamed_1139 = fragment_unnamed_1138 + fragment_unnamed_1137;
precise float fragment_unnamed_1141 = fragment_unnamed_1135 / max(fragment_unnamed_1129, 9.9999997473787516355514526367188e-05f);
precise float fragment_unnamed_1142 = fragment_unnamed_1141 * fragment_unnamed_1128;
precise float fragment_unnamed_1143 = fragment_unnamed_1141 * fragment_unnamed_1139;
float fragment_unnamed_1144 = dot(float3(1.6410233974456787109375f, -0.324803292751312255859375f, -0.23642469942569732666015625f), float3(fragment_unnamed_1142, fragment_unnamed_1135, fragment_unnamed_1143));
float fragment_unnamed_1150 = dot(float3(-0.663662850856781005859375f, 1.6153316497802734375f, 0.016756348311901092529296875f), float3(fragment_unnamed_1142, fragment_unnamed_1135, fragment_unnamed_1143));
float fragment_unnamed_1156 = dot(float3(0.01172189414501190185546875f, -0.008284442126750946044921875f, 0.98839485645294189453125f), float3(fragment_unnamed_1142, fragment_unnamed_1135, fragment_unnamed_1143));
float fragment_unnamed_1162 = dot(float3(fragment_unnamed_1144, fragment_unnamed_1150, fragment_unnamed_1156), float3(0.2722289860248565673828125f, 0.674081981182098388671875f, 0.0536894984543323516845703125f));
precise float fragment_unnamed_1165 = (-0.0f) - fragment_unnamed_1162;
precise float fragment_unnamed_1166 = fragment_unnamed_1165 + fragment_unnamed_1144;
precise float fragment_unnamed_1167 = fragment_unnamed_1165 + fragment_unnamed_1150;
precise float fragment_unnamed_1168 = fragment_unnamed_1165 + fragment_unnamed_1156;
float fragment_unnamed_1169 = mad(fragment_unnamed_1166, 0.930000007152557373046875f, fragment_unnamed_1162);
float fragment_unnamed_1171 = mad(fragment_unnamed_1167, 0.930000007152557373046875f, fragment_unnamed_1162);
float fragment_unnamed_1172 = mad(fragment_unnamed_1168, 0.930000007152557373046875f, fragment_unnamed_1162);
float fragment_unnamed_1173 = dot(float3(0.662454187870025634765625f, 0.1340042054653167724609375f, 0.1561876833438873291015625f), float3(fragment_unnamed_1169, fragment_unnamed_1171, fragment_unnamed_1172));
float fragment_unnamed_1176 = dot(float3(0.272228717803955078125f, 0.674081742763519287109375f, 0.053689517080783843994140625f), float3(fragment_unnamed_1169, fragment_unnamed_1171, fragment_unnamed_1172));
float fragment_unnamed_1179 = dot(float3(-0.0055746496655046939849853515625f, 0.0040607335977256298065185546875f, 1.01033914089202880859375f), float3(fragment_unnamed_1169, fragment_unnamed_1171, fragment_unnamed_1172));
float fragment_unnamed_1182 = dot(float3(0.98722398281097412109375f, -0.0061132698319852352142333984375f, 0.01595330052077770233154296875f), float3(fragment_unnamed_1173, fragment_unnamed_1176, fragment_unnamed_1179));
float fragment_unnamed_1188 = dot(float3(-0.007598360069096088409423828125f, 1.00186002254486083984375f, 0.0053301998414099216461181640625f), float3(fragment_unnamed_1173, fragment_unnamed_1176, fragment_unnamed_1179));
float fragment_unnamed_1194 = dot(float3(0.003072570078074932098388671875f, -0.0050959498621523380279541015625f, 1.0816800594329833984375f), float3(fragment_unnamed_1173, fragment_unnamed_1176, fragment_unnamed_1179));
fragment_output_0.x = dot(float3(3.2409698963165283203125f, -1.53738319873809814453125f, -0.4986107647418975830078125f), float3(fragment_unnamed_1182, fragment_unnamed_1188, fragment_unnamed_1194));
fragment_output_0.y = dot(float3(-0.96924364566802978515625f, 1.875967502593994140625f, 0.0415550582110881805419921875f), float3(fragment_unnamed_1182, fragment_unnamed_1188, fragment_unnamed_1194));
fragment_output_0.z = dot(float3(0.055630080401897430419921875f, -0.2039769589900970458984375f, 1.05697154998779296875f), float3(fragment_unnamed_1182, fragment_unnamed_1188, fragment_unnamed_1194));
fragment_output_0.w = 1.0f;
}
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
{
fragment_uniform_buffer_0[136] = float4(_Lut_Params[0], _Lut_Params[1], _Lut_Params[2], _Lut_Params[3]);
fragment_uniform_buffer_0[137] = float4(_ColorBalance[0], _ColorBalance[1], _ColorBalance[2], _ColorBalance[3]);
fragment_uniform_buffer_0[138] = float4(_ColorFilter[0], _ColorFilter[1], _ColorFilter[2], _ColorFilter[3]);
fragment_uniform_buffer_0[139] = float4(_ChannelMixerRed[0], _ChannelMixerRed[1], _ChannelMixerRed[2], _ChannelMixerRed[3]);
fragment_uniform_buffer_0[140] = float4(_ChannelMixerGreen[0], _ChannelMixerGreen[1], _ChannelMixerGreen[2], _ChannelMixerGreen[3]);
fragment_uniform_buffer_0[141] = float4(_ChannelMixerBlue[0], _ChannelMixerBlue[1], _ChannelMixerBlue[2], _ChannelMixerBlue[3]);
fragment_uniform_buffer_0[142] = float4(_HueSatCon[0], _HueSatCon[1], _HueSatCon[2], _HueSatCon[3]);
fragment_uniform_buffer_0[143] = float4(_Lift[0], _Lift[1], _Lift[2], _Lift[3]);
fragment_uniform_buffer_0[144] = float4(_Gamma[0], _Gamma[1], _Gamma[2], _Gamma[3]);
fragment_uniform_buffer_0[145] = float4(_Gain[0], _Gain[1], _Gain[2], _Gain[3]);
fragment_uniform_buffer_0[146] = float4(_Shadows[0], _Shadows[1], _Shadows[2], _Shadows[3]);
fragment_uniform_buffer_0[147] = float4(_Midtones[0], _Midtones[1], _Midtones[2], _Midtones[3]);
fragment_uniform_buffer_0[148] = float4(_Highlights[0], _Highlights[1], _Highlights[2], _Highlights[3]);
fragment_uniform_buffer_0[149] = float4(_ShaHiLimits[0], _ShaHiLimits[1], _ShaHiLimits[2], _ShaHiLimits[3]);
fragment_uniform_buffer_0[150] = float4(_SplitShadows[0], _SplitShadows[1], _SplitShadows[2], _SplitShadows[3]);
fragment_uniform_buffer_0[151] = float4(_SplitHighlights[0], _SplitHighlights[1], _SplitHighlights[2], _SplitHighlights[3]);
fragment_input_1 = stage_input.fragment_input_1;
frag_main();
Fragment_Stage_Output stage_output;
stage_output.fragment_output_0 = fragment_output_0;
return stage_output;
}
#endif // _TONEMAP_ACES
#endif // !STEREO_INSTANCING_ON
#endif // !_TONEMAP_NEUTRAL
#ifdef STEREO_INSTANCING_ON
#ifdef _TONEMAP_ACES
#ifndef _TONEMAP_NEUTRAL
#define ANY_SHADER_VARIANT_ACTIVE
float4 _Lut_Params;
float4 _ColorBalance;
float4 _ColorFilter;
float4 _ChannelMixerRed;
float4 _ChannelMixerGreen;
float4 _ChannelMixerBlue;
float4 _HueSatCon;
float4 _Lift;
float4 _Gamma;
float4 _Gain;
float4 _Shadows;
float4 _Midtones;
float4 _Highlights;
float4 _ShaHiLimits;
float4 _SplitShadows;
float4 _SplitHighlights;
static float4 fragment_uniform_buffer_0[121];
Texture2D<float4> _CurveMaster;
Texture2D<float4> _CurveRed;
Texture2D<float4> _CurveGreen;
Texture2D<float4> _CurveBlue;
Texture2D<float4> _CurveHueVsHue;
Texture2D<float4> _CurveHueVsSat;
Texture2D<float4> _CurveSatVsSat;
Texture2D<float4> _CurveLumVsSat;
SamplerState S0;
static float2 fragment_input_1;
static float4 fragment_output_0;
struct Fragment_Stage_Input
{
float2 fragment_input_1 : TEXCOORD; // TEXCOORD
};
struct Fragment_Stage_Output
{
float4 fragment_output_0 : SV_Target0;
};
void frag_main()
{
precise float fragment_unnamed_53 = fragment_input_1.x * fragment_uniform_buffer_0[105u].x;
float fragment_unnamed_55 = floor(fragment_unnamed_53);
precise float fragment_unnamed_61 = (-0.0f) - fragment_unnamed_55;
precise float fragment_unnamed_67 = fragment_unnamed_55 * fragment_uniform_buffer_0[105u].z;
precise float fragment_unnamed_71 = fragment_unnamed_67 * fragment_uniform_buffer_0[105u].w;
precise float fragment_unnamed_78 = (-0.0f) - fragment_uniform_buffer_0[105u].z;
precise float fragment_unnamed_79 = mad(fragment_input_1.x, fragment_uniform_buffer_0[105u].x, fragment_unnamed_61) + fragment_unnamed_78;
precise float fragment_unnamed_80 = fragment_input_1.y + fragment_unnamed_78;
float fragment_unnamed_86 = asfloat(asuint(fragment_uniform_buffer_0[105u]).w);
precise float fragment_unnamed_93 = mad(fragment_unnamed_79, fragment_unnamed_86, -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_95 = mad(fragment_unnamed_80, fragment_unnamed_86, -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_96 = mad(fragment_unnamed_71, asfloat(1073741824u), -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_100 = exp2(fragment_unnamed_93) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_102 = exp2(fragment_unnamed_95) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_103 = exp2(fragment_unnamed_96) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_104 = fragment_unnamed_100 * 0.17999999225139617919921875f;
precise float fragment_unnamed_106 = fragment_unnamed_102 * 0.17999999225139617919921875f;
precise float fragment_unnamed_107 = fragment_unnamed_103 * 0.17999999225139617919921875f;
precise float fragment_unnamed_133 = dot(float3(0.390404999256134033203125f, 0.549941003322601318359375f, 0.008926319889724254608154296875f), float3(fragment_unnamed_104, fragment_unnamed_106, fragment_unnamed_107)) * fragment_uniform_buffer_0[106u].x;
precise float fragment_unnamed_134 = dot(float3(0.070841602981090545654296875f, 0.963172018527984619140625f, 0.001357750035822391510009765625f), float3(fragment_unnamed_104, fragment_unnamed_106, fragment_unnamed_107)) * fragment_uniform_buffer_0[106u].y;
precise float fragment_unnamed_135 = dot(float3(0.02310819923877716064453125f, 0.1280210018157958984375f, 0.936245024204254150390625f), float3(fragment_unnamed_104, fragment_unnamed_106, fragment_unnamed_107)) * fragment_uniform_buffer_0[106u].z;
float fragment_unnamed_136 = dot(float3(2.85846996307373046875f, -1.62879002094268798828125f, -0.0248910002410411834716796875f), float3(fragment_unnamed_133, fragment_unnamed_134, fragment_unnamed_135));
float fragment_unnamed_142 = dot(float3(-0.21018199622631072998046875f, 1.1582000255584716796875f, 0.0003242809907533228397369384765625f), float3(fragment_unnamed_133, fragment_unnamed_134, fragment_unnamed_135));
float fragment_unnamed_148 = dot(float3(-0.0418119989335536956787109375f, -0.118169002234935760498046875f, 1.0686700344085693359375f), float3(fragment_unnamed_133, fragment_unnamed_134, fragment_unnamed_135));
float fragment_unnamed_176 = min(max(dot(float3(0.4397009909152984619140625f, 0.3829779922962188720703125f, 0.1773349940776824951171875f), float3(fragment_unnamed_136, fragment_unnamed_142, fragment_unnamed_148)), 0.0f), 65504.0f);
float fragment_unnamed_178 = min(max(dot(float3(0.08979229629039764404296875f, 0.813422977924346923828125f, 0.09676159918308258056640625f), float3(fragment_unnamed_136, fragment_unnamed_142, fragment_unnamed_148)), 0.0f), 65504.0f);
float fragment_unnamed_179 = min(max(dot(float3(0.01754399947822093963623046875f, 0.11154399812221527099609375f, 0.870703995227813720703125f), float3(fragment_unnamed_136, fragment_unnamed_142, fragment_unnamed_148)), 0.0f), 65504.0f);
precise float fragment_unnamed_188 = log2(mad(fragment_unnamed_176, 0.5f, 1.5258779967552982270717620849609e-05f)) + 9.72000026702880859375f;
precise float fragment_unnamed_190 = log2(mad(fragment_unnamed_178, 0.5f, 1.5258779967552982270717620849609e-05f)) + 9.72000026702880859375f;
precise float fragment_unnamed_191 = log2(mad(fragment_unnamed_179, 0.5f, 1.5258779967552982270717620849609e-05f)) + 9.72000026702880859375f;
precise float fragment_unnamed_192 = fragment_unnamed_188 * 0.057077623903751373291015625f;
precise float fragment_unnamed_194 = fragment_unnamed_190 * 0.057077623903751373291015625f;
precise float fragment_unnamed_195 = fragment_unnamed_191 * 0.057077623903751373291015625f;
precise float fragment_unnamed_204 = log2(fragment_unnamed_176) + 9.72000026702880859375f;
precise float fragment_unnamed_205 = log2(fragment_unnamed_178) + 9.72000026702880859375f;
precise float fragment_unnamed_206 = log2(fragment_unnamed_179) + 9.72000026702880859375f;
precise float fragment_unnamed_207 = fragment_unnamed_204 * 0.057077623903751373291015625f;
precise float fragment_unnamed_208 = fragment_unnamed_205 * 0.057077623903751373291015625f;
precise float fragment_unnamed_209 = fragment_unnamed_206 * 0.057077623903751373291015625f;
precise float fragment_unnamed_222 = asfloat((fragment_unnamed_176 < 3.0517570849042385816574096679688e-05f) ? asuint(fragment_unnamed_192) : asuint(fragment_unnamed_207)) + (-0.41358840465545654296875f);
precise float fragment_unnamed_224 = asfloat((fragment_unnamed_178 < 3.0517570849042385816574096679688e-05f) ? asuint(fragment_unnamed_194) : asuint(fragment_unnamed_208)) + (-0.41358840465545654296875f);
precise float fragment_unnamed_225 = asfloat((fragment_unnamed_179 < 3.0517570849042385816574096679688e-05f) ? asuint(fragment_unnamed_195) : asuint(fragment_unnamed_209)) + (-0.41358840465545654296875f);
float fragment_unnamed_230 = mad(fragment_unnamed_222, fragment_uniform_buffer_0[111u].z, 0.41358840465545654296875f);
float fragment_unnamed_232 = mad(fragment_unnamed_224, fragment_uniform_buffer_0[111u].z, 0.41358840465545654296875f);
float fragment_unnamed_233 = mad(fragment_unnamed_225, fragment_uniform_buffer_0[111u].z, 0.41358840465545654296875f);
float fragment_unnamed_247 = exp2(mad(fragment_unnamed_230, 17.520000457763671875f, -9.72000026702880859375f));
float fragment_unnamed_248 = exp2(mad(fragment_unnamed_232, 17.520000457763671875f, -9.72000026702880859375f));
float fragment_unnamed_249 = exp2(mad(fragment_unnamed_233, 17.520000457763671875f, -9.72000026702880859375f));
precise float fragment_unnamed_255 = fragment_unnamed_247 + (-1.52587890625e-05f);
precise float fragment_unnamed_257 = fragment_unnamed_248 + (-1.52587890625e-05f);
precise float fragment_unnamed_258 = fragment_unnamed_249 + (-1.52587890625e-05f);
precise float fragment_unnamed_261 = fragment_unnamed_255 + fragment_unnamed_255;
precise float fragment_unnamed_262 = fragment_unnamed_257 + fragment_unnamed_257;
precise float fragment_unnamed_263 = fragment_unnamed_258 + fragment_unnamed_258;
float fragment_unnamed_267 = asfloat((fragment_unnamed_230 < (-0.3013698756694793701171875f)) ? asuint(fragment_unnamed_261) : ((fragment_unnamed_230 < 1.4679963588714599609375f) ? asuint(fragment_unnamed_247) : 1199562752u));
float fragment_unnamed_269 = asfloat((fragment_unnamed_232 < (-0.3013698756694793701171875f)) ? asuint(fragment_unnamed_262) : ((fragment_unnamed_232 < 1.4679963588714599609375f) ? asuint(fragment_unnamed_248) : 1199562752u));
float fragment_unnamed_272 = asfloat((fragment_unnamed_233 < (-0.3013698756694793701171875f)) ? asuint(fragment_unnamed_263) : ((fragment_unnamed_233 < 1.4679963588714599609375f) ? asuint(fragment_unnamed_249) : 1199562752u));
precise float fragment_unnamed_297 = dot(float3(1.45143926143646240234375f, -0.236510753631591796875f, -0.214928567409515380859375f), float3(fragment_unnamed_267, fragment_unnamed_269, fragment_unnamed_272)) * fragment_uniform_buffer_0[107u].x;
precise float fragment_unnamed_298 = dot(float3(-0.07655377686023712158203125f, 1.1762297153472900390625f, -0.0996759235858917236328125f), float3(fragment_unnamed_267, fragment_unnamed_269, fragment_unnamed_272)) * fragment_uniform_buffer_0[107u].y;
precise float fragment_unnamed_299 = dot(float3(0.0083161480724811553955078125f, -0.0060324496589601039886474609375f, 0.99771630764007568359375f), float3(fragment_unnamed_267, fragment_unnamed_269, fragment_unnamed_272)) * fragment_uniform_buffer_0[107u].z;
precise float fragment_unnamed_306 = log2(max(fragment_unnamed_297, 0.0f)) * 0.4545454680919647216796875f;
precise float fragment_unnamed_308 = log2(max(fragment_unnamed_298, 0.0f)) * 0.4545454680919647216796875f;
precise float fragment_unnamed_309 = log2(max(fragment_unnamed_299, 0.0f)) * 0.4545454680919647216796875f;
float fragment_unnamed_310 = exp2(fragment_unnamed_306);
float fragment_unnamed_311 = exp2(fragment_unnamed_308);
float fragment_unnamed_312 = exp2(fragment_unnamed_309);
precise float fragment_unnamed_313 = fragment_unnamed_310 + fragment_unnamed_310;
precise float fragment_unnamed_314 = fragment_unnamed_311 + fragment_unnamed_311;
precise float fragment_unnamed_315 = fragment_unnamed_312 + fragment_unnamed_312;
precise float fragment_unnamed_316 = fragment_unnamed_310 * fragment_unnamed_310;
precise float fragment_unnamed_317 = fragment_unnamed_311 * fragment_unnamed_311;
precise float fragment_unnamed_318 = fragment_unnamed_312 * fragment_unnamed_312;
precise float fragment_unnamed_336 = dot(float3(min(fragment_unnamed_310, 1.0f), min(fragment_unnamed_311, 1.0f), min(fragment_unnamed_312, 1.0f)), float3(0.2722289860248565673828125f, 0.674081981182098388671875f, 0.0536894984543323516845703125f)) + fragment_uniform_buffer_0[119u].w;
float fragment_unnamed_337 = clamp(fragment_unnamed_336, 0.0f, 1.0f);
precise float fragment_unnamed_338 = (-0.0f) - fragment_unnamed_337;
precise float fragment_unnamed_339 = fragment_unnamed_338 + 1.0f;
precise float fragment_unnamed_345 = fragment_uniform_buffer_0[119u].x + (-0.5f);
precise float fragment_unnamed_347 = fragment_uniform_buffer_0[119u].y + (-0.5f);
precise float fragment_unnamed_348 = fragment_uniform_buffer_0[119u].z + (-0.5f);
float fragment_unnamed_349 = mad(fragment_unnamed_339, fragment_unnamed_345, 0.5f);
float fragment_unnamed_350 = mad(fragment_unnamed_339, fragment_unnamed_347, 0.5f);
float fragment_unnamed_351 = mad(fragment_unnamed_339, fragment_unnamed_348, 0.5f);
precise float fragment_unnamed_352 = (-0.0f) - fragment_unnamed_349;
precise float fragment_unnamed_353 = (-0.0f) - fragment_unnamed_350;
precise float fragment_unnamed_354 = (-0.0f) - fragment_unnamed_351;
precise float fragment_unnamed_359 = fragment_unnamed_316 * mad(fragment_unnamed_352, 2.0f, 1.0f);
precise float fragment_unnamed_360 = fragment_unnamed_317 * mad(fragment_unnamed_353, 2.0f, 1.0f);
precise float fragment_unnamed_361 = fragment_unnamed_318 * mad(fragment_unnamed_354, 2.0f, 1.0f);
bool fragment_unnamed_365 = fragment_unnamed_349 >= 0.5f;
bool fragment_unnamed_366 = fragment_unnamed_350 >= 0.5f;
bool fragment_unnamed_367 = fragment_unnamed_351 >= 0.5f;
precise float fragment_unnamed_383 = mad(fragment_unnamed_313, fragment_unnamed_349, fragment_unnamed_359) * asfloat(fragment_unnamed_365 ? 0u : 1065353216u);
precise float fragment_unnamed_384 = mad(fragment_unnamed_314, fragment_unnamed_350, fragment_unnamed_360) * asfloat(fragment_unnamed_366 ? 0u : 1065353216u);
precise float fragment_unnamed_385 = mad(fragment_unnamed_315, fragment_unnamed_351, fragment_unnamed_361) * asfloat(fragment_unnamed_367 ? 0u : 1065353216u);
precise float fragment_unnamed_386 = (-0.0f) - fragment_unnamed_349;
precise float fragment_unnamed_387 = (-0.0f) - fragment_unnamed_350;
precise float fragment_unnamed_388 = (-0.0f) - fragment_unnamed_351;
precise float fragment_unnamed_389 = fragment_unnamed_386 + 1.0f;
precise float fragment_unnamed_390 = fragment_unnamed_387 + 1.0f;
precise float fragment_unnamed_391 = fragment_unnamed_388 + 1.0f;
precise float fragment_unnamed_396 = fragment_unnamed_313 * fragment_unnamed_389;
precise float fragment_unnamed_397 = fragment_unnamed_314 * fragment_unnamed_390;
precise float fragment_unnamed_398 = fragment_unnamed_315 * fragment_unnamed_391;
float fragment_unnamed_404 = mad(mad(sqrt(fragment_unnamed_310), mad(fragment_unnamed_349, 2.0f, -1.0f), fragment_unnamed_396), asfloat((fragment_unnamed_365 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_383);
float fragment_unnamed_405 = mad(mad(sqrt(fragment_unnamed_311), mad(fragment_unnamed_350, 2.0f, -1.0f), fragment_unnamed_397), asfloat((fragment_unnamed_366 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_384);
float fragment_unnamed_406 = mad(mad(sqrt(fragment_unnamed_312), mad(fragment_unnamed_351, 2.0f, -1.0f), fragment_unnamed_398), asfloat((fragment_unnamed_367 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_385);
precise float fragment_unnamed_407 = fragment_unnamed_404 + fragment_unnamed_404;
precise float fragment_unnamed_408 = fragment_unnamed_405 + fragment_unnamed_405;
precise float fragment_unnamed_409 = fragment_unnamed_406 + fragment_unnamed_406;
precise float fragment_unnamed_410 = fragment_unnamed_404 * fragment_unnamed_404;
precise float fragment_unnamed_411 = fragment_unnamed_405 * fragment_unnamed_405;
precise float fragment_unnamed_412 = fragment_unnamed_406 * fragment_unnamed_406;
precise float fragment_unnamed_422 = fragment_uniform_buffer_0[120u].x + (-0.5f);
precise float fragment_unnamed_423 = fragment_uniform_buffer_0[120u].y + (-0.5f);
precise float fragment_unnamed_424 = fragment_uniform_buffer_0[120u].z + (-0.5f);
float fragment_unnamed_425 = mad(fragment_unnamed_337, fragment_unnamed_422, 0.5f);
float fragment_unnamed_426 = mad(fragment_unnamed_337, fragment_unnamed_423, 0.5f);
float fragment_unnamed_427 = mad(fragment_unnamed_337, fragment_unnamed_424, 0.5f);
precise float fragment_unnamed_428 = (-0.0f) - fragment_unnamed_425;
precise float fragment_unnamed_429 = (-0.0f) - fragment_unnamed_426;
precise float fragment_unnamed_430 = (-0.0f) - fragment_unnamed_427;
precise float fragment_unnamed_434 = fragment_unnamed_410 * mad(fragment_unnamed_428, 2.0f, 1.0f);
precise float fragment_unnamed_435 = fragment_unnamed_411 * mad(fragment_unnamed_429, 2.0f, 1.0f);
precise float fragment_unnamed_436 = fragment_unnamed_412 * mad(fragment_unnamed_430, 2.0f, 1.0f);
bool fragment_unnamed_440 = fragment_unnamed_425 >= 0.5f;
bool fragment_unnamed_441 = fragment_unnamed_426 >= 0.5f;
bool fragment_unnamed_442 = fragment_unnamed_427 >= 0.5f;
precise float fragment_unnamed_456 = mad(fragment_unnamed_407, fragment_unnamed_425, fragment_unnamed_434) * asfloat(fragment_unnamed_440 ? 0u : 1065353216u);
precise float fragment_unnamed_457 = mad(fragment_unnamed_408, fragment_unnamed_426, fragment_unnamed_435) * asfloat(fragment_unnamed_441 ? 0u : 1065353216u);
precise float fragment_unnamed_458 = mad(fragment_unnamed_409, fragment_unnamed_427, fragment_unnamed_436) * asfloat(fragment_unnamed_442 ? 0u : 1065353216u);
precise float fragment_unnamed_459 = (-0.0f) - fragment_unnamed_425;
precise float fragment_unnamed_460 = (-0.0f) - fragment_unnamed_426;
precise float fragment_unnamed_461 = (-0.0f) - fragment_unnamed_427;
precise float fragment_unnamed_462 = fragment_unnamed_459 + 1.0f;
precise float fragment_unnamed_463 = fragment_unnamed_460 + 1.0f;
precise float fragment_unnamed_464 = fragment_unnamed_461 + 1.0f;
precise float fragment_unnamed_468 = fragment_unnamed_407 * fragment_unnamed_462;
precise float fragment_unnamed_469 = fragment_unnamed_408 * fragment_unnamed_463;
precise float fragment_unnamed_470 = fragment_unnamed_409 * fragment_unnamed_464;
precise float fragment_unnamed_485 = log2(abs(mad(mad(sqrt(fragment_unnamed_404), mad(fragment_unnamed_425, 2.0f, -1.0f), fragment_unnamed_468), asfloat((fragment_unnamed_440 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_456))) * 2.2000000476837158203125f;
precise float fragment_unnamed_487 = log2(abs(mad(mad(sqrt(fragment_unnamed_405), mad(fragment_unnamed_426, 2.0f, -1.0f), fragment_unnamed_469), asfloat((fragment_unnamed_441 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_457))) * 2.2000000476837158203125f;
precise float fragment_unnamed_488 = log2(abs(mad(mad(sqrt(fragment_unnamed_406), mad(fragment_unnamed_427, 2.0f, -1.0f), fragment_unnamed_470), asfloat((fragment_unnamed_442 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_458))) * 2.2000000476837158203125f;
float fragment_unnamed_489 = exp2(fragment_unnamed_485);
float fragment_unnamed_490 = exp2(fragment_unnamed_487);
float fragment_unnamed_491 = exp2(fragment_unnamed_488);
float fragment_unnamed_498 = dot(float3(fragment_unnamed_489, fragment_unnamed_490, fragment_unnamed_491), float3(fragment_uniform_buffer_0[108u].xyz));
float fragment_unnamed_507 = dot(float3(fragment_unnamed_489, fragment_unnamed_490, fragment_unnamed_491), float3(fragment_uniform_buffer_0[109u].xyz));
float fragment_unnamed_516 = dot(float3(fragment_unnamed_489, fragment_unnamed_490, fragment_unnamed_491), float3(fragment_uniform_buffer_0[110u].xyz));
precise float fragment_unnamed_525 = fragment_unnamed_498 * fragment_uniform_buffer_0[116u].x;
precise float fragment_unnamed_526 = fragment_unnamed_507 * fragment_uniform_buffer_0[116u].y;
precise float fragment_unnamed_527 = fragment_unnamed_516 * fragment_uniform_buffer_0[116u].z;
float fragment_unnamed_528 = dot(float3(fragment_unnamed_498, fragment_unnamed_507, fragment_unnamed_516), float3(0.2722289860248565673828125f, 0.674081981182098388671875f, 0.0536894984543323516845703125f));
precise float fragment_unnamed_535 = (-0.0f) - fragment_uniform_buffer_0[118u].x;
precise float fragment_unnamed_537 = (-0.0f) - fragment_uniform_buffer_0[118u].z;
precise float fragment_unnamed_538 = fragment_unnamed_528 + fragment_unnamed_535;
precise float fragment_unnamed_539 = fragment_unnamed_528 + fragment_unnamed_537;
precise float fragment_unnamed_543 = (-0.0f) - fragment_uniform_buffer_0[118u].x;
precise float fragment_unnamed_545 = (-0.0f) - fragment_uniform_buffer_0[118u].z;
precise float fragment_unnamed_550 = fragment_unnamed_543 + fragment_uniform_buffer_0[118u].y;
precise float fragment_unnamed_551 = fragment_unnamed_545 + fragment_uniform_buffer_0[118u].w;
precise float fragment_unnamed_552 = 1.0f / fragment_unnamed_550;
precise float fragment_unnamed_553 = 1.0f / fragment_unnamed_551;
precise float fragment_unnamed_554 = fragment_unnamed_552 * fragment_unnamed_538;
precise float fragment_unnamed_555 = fragment_unnamed_553 * fragment_unnamed_539;
float fragment_unnamed_556 = clamp(fragment_unnamed_554, 0.0f, 1.0f);
float fragment_unnamed_557 = clamp(fragment_unnamed_555, 0.0f, 1.0f);
float fragment_unnamed_561 = mad(fragment_unnamed_557, -2.0f, 3.0f);
precise float fragment_unnamed_562 = fragment_unnamed_556 * fragment_unnamed_556;
precise float fragment_unnamed_563 = fragment_unnamed_557 * fragment_unnamed_557;
precise float fragment_unnamed_564 = (-0.0f) - mad(fragment_unnamed_556, -2.0f, 3.0f);
float fragment_unnamed_565 = mad(fragment_unnamed_564, fragment_unnamed_562, 1.0f);
precise float fragment_unnamed_566 = (-0.0f) - fragment_unnamed_565;
precise float fragment_unnamed_567 = fragment_unnamed_566 + 1.0f;
precise float fragment_unnamed_568 = (-0.0f) - fragment_unnamed_561;
float fragment_unnamed_569 = mad(fragment_unnamed_568, fragment_unnamed_563, fragment_unnamed_567);
precise float fragment_unnamed_570 = fragment_unnamed_563 * fragment_unnamed_561;
precise float fragment_unnamed_571 = fragment_unnamed_525 * fragment_unnamed_569;
precise float fragment_unnamed_572 = fragment_unnamed_526 * fragment_unnamed_569;
precise float fragment_unnamed_573 = fragment_unnamed_527 * fragment_unnamed_569;
precise float fragment_unnamed_580 = fragment_unnamed_498 * fragment_uniform_buffer_0[115u].x;
precise float fragment_unnamed_581 = fragment_unnamed_507 * fragment_uniform_buffer_0[115u].y;
precise float fragment_unnamed_582 = fragment_unnamed_516 * fragment_uniform_buffer_0[115u].z;
precise float fragment_unnamed_589 = fragment_unnamed_498 * fragment_uniform_buffer_0[117u].x;
precise float fragment_unnamed_590 = fragment_unnamed_507 * fragment_uniform_buffer_0[117u].y;
precise float fragment_unnamed_591 = fragment_unnamed_516 * fragment_uniform_buffer_0[117u].z;
float fragment_unnamed_610 = mad(mad(fragment_unnamed_589, fragment_unnamed_570, mad(fragment_unnamed_580, fragment_unnamed_565, fragment_unnamed_571)), fragment_uniform_buffer_0[114u].x, fragment_uniform_buffer_0[112u].x);
float fragment_unnamed_611 = mad(mad(fragment_unnamed_590, fragment_unnamed_570, mad(fragment_unnamed_581, fragment_unnamed_565, fragment_unnamed_572)), fragment_uniform_buffer_0[114u].y, fragment_uniform_buffer_0[112u].y);
float fragment_unnamed_612 = mad(mad(fragment_unnamed_591, fragment_unnamed_570, mad(fragment_unnamed_582, fragment_unnamed_565, fragment_unnamed_573)), fragment_uniform_buffer_0[114u].z, fragment_uniform_buffer_0[112u].z);
precise float fragment_unnamed_637 = log2(abs(fragment_unnamed_610)) * fragment_uniform_buffer_0[113u].x;
precise float fragment_unnamed_638 = log2(abs(fragment_unnamed_611)) * fragment_uniform_buffer_0[113u].y;
precise float fragment_unnamed_639 = log2(abs(fragment_unnamed_612)) * fragment_uniform_buffer_0[113u].z;
float fragment_unnamed_641 = exp2(fragment_unnamed_638);
float fragment_unnamed_642 = exp2(fragment_unnamed_639);
float fragment_unnamed_650 = float(int((-((0.0f < fragment_unnamed_611) ? 4294967295u : 0u)) + ((fragment_unnamed_611 < 0.0f) ? 4294967295u : 0u)));
float fragment_unnamed_651 = float(int((-((0.0f < fragment_unnamed_612) ? 4294967295u : 0u)) + ((fragment_unnamed_612 < 0.0f) ? 4294967295u : 0u)));
precise float fragment_unnamed_652 = exp2(fragment_unnamed_637) * float(int((-((0.0f < fragment_unnamed_610) ? 4294967295u : 0u)) + ((fragment_unnamed_610 < 0.0f) ? 4294967295u : 0u)));
precise float fragment_unnamed_653 = fragment_unnamed_641 * fragment_unnamed_650;
precise float fragment_unnamed_654 = fragment_unnamed_642 * fragment_unnamed_651;
precise float fragment_unnamed_655 = (-0.0f) - fragment_unnamed_654;
precise float fragment_unnamed_656 = (-0.0f) - fragment_unnamed_653;
float fragment_unnamed_662 = asfloat(((fragment_unnamed_653 >= fragment_unnamed_654) ? 4294967295u : 0u) & 1065353216u);
float fragment_unnamed_669 = mad(fragment_unnamed_662, mad(fragment_unnamed_650, fragment_unnamed_641, fragment_unnamed_655), fragment_unnamed_654);
float fragment_unnamed_670 = mad(fragment_unnamed_662, mad(fragment_unnamed_651, fragment_unnamed_642, fragment_unnamed_656), fragment_unnamed_653);
float fragment_unnamed_671 = mad(fragment_unnamed_662, asfloat(3212836864u), asfloat(1059760811u));
float fragment_unnamed_676 = asfloat(((fragment_unnamed_652 >= fragment_unnamed_669) ? 4294967295u : 0u) & 1065353216u);
precise float fragment_unnamed_683 = (-0.0f) - fragment_unnamed_669;
precise float fragment_unnamed_684 = (-0.0f) - fragment_unnamed_670;
precise float fragment_unnamed_685 = (-0.0f) - fragment_unnamed_671;
precise float fragment_unnamed_686 = (-0.0f) - fragment_unnamed_652;
precise float fragment_unnamed_687 = fragment_unnamed_683 + fragment_unnamed_652;
precise float fragment_unnamed_688 = fragment_unnamed_684 + fragment_unnamed_670;
precise float fragment_unnamed_689 = fragment_unnamed_685 + mad(fragment_unnamed_662, asfloat(1065353216u), asfloat(3212836864u));
precise float fragment_unnamed_690 = fragment_unnamed_686 + fragment_unnamed_669;
float fragment_unnamed_691 = mad(fragment_unnamed_676, fragment_unnamed_687, fragment_unnamed_669);
float fragment_unnamed_692 = mad(fragment_unnamed_676, fragment_unnamed_688, fragment_unnamed_670);
float fragment_unnamed_694 = mad(fragment_unnamed_676, fragment_unnamed_690, fragment_unnamed_652);
precise float fragment_unnamed_696 = (-0.0f) - min(fragment_unnamed_692, fragment_unnamed_694);
precise float fragment_unnamed_697 = fragment_unnamed_691 + fragment_unnamed_696;
precise float fragment_unnamed_701 = (-0.0f) - fragment_unnamed_692;
precise float fragment_unnamed_702 = fragment_unnamed_701 + fragment_unnamed_694;
precise float fragment_unnamed_703 = fragment_unnamed_702 / mad(fragment_unnamed_697, 6.0f, 9.9999997473787516355514526367188e-05f);
precise float fragment_unnamed_704 = fragment_unnamed_703 + mad(fragment_unnamed_676, fragment_unnamed_689, fragment_unnamed_671);
float fragment_unnamed_705 = abs(fragment_unnamed_704);
precise float fragment_unnamed_709 = fragment_unnamed_705 + fragment_uniform_buffer_0[111u].x;
precise float fragment_unnamed_730 = fragment_unnamed_709 + clamp(_CurveHueVsHue.SampleBias(S0, float2(fragment_unnamed_709, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_731 = fragment_unnamed_730 + (-0.5f);
precise float fragment_unnamed_732 = fragment_unnamed_730 + 0.5f;
precise float fragment_unnamed_733 = fragment_unnamed_730 + (-1.5f);
float fragment_unnamed_742 = asfloat((fragment_unnamed_731 < 0.0f) ? asuint(fragment_unnamed_732) : ((1.0f < fragment_unnamed_731) ? asuint(fragment_unnamed_733) : asuint(fragment_unnamed_731)));
precise float fragment_unnamed_743 = fragment_unnamed_742 + 1.0f;
precise float fragment_unnamed_744 = fragment_unnamed_742 + 0.666666686534881591796875f;
precise float fragment_unnamed_746 = fragment_unnamed_742 + 0.3333333432674407958984375f;
precise float fragment_unnamed_758 = abs(mad(frac(fragment_unnamed_743), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_759 = abs(mad(frac(fragment_unnamed_744), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_760 = abs(mad(frac(fragment_unnamed_746), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_764 = clamp(fragment_unnamed_758, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_765 = clamp(fragment_unnamed_759, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_766 = clamp(fragment_unnamed_760, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_767 = fragment_unnamed_691 + 9.9999997473787516355514526367188e-05f;
precise float fragment_unnamed_768 = fragment_unnamed_697 / fragment_unnamed_767;
float fragment_unnamed_769 = mad(fragment_unnamed_768, fragment_unnamed_764, 1.0f);
float fragment_unnamed_770 = mad(fragment_unnamed_768, fragment_unnamed_765, 1.0f);
float fragment_unnamed_771 = mad(fragment_unnamed_768, fragment_unnamed_766, 1.0f);
precise float fragment_unnamed_772 = fragment_unnamed_769 * fragment_unnamed_691;
precise float fragment_unnamed_773 = fragment_unnamed_770 * fragment_unnamed_691;
precise float fragment_unnamed_774 = fragment_unnamed_771 * fragment_unnamed_691;
float fragment_unnamed_775 = dot(float3(fragment_unnamed_772, fragment_unnamed_773, fragment_unnamed_774), float3(0.2722289860248565673828125f, 0.674081981182098388671875f, 0.0536894984543323516845703125f));
precise float fragment_unnamed_778 = (-0.0f) - fragment_unnamed_775;
float fragment_unnamed_799 = clamp(_CurveHueVsSat.SampleBias(S0, float2(fragment_unnamed_705, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_800 = fragment_unnamed_799 + fragment_unnamed_799;
precise float fragment_unnamed_804 = dot(clamp(_CurveSatVsSat.SampleBias(S0, float2(fragment_unnamed_768, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f).xx, fragment_unnamed_800.xx) * clamp(_CurveLumVsSat.SampleBias(S0, float2(dot(float3(fragment_unnamed_652, fragment_unnamed_653, fragment_unnamed_654), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f)), asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_808 = dot(fragment_uniform_buffer_0[111u].y.xx, fragment_unnamed_804.xx);
float fragment_unnamed_811 = mad(fragment_unnamed_808, mad(fragment_unnamed_691, fragment_unnamed_769, fragment_unnamed_778), fragment_unnamed_775);
float fragment_unnamed_812 = mad(fragment_unnamed_808, mad(fragment_unnamed_691, fragment_unnamed_770, fragment_unnamed_778), fragment_unnamed_775);
float fragment_unnamed_813 = mad(fragment_unnamed_808, mad(fragment_unnamed_691, fragment_unnamed_771, fragment_unnamed_778), fragment_unnamed_775);
precise float fragment_unnamed_816 = max(fragment_unnamed_813, max(fragment_unnamed_812, fragment_unnamed_811)) + 1.0f;
precise float fragment_unnamed_817 = 1.0f / fragment_unnamed_816;
float fragment_unnamed_822 = asfloat(0u);
precise float fragment_unnamed_845 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_811, fragment_unnamed_817, 0.00390625f), fragment_unnamed_822), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
precise float fragment_unnamed_846 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_812, fragment_unnamed_817, 0.00390625f), fragment_unnamed_822), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
precise float fragment_unnamed_847 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_813, fragment_unnamed_817, 0.00390625f), fragment_unnamed_822), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
float fragment_unnamed_848 = asfloat(0u);
float fragment_unnamed_856 = clamp(_CurveRed.SampleBias(S0, float2(fragment_unnamed_845, fragment_unnamed_848), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_871 = clamp(_CurveBlue.SampleBias(S0, float2(fragment_unnamed_847, fragment_unnamed_848), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_872 = clamp(_CurveGreen.SampleBias(S0, float2(fragment_unnamed_846, fragment_unnamed_848), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_875 = (-0.0f) - max(fragment_unnamed_871, max(fragment_unnamed_872, fragment_unnamed_856));
precise float fragment_unnamed_876 = fragment_unnamed_875 + 1.0f;
precise float fragment_unnamed_877 = 1.0f / fragment_unnamed_876;
precise float fragment_unnamed_878 = fragment_unnamed_877 * fragment_unnamed_856;
precise float fragment_unnamed_879 = fragment_unnamed_877 * fragment_unnamed_872;
precise float fragment_unnamed_880 = fragment_unnamed_877 * fragment_unnamed_871;
float fragment_unnamed_881 = max(fragment_unnamed_878, 0.0f);
float fragment_unnamed_882 = max(fragment_unnamed_879, 0.0f);
float fragment_unnamed_883 = max(fragment_unnamed_880, 0.0f);
float fragment_unnamed_884 = dot(float3(0.695452213287353515625f, 0.140678703784942626953125f, 0.16386906802654266357421875f), float3(fragment_unnamed_881, fragment_unnamed_882, fragment_unnamed_883));
float fragment_unnamed_890 = dot(float3(0.0447945632040500640869140625f, 0.859671115875244140625f, 0.095534317195415496826171875f), float3(fragment_unnamed_881, fragment_unnamed_882, fragment_unnamed_883));
float fragment_unnamed_896 = dot(float3(-0.0055258828215301036834716796875f, 0.0040252101607620716094970703125f, 1.00150072574615478515625f), float3(fragment_unnamed_881, fragment_unnamed_882, fragment_unnamed_883));
precise float fragment_unnamed_902 = (-0.0f) - fragment_unnamed_890;
precise float fragment_unnamed_903 = (-0.0f) - fragment_unnamed_884;
precise float fragment_unnamed_904 = (-0.0f) - fragment_unnamed_896;
precise float fragment_unnamed_905 = fragment_unnamed_902 + fragment_unnamed_896;
precise float fragment_unnamed_906 = fragment_unnamed_903 + fragment_unnamed_890;
precise float fragment_unnamed_907 = fragment_unnamed_904 + fragment_unnamed_884;
precise float fragment_unnamed_908 = fragment_unnamed_905 * fragment_unnamed_896;
precise float fragment_unnamed_909 = fragment_unnamed_906 * fragment_unnamed_890;
precise float fragment_unnamed_910 = fragment_unnamed_909 + fragment_unnamed_908;
precise float fragment_unnamed_914 = fragment_unnamed_890 + fragment_unnamed_896;
precise float fragment_unnamed_915 = fragment_unnamed_884 + fragment_unnamed_914;
float fragment_unnamed_916 = mad(sqrt(max(mad(fragment_unnamed_884, fragment_unnamed_907, fragment_unnamed_910), 0.0f)), 1.75f, fragment_unnamed_915);
precise float fragment_unnamed_918 = fragment_unnamed_916 * 0.3333333432674407958984375f;
precise float fragment_unnamed_919 = 0.07999999821186065673828125f / fragment_unnamed_918;
float fragment_unnamed_925 = max(fragment_unnamed_896, max(fragment_unnamed_890, fragment_unnamed_884));
precise float fragment_unnamed_929 = (-0.0f) - max(min(fragment_unnamed_896, min(fragment_unnamed_890, fragment_unnamed_884)), 9.9999997473787516355514526367188e-05f);
precise float fragment_unnamed_930 = fragment_unnamed_929 + max(fragment_unnamed_925, 9.9999997473787516355514526367188e-05f);
precise float fragment_unnamed_931 = fragment_unnamed_930 / max(fragment_unnamed_925, 0.00999999977648258209228515625f);
precise float fragment_unnamed_932 = fragment_unnamed_919 + (-0.5f);
precise float fragment_unnamed_933 = fragment_unnamed_931 + (-0.4000000059604644775390625f);
precise float fragment_unnamed_935 = fragment_unnamed_933 * 2.5f;
precise float fragment_unnamed_941 = (-0.0f) - abs(fragment_unnamed_935);
precise float fragment_unnamed_942 = fragment_unnamed_941 + 1.0f;
float fragment_unnamed_943 = max(fragment_unnamed_942, 0.0f);
precise float fragment_unnamed_944 = (-0.0f) - fragment_unnamed_943;
precise float fragment_unnamed_947 = mad(asfloat((fragment_unnamed_933 >= 0.0f) ? 1065353216u : 3212836864u), mad(fragment_unnamed_944, fragment_unnamed_943, 1.0f), 1.0f) * 0.02500000037252902984619140625f;
precise float fragment_unnamed_949 = fragment_unnamed_932 * fragment_unnamed_947;
precise float fragment_unnamed_959 = asfloat((0.1599999964237213134765625f >= fragment_unnamed_916) ? asuint(fragment_unnamed_947) : ((fragment_unnamed_916 >= 0.4799999892711639404296875f) ? 0u : asuint(fragment_unnamed_949))) + 1.0f;
precise float fragment_unnamed_960 = fragment_unnamed_959 * fragment_unnamed_884;
precise float fragment_unnamed_961 = fragment_unnamed_959 * fragment_unnamed_890;
precise float fragment_unnamed_962 = fragment_unnamed_959 * fragment_unnamed_896;
precise float fragment_unnamed_963 = (-0.0f) - fragment_unnamed_884;
precise float fragment_unnamed_966 = (-0.0f) - fragment_unnamed_962;
precise float fragment_unnamed_968 = mad(fragment_unnamed_890, fragment_unnamed_959, fragment_unnamed_966) * 1.73205077648162841796875f;
precise float fragment_unnamed_970 = (-0.0f) - fragment_unnamed_961;
precise float fragment_unnamed_972 = (-0.0f) - fragment_unnamed_896;
float fragment_unnamed_973 = mad(fragment_unnamed_972, fragment_unnamed_959, mad(fragment_unnamed_960, 2.0f, fragment_unnamed_970));
precise float fragment_unnamed_977 = 1.0f / max(abs(fragment_unnamed_973), abs(fragment_unnamed_968));
precise float fragment_unnamed_981 = fragment_unnamed_977 * min(abs(fragment_unnamed_973), abs(fragment_unnamed_968));
precise float fragment_unnamed_982 = fragment_unnamed_981 * fragment_unnamed_981;
float fragment_unnamed_990 = mad(fragment_unnamed_982, mad(fragment_unnamed_982, mad(fragment_unnamed_982, mad(fragment_unnamed_982, 0.02083509974181652069091796875f, -0.08513300120830535888671875f), 0.1801410019397735595703125f), -0.33029949665069580078125f), 0.999866008758544921875f);
precise float fragment_unnamed_992 = fragment_unnamed_990 * fragment_unnamed_981;
float fragment_unnamed_1003 = min(fragment_unnamed_973, fragment_unnamed_968);
float fragment_unnamed_1004 = max(fragment_unnamed_973, fragment_unnamed_968);
precise float fragment_unnamed_1005 = (-0.0f) - fragment_unnamed_973;
precise float fragment_unnamed_1011 = asfloat(((fragment_unnamed_973 < fragment_unnamed_1005) ? 4294967295u : 0u) & 3226013659u) + mad(fragment_unnamed_981, fragment_unnamed_990, asfloat(((abs(fragment_unnamed_973) < abs(fragment_unnamed_968)) ? 4294967295u : 0u) & asuint(mad(fragment_unnamed_992, -2.0f, 1.57079637050628662109375f))));
precise float fragment_unnamed_1012 = (-0.0f) - fragment_unnamed_1004;
precise float fragment_unnamed_1015 = (-0.0f) - fragment_unnamed_1003;
precise float fragment_unnamed_1020 = (-0.0f) - fragment_unnamed_1011;
precise float fragment_unnamed_1022 = (((((fragment_unnamed_1004 >= fragment_unnamed_1012) ? 4294967295u : 0u) & ((fragment_unnamed_1003 < fragment_unnamed_1015) ? 4294967295u : 0u)) != 0u) ? fragment_unnamed_1020 : fragment_unnamed_1011) * 57.295780181884765625f;
uint fragment_unnamed_1031 = ((((fragment_unnamed_962 == fragment_unnamed_961) ? 4294967295u : 0u) & ((fragment_unnamed_961 == fragment_unnamed_960) ? 4294967295u : 0u)) != 0u) ? 0u : asuint(fragment_unnamed_1022);
float fragment_unnamed_1032 = asfloat(fragment_unnamed_1031);
precise float fragment_unnamed_1034 = fragment_unnamed_1032 + 360.0f;
uint fragment_unnamed_1037 = (fragment_unnamed_1032 < 0.0f) ? asuint(fragment_unnamed_1034) : fragment_unnamed_1031;
float fragment_unnamed_1038 = asfloat(fragment_unnamed_1037);
precise float fragment_unnamed_1041 = fragment_unnamed_1038 + 360.0f;
precise float fragment_unnamed_1042 = fragment_unnamed_1038 + (-360.0f);
precise float fragment_unnamed_1051 = asfloat((fragment_unnamed_1038 < (-180.0f)) ? asuint(fragment_unnamed_1041) : ((180.0f < fragment_unnamed_1038) ? asuint(fragment_unnamed_1042) : fragment_unnamed_1037)) * 0.01481481455266475677490234375f;
precise float fragment_unnamed_1054 = (-0.0f) - abs(fragment_unnamed_1051);
precise float fragment_unnamed_1055 = fragment_unnamed_1054 + 1.0f;
float fragment_unnamed_1056 = max(fragment_unnamed_1055, 0.0f);
precise float fragment_unnamed_1058 = fragment_unnamed_1056 * fragment_unnamed_1056;
precise float fragment_unnamed_1059 = fragment_unnamed_1058 * mad(fragment_unnamed_1056, -2.0f, 3.0f);
precise float fragment_unnamed_1060 = fragment_unnamed_1059 * fragment_unnamed_1059;
precise float fragment_unnamed_1061 = fragment_unnamed_931 * fragment_unnamed_1060;
precise float fragment_unnamed_1062 = mad(fragment_unnamed_963, fragment_unnamed_959, 0.02999999932944774627685546875f) * fragment_unnamed_1061;
float fragment_unnamed_1063 = mad(fragment_unnamed_1062, 0.180000007152557373046875f, fragment_unnamed_960);
float fragment_unnamed_1074 = max(dot(float3(1.45143926143646240234375f, -0.236510753631591796875f, -0.214928567409515380859375f), float3(fragment_unnamed_1063, fragment_unnamed_961, fragment_unnamed_962)), 0.0f);
float fragment_unnamed_1075 = max(dot(float3(-0.07655377686023712158203125f, 1.1762297153472900390625f, -0.0996759235858917236328125f), float3(fragment_unnamed_1063, fragment_unnamed_961, fragment_unnamed_962)), 0.0f);
float fragment_unnamed_1076 = max(dot(float3(0.0083161480724811553955078125f, -0.0060324496589601039886474609375f, 0.99771630764007568359375f), float3(fragment_unnamed_1063, fragment_unnamed_961, fragment_unnamed_962)), 0.0f);
float fragment_unnamed_1077 = dot(float3(fragment_unnamed_1074, fragment_unnamed_1075, fragment_unnamed_1076), float3(0.2722289860248565673828125f, 0.674081981182098388671875f, 0.0536894984543323516845703125f));
precise float fragment_unnamed_1080 = (-0.0f) - fragment_unnamed_1077;
precise float fragment_unnamed_1081 = fragment_unnamed_1080 + fragment_unnamed_1074;
precise float fragment_unnamed_1082 = fragment_unnamed_1080 + fragment_unnamed_1075;
precise float fragment_unnamed_1083 = fragment_unnamed_1080 + fragment_unnamed_1076;
float fragment_unnamed_1084 = mad(fragment_unnamed_1081, 0.959999978542327880859375f, fragment_unnamed_1077);
float fragment_unnamed_1086 = mad(fragment_unnamed_1082, 0.959999978542327880859375f, fragment_unnamed_1077);
float fragment_unnamed_1087 = mad(fragment_unnamed_1083, 0.959999978542327880859375f, fragment_unnamed_1077);
precise float fragment_unnamed_1088 = fragment_unnamed_1084 + 0.02457859925925731658935546875f;
precise float fragment_unnamed_1090 = fragment_unnamed_1086 + 0.02457859925925731658935546875f;
precise float fragment_unnamed_1091 = fragment_unnamed_1087 + 0.02457859925925731658935546875f;
precise float fragment_unnamed_1105 = mad(fragment_unnamed_1084, fragment_unnamed_1088, -9.0537003416102379560470581054688e-05f) / mad(fragment_unnamed_1084, mad(fragment_unnamed_1084, 0.98372900485992431640625f, 0.4329510033130645751953125f), 0.23808099329471588134765625f);
precise float fragment_unnamed_1106 = mad(fragment_unnamed_1086, fragment_unnamed_1090, -9.0537003416102379560470581054688e-05f) / mad(fragment_unnamed_1086, mad(fragment_unnamed_1086, 0.98372900485992431640625f, 0.4329510033130645751953125f), 0.23808099329471588134765625f);
precise float fragment_unnamed_1107 = mad(fragment_unnamed_1087, fragment_unnamed_1091, -9.0537003416102379560470581054688e-05f) / mad(fragment_unnamed_1087, mad(fragment_unnamed_1087, 0.98372900485992431640625f, 0.4329510033130645751953125f), 0.23808099329471588134765625f);
float fragment_unnamed_1114 = dot(float3(0.662454187870025634765625f, 0.1340042054653167724609375f, 0.1561876833438873291015625f), float3(fragment_unnamed_1105, fragment_unnamed_1106, fragment_unnamed_1107));
float fragment_unnamed_1120 = dot(float3(0.272228717803955078125f, 0.674081742763519287109375f, 0.053689517080783843994140625f), float3(fragment_unnamed_1105, fragment_unnamed_1106, fragment_unnamed_1107));
float fragment_unnamed_1129 = max(dot(float3(fragment_unnamed_1114, fragment_unnamed_1120, dot(float3(-0.0055746496655046939849853515625f, 0.0040607335977256298065185546875f, 1.01033914089202880859375f), float3(fragment_unnamed_1105, fragment_unnamed_1106, fragment_unnamed_1107))), 1.0f.xxx), 9.9999997473787516355514526367188e-05f);
precise float fragment_unnamed_1130 = fragment_unnamed_1114 / fragment_unnamed_1129;
precise float fragment_unnamed_1131 = fragment_unnamed_1120 / fragment_unnamed_1129;
precise float fragment_unnamed_1135 = log2(min(max(fragment_unnamed_1120, 0.0f), 65504.0f)) * 0.981100022792816162109375f;
float fragment_unnamed_1137 = exp2(fragment_unnamed_1135);
precise float fragment_unnamed_1138 = (-0.0f) - fragment_unnamed_1130;
precise float fragment_unnamed_1139 = fragment_unnamed_1138 + 1.0f;
precise float fragment_unnamed_1140 = (-0.0f) - fragment_unnamed_1131;
precise float fragment_unnamed_1141 = fragment_unnamed_1140 + fragment_unnamed_1139;
precise float fragment_unnamed_1143 = fragment_unnamed_1137 / max(fragment_unnamed_1131, 9.9999997473787516355514526367188e-05f);
precise float fragment_unnamed_1144 = fragment_unnamed_1143 * fragment_unnamed_1130;
precise float fragment_unnamed_1145 = fragment_unnamed_1143 * fragment_unnamed_1141;
float fragment_unnamed_1146 = dot(float3(1.6410233974456787109375f, -0.324803292751312255859375f, -0.23642469942569732666015625f), float3(fragment_unnamed_1144, fragment_unnamed_1137, fragment_unnamed_1145));
float fragment_unnamed_1152 = dot(float3(-0.663662850856781005859375f, 1.6153316497802734375f, 0.016756348311901092529296875f), float3(fragment_unnamed_1144, fragment_unnamed_1137, fragment_unnamed_1145));
float fragment_unnamed_1158 = dot(float3(0.01172189414501190185546875f, -0.008284442126750946044921875f, 0.98839485645294189453125f), float3(fragment_unnamed_1144, fragment_unnamed_1137, fragment_unnamed_1145));
float fragment_unnamed_1164 = dot(float3(fragment_unnamed_1146, fragment_unnamed_1152, fragment_unnamed_1158), float3(0.2722289860248565673828125f, 0.674081981182098388671875f, 0.0536894984543323516845703125f));
precise float fragment_unnamed_1167 = (-0.0f) - fragment_unnamed_1164;
precise float fragment_unnamed_1168 = fragment_unnamed_1167 + fragment_unnamed_1146;
precise float fragment_unnamed_1169 = fragment_unnamed_1167 + fragment_unnamed_1152;
precise float fragment_unnamed_1170 = fragment_unnamed_1167 + fragment_unnamed_1158;
float fragment_unnamed_1171 = mad(fragment_unnamed_1168, 0.930000007152557373046875f, fragment_unnamed_1164);
float fragment_unnamed_1173 = mad(fragment_unnamed_1169, 0.930000007152557373046875f, fragment_unnamed_1164);
float fragment_unnamed_1174 = mad(fragment_unnamed_1170, 0.930000007152557373046875f, fragment_unnamed_1164);
float fragment_unnamed_1175 = dot(float3(0.662454187870025634765625f, 0.1340042054653167724609375f, 0.1561876833438873291015625f), float3(fragment_unnamed_1171, fragment_unnamed_1173, fragment_unnamed_1174));
float fragment_unnamed_1178 = dot(float3(0.272228717803955078125f, 0.674081742763519287109375f, 0.053689517080783843994140625f), float3(fragment_unnamed_1171, fragment_unnamed_1173, fragment_unnamed_1174));
float fragment_unnamed_1181 = dot(float3(-0.0055746496655046939849853515625f, 0.0040607335977256298065185546875f, 1.01033914089202880859375f), float3(fragment_unnamed_1171, fragment_unnamed_1173, fragment_unnamed_1174));
float fragment_unnamed_1184 = dot(float3(0.98722398281097412109375f, -0.0061132698319852352142333984375f, 0.01595330052077770233154296875f), float3(fragment_unnamed_1175, fragment_unnamed_1178, fragment_unnamed_1181));
float fragment_unnamed_1190 = dot(float3(-0.007598360069096088409423828125f, 1.00186002254486083984375f, 0.0053301998414099216461181640625f), float3(fragment_unnamed_1175, fragment_unnamed_1178, fragment_unnamed_1181));
float fragment_unnamed_1196 = dot(float3(0.003072570078074932098388671875f, -0.0050959498621523380279541015625f, 1.0816800594329833984375f), float3(fragment_unnamed_1175, fragment_unnamed_1178, fragment_unnamed_1181));
fragment_output_0.x = dot(float3(3.2409698963165283203125f, -1.53738319873809814453125f, -0.4986107647418975830078125f), float3(fragment_unnamed_1184, fragment_unnamed_1190, fragment_unnamed_1196));
fragment_output_0.y = dot(float3(-0.96924364566802978515625f, 1.875967502593994140625f, 0.0415550582110881805419921875f), float3(fragment_unnamed_1184, fragment_unnamed_1190, fragment_unnamed_1196));
fragment_output_0.z = dot(float3(0.055630080401897430419921875f, -0.2039769589900970458984375f, 1.05697154998779296875f), float3(fragment_unnamed_1184, fragment_unnamed_1190, fragment_unnamed_1196));
fragment_output_0.w = 1.0f;
}
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
{
fragment_uniform_buffer_0[105] = float4(_Lut_Params[0], _Lut_Params[1], _Lut_Params[2], _Lut_Params[3]);
fragment_uniform_buffer_0[106] = float4(_ColorBalance[0], _ColorBalance[1], _ColorBalance[2], _ColorBalance[3]);
fragment_uniform_buffer_0[107] = float4(_ColorFilter[0], _ColorFilter[1], _ColorFilter[2], _ColorFilter[3]);
fragment_uniform_buffer_0[108] = float4(_ChannelMixerRed[0], _ChannelMixerRed[1], _ChannelMixerRed[2], _ChannelMixerRed[3]);
fragment_uniform_buffer_0[109] = float4(_ChannelMixerGreen[0], _ChannelMixerGreen[1], _ChannelMixerGreen[2], _ChannelMixerGreen[3]);
fragment_uniform_buffer_0[110] = float4(_ChannelMixerBlue[0], _ChannelMixerBlue[1], _ChannelMixerBlue[2], _ChannelMixerBlue[3]);
fragment_uniform_buffer_0[111] = float4(_HueSatCon[0], _HueSatCon[1], _HueSatCon[2], _HueSatCon[3]);
fragment_uniform_buffer_0[112] = float4(_Lift[0], _Lift[1], _Lift[2], _Lift[3]);
fragment_uniform_buffer_0[113] = float4(_Gamma[0], _Gamma[1], _Gamma[2], _Gamma[3]);
fragment_uniform_buffer_0[114] = float4(_Gain[0], _Gain[1], _Gain[2], _Gain[3]);
fragment_uniform_buffer_0[115] = float4(_Shadows[0], _Shadows[1], _Shadows[2], _Shadows[3]);
fragment_uniform_buffer_0[116] = float4(_Midtones[0], _Midtones[1], _Midtones[2], _Midtones[3]);
fragment_uniform_buffer_0[117] = float4(_Highlights[0], _Highlights[1], _Highlights[2], _Highlights[3]);
fragment_uniform_buffer_0[118] = float4(_ShaHiLimits[0], _ShaHiLimits[1], _ShaHiLimits[2], _ShaHiLimits[3]);
fragment_uniform_buffer_0[119] = float4(_SplitShadows[0], _SplitShadows[1], _SplitShadows[2], _SplitShadows[3]);
fragment_uniform_buffer_0[120] = float4(_SplitHighlights[0], _SplitHighlights[1], _SplitHighlights[2], _SplitHighlights[3]);
fragment_input_1 = stage_input.fragment_input_1;
frag_main();
Fragment_Stage_Output stage_output;
stage_output.fragment_output_0 = fragment_output_0;
return stage_output;
}
#endif // STEREO_INSTANCING_ON
#endif // _TONEMAP_ACES
#endif // !_TONEMAP_NEUTRAL
#ifdef _TONEMAP_NEUTRAL
#ifndef STEREO_INSTANCING_ON
#ifndef _TONEMAP_ACES
#define ANY_SHADER_VARIANT_ACTIVE
float4 _Lut_Params;
float4 _ColorBalance;
float4 _ColorFilter;
float4 _ChannelMixerRed;
float4 _ChannelMixerGreen;
float4 _ChannelMixerBlue;
float4 _HueSatCon;
float4 _Lift;
float4 _Gamma;
float4 _Gain;
float4 _Shadows;
float4 _Midtones;
float4 _Highlights;
float4 _ShaHiLimits;
float4 _SplitShadows;
float4 _SplitHighlights;
static float4 fragment_uniform_buffer_0[152];
Texture2D<float4> _CurveMaster;
Texture2D<float4> _CurveRed;
Texture2D<float4> _CurveGreen;
Texture2D<float4> _CurveBlue;
Texture2D<float4> _CurveHueVsHue;
Texture2D<float4> _CurveHueVsSat;
Texture2D<float4> _CurveSatVsSat;
Texture2D<float4> _CurveLumVsSat;
SamplerState S0;
static float2 fragment_input_1;
static float4 fragment_output_0;
struct Fragment_Stage_Input
{
float2 fragment_input_1 : TEXCOORD; // TEXCOORD
};
struct Fragment_Stage_Output
{
float4 fragment_output_0 : SV_Target0;
};
void frag_main()
{
precise float fragment_unnamed_51 = fragment_input_1.x * fragment_uniform_buffer_0[136u].x;
float fragment_unnamed_53 = floor(fragment_unnamed_51);
precise float fragment_unnamed_59 = (-0.0f) - fragment_unnamed_53;
precise float fragment_unnamed_65 = fragment_unnamed_53 * fragment_uniform_buffer_0[136u].z;
precise float fragment_unnamed_69 = fragment_unnamed_65 * fragment_uniform_buffer_0[136u].w;
precise float fragment_unnamed_76 = (-0.0f) - fragment_uniform_buffer_0[136u].z;
precise float fragment_unnamed_77 = mad(fragment_input_1.x, fragment_uniform_buffer_0[136u].x, fragment_unnamed_59) + fragment_unnamed_76;
precise float fragment_unnamed_78 = fragment_input_1.y + fragment_unnamed_76;
float fragment_unnamed_84 = asfloat(asuint(fragment_uniform_buffer_0[136u]).w);
precise float fragment_unnamed_91 = mad(fragment_unnamed_77, fragment_unnamed_84, -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_93 = mad(fragment_unnamed_78, fragment_unnamed_84, -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_94 = mad(fragment_unnamed_69, asfloat(1073741824u), -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_98 = exp2(fragment_unnamed_91) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_100 = exp2(fragment_unnamed_93) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_101 = exp2(fragment_unnamed_94) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_102 = fragment_unnamed_98 * 0.17999999225139617919921875f;
precise float fragment_unnamed_104 = fragment_unnamed_100 * 0.17999999225139617919921875f;
precise float fragment_unnamed_105 = fragment_unnamed_101 * 0.17999999225139617919921875f;
precise float fragment_unnamed_131 = dot(float3(0.390404999256134033203125f, 0.549941003322601318359375f, 0.008926319889724254608154296875f), float3(fragment_unnamed_102, fragment_unnamed_104, fragment_unnamed_105)) * fragment_uniform_buffer_0[137u].x;
precise float fragment_unnamed_132 = dot(float3(0.070841602981090545654296875f, 0.963172018527984619140625f, 0.001357750035822391510009765625f), float3(fragment_unnamed_102, fragment_unnamed_104, fragment_unnamed_105)) * fragment_uniform_buffer_0[137u].y;
precise float fragment_unnamed_133 = dot(float3(0.02310819923877716064453125f, 0.1280210018157958984375f, 0.936245024204254150390625f), float3(fragment_unnamed_102, fragment_unnamed_104, fragment_unnamed_105)) * fragment_uniform_buffer_0[137u].z;
precise float fragment_unnamed_177 = mad(mad(log2(max(mad(dot(float3(2.85846996307373046875f, -1.62879002094268798828125f, -0.0248910002410411834716796875f), float3(fragment_unnamed_131, fragment_unnamed_132, fragment_unnamed_133)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[142u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
precise float fragment_unnamed_178 = mad(mad(log2(max(mad(dot(float3(-0.21018199622631072998046875f, 1.1582000255584716796875f, 0.0003242809907533228397369384765625f), float3(fragment_unnamed_131, fragment_unnamed_132, fragment_unnamed_133)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[142u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
precise float fragment_unnamed_179 = mad(mad(log2(max(mad(dot(float3(-0.0418119989335536956787109375f, -0.118169002234935760498046875f, 1.0686700344085693359375f), float3(fragment_unnamed_131, fragment_unnamed_132, fragment_unnamed_133)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[142u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
precise float fragment_unnamed_183 = exp2(fragment_unnamed_177) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_184 = exp2(fragment_unnamed_178) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_185 = exp2(fragment_unnamed_179) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_192 = fragment_unnamed_183 * fragment_uniform_buffer_0[138u].x;
precise float fragment_unnamed_193 = fragment_unnamed_184 * fragment_uniform_buffer_0[138u].y;
precise float fragment_unnamed_194 = fragment_unnamed_185 * fragment_uniform_buffer_0[138u].z;
precise float fragment_unnamed_195 = fragment_unnamed_192 * 0.17999999225139617919921875f;
precise float fragment_unnamed_196 = fragment_unnamed_193 * 0.17999999225139617919921875f;
precise float fragment_unnamed_197 = fragment_unnamed_194 * 0.17999999225139617919921875f;
precise float fragment_unnamed_204 = log2(max(fragment_unnamed_195, 0.0f)) * 0.4545454680919647216796875f;
precise float fragment_unnamed_206 = log2(max(fragment_unnamed_196, 0.0f)) * 0.4545454680919647216796875f;
precise float fragment_unnamed_207 = log2(max(fragment_unnamed_197, 0.0f)) * 0.4545454680919647216796875f;
float fragment_unnamed_208 = exp2(fragment_unnamed_204);
float fragment_unnamed_209 = exp2(fragment_unnamed_206);
float fragment_unnamed_210 = exp2(fragment_unnamed_207);
precise float fragment_unnamed_211 = fragment_unnamed_208 + fragment_unnamed_208;
precise float fragment_unnamed_212 = fragment_unnamed_209 + fragment_unnamed_209;
precise float fragment_unnamed_213 = fragment_unnamed_210 + fragment_unnamed_210;
precise float fragment_unnamed_214 = fragment_unnamed_208 * fragment_unnamed_208;
precise float fragment_unnamed_215 = fragment_unnamed_209 * fragment_unnamed_209;
precise float fragment_unnamed_216 = fragment_unnamed_210 * fragment_unnamed_210;
precise float fragment_unnamed_234 = dot(float3(min(fragment_unnamed_208, 1.0f), min(fragment_unnamed_209, 1.0f), min(fragment_unnamed_210, 1.0f)), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f)) + fragment_uniform_buffer_0[150u].w;
float fragment_unnamed_235 = clamp(fragment_unnamed_234, 0.0f, 1.0f);
precise float fragment_unnamed_236 = (-0.0f) - fragment_unnamed_235;
precise float fragment_unnamed_237 = fragment_unnamed_236 + 1.0f;
precise float fragment_unnamed_243 = fragment_uniform_buffer_0[150u].x + (-0.5f);
precise float fragment_unnamed_245 = fragment_uniform_buffer_0[150u].y + (-0.5f);
precise float fragment_unnamed_246 = fragment_uniform_buffer_0[150u].z + (-0.5f);
float fragment_unnamed_247 = mad(fragment_unnamed_237, fragment_unnamed_243, 0.5f);
float fragment_unnamed_249 = mad(fragment_unnamed_237, fragment_unnamed_245, 0.5f);
float fragment_unnamed_250 = mad(fragment_unnamed_237, fragment_unnamed_246, 0.5f);
precise float fragment_unnamed_251 = (-0.0f) - fragment_unnamed_247;
precise float fragment_unnamed_252 = (-0.0f) - fragment_unnamed_249;
precise float fragment_unnamed_253 = (-0.0f) - fragment_unnamed_250;
precise float fragment_unnamed_258 = fragment_unnamed_214 * mad(fragment_unnamed_251, 2.0f, 1.0f);
precise float fragment_unnamed_259 = fragment_unnamed_215 * mad(fragment_unnamed_252, 2.0f, 1.0f);
precise float fragment_unnamed_260 = fragment_unnamed_216 * mad(fragment_unnamed_253, 2.0f, 1.0f);
bool fragment_unnamed_265 = fragment_unnamed_247 >= 0.5f;
bool fragment_unnamed_266 = fragment_unnamed_249 >= 0.5f;
bool fragment_unnamed_267 = fragment_unnamed_250 >= 0.5f;
precise float fragment_unnamed_283 = mad(fragment_unnamed_211, fragment_unnamed_247, fragment_unnamed_258) * asfloat(fragment_unnamed_265 ? 0u : 1065353216u);
precise float fragment_unnamed_284 = mad(fragment_unnamed_212, fragment_unnamed_249, fragment_unnamed_259) * asfloat(fragment_unnamed_266 ? 0u : 1065353216u);
precise float fragment_unnamed_285 = mad(fragment_unnamed_213, fragment_unnamed_250, fragment_unnamed_260) * asfloat(fragment_unnamed_267 ? 0u : 1065353216u);
precise float fragment_unnamed_286 = (-0.0f) - fragment_unnamed_247;
precise float fragment_unnamed_287 = (-0.0f) - fragment_unnamed_249;
precise float fragment_unnamed_288 = (-0.0f) - fragment_unnamed_250;
precise float fragment_unnamed_289 = fragment_unnamed_286 + 1.0f;
precise float fragment_unnamed_290 = fragment_unnamed_287 + 1.0f;
precise float fragment_unnamed_291 = fragment_unnamed_288 + 1.0f;
precise float fragment_unnamed_296 = fragment_unnamed_211 * fragment_unnamed_289;
precise float fragment_unnamed_297 = fragment_unnamed_212 * fragment_unnamed_290;
precise float fragment_unnamed_298 = fragment_unnamed_213 * fragment_unnamed_291;
float fragment_unnamed_304 = mad(mad(sqrt(fragment_unnamed_208), mad(fragment_unnamed_247, 2.0f, -1.0f), fragment_unnamed_296), asfloat((fragment_unnamed_265 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_283);
float fragment_unnamed_305 = mad(mad(sqrt(fragment_unnamed_209), mad(fragment_unnamed_249, 2.0f, -1.0f), fragment_unnamed_297), asfloat((fragment_unnamed_266 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_284);
float fragment_unnamed_306 = mad(mad(sqrt(fragment_unnamed_210), mad(fragment_unnamed_250, 2.0f, -1.0f), fragment_unnamed_298), asfloat((fragment_unnamed_267 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_285);
precise float fragment_unnamed_307 = fragment_unnamed_304 + fragment_unnamed_304;
precise float fragment_unnamed_308 = fragment_unnamed_305 + fragment_unnamed_305;
precise float fragment_unnamed_309 = fragment_unnamed_306 + fragment_unnamed_306;
precise float fragment_unnamed_310 = fragment_unnamed_304 * fragment_unnamed_304;
precise float fragment_unnamed_311 = fragment_unnamed_305 * fragment_unnamed_305;
precise float fragment_unnamed_312 = fragment_unnamed_306 * fragment_unnamed_306;
precise float fragment_unnamed_322 = fragment_uniform_buffer_0[151u].x + (-0.5f);
precise float fragment_unnamed_323 = fragment_uniform_buffer_0[151u].y + (-0.5f);
precise float fragment_unnamed_324 = fragment_uniform_buffer_0[151u].z + (-0.5f);
float fragment_unnamed_325 = mad(fragment_unnamed_235, fragment_unnamed_322, 0.5f);
float fragment_unnamed_326 = mad(fragment_unnamed_235, fragment_unnamed_323, 0.5f);
float fragment_unnamed_327 = mad(fragment_unnamed_235, fragment_unnamed_324, 0.5f);
precise float fragment_unnamed_328 = (-0.0f) - fragment_unnamed_325;
precise float fragment_unnamed_329 = (-0.0f) - fragment_unnamed_326;
precise float fragment_unnamed_330 = (-0.0f) - fragment_unnamed_327;
precise float fragment_unnamed_334 = fragment_unnamed_310 * mad(fragment_unnamed_328, 2.0f, 1.0f);
precise float fragment_unnamed_335 = fragment_unnamed_311 * mad(fragment_unnamed_329, 2.0f, 1.0f);
precise float fragment_unnamed_336 = fragment_unnamed_312 * mad(fragment_unnamed_330, 2.0f, 1.0f);
bool fragment_unnamed_340 = fragment_unnamed_325 >= 0.5f;
bool fragment_unnamed_341 = fragment_unnamed_326 >= 0.5f;
bool fragment_unnamed_342 = fragment_unnamed_327 >= 0.5f;
precise float fragment_unnamed_356 = mad(fragment_unnamed_307, fragment_unnamed_325, fragment_unnamed_334) * asfloat(fragment_unnamed_340 ? 0u : 1065353216u);
precise float fragment_unnamed_357 = mad(fragment_unnamed_308, fragment_unnamed_326, fragment_unnamed_335) * asfloat(fragment_unnamed_341 ? 0u : 1065353216u);
precise float fragment_unnamed_358 = mad(fragment_unnamed_309, fragment_unnamed_327, fragment_unnamed_336) * asfloat(fragment_unnamed_342 ? 0u : 1065353216u);
precise float fragment_unnamed_359 = (-0.0f) - fragment_unnamed_325;
precise float fragment_unnamed_360 = (-0.0f) - fragment_unnamed_326;
precise float fragment_unnamed_361 = (-0.0f) - fragment_unnamed_327;
precise float fragment_unnamed_362 = fragment_unnamed_359 + 1.0f;
precise float fragment_unnamed_363 = fragment_unnamed_360 + 1.0f;
precise float fragment_unnamed_364 = fragment_unnamed_361 + 1.0f;
precise float fragment_unnamed_368 = fragment_unnamed_307 * fragment_unnamed_362;
precise float fragment_unnamed_369 = fragment_unnamed_308 * fragment_unnamed_363;
precise float fragment_unnamed_370 = fragment_unnamed_309 * fragment_unnamed_364;
precise float fragment_unnamed_385 = log2(abs(mad(mad(sqrt(fragment_unnamed_304), mad(fragment_unnamed_325, 2.0f, -1.0f), fragment_unnamed_368), asfloat((fragment_unnamed_340 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_356))) * 2.2000000476837158203125f;
precise float fragment_unnamed_387 = log2(abs(mad(mad(sqrt(fragment_unnamed_305), mad(fragment_unnamed_326, 2.0f, -1.0f), fragment_unnamed_369), asfloat((fragment_unnamed_341 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_357))) * 2.2000000476837158203125f;
precise float fragment_unnamed_388 = log2(abs(mad(mad(sqrt(fragment_unnamed_306), mad(fragment_unnamed_327, 2.0f, -1.0f), fragment_unnamed_370), asfloat((fragment_unnamed_342 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_358))) * 2.2000000476837158203125f;
float fragment_unnamed_389 = exp2(fragment_unnamed_385);
float fragment_unnamed_390 = exp2(fragment_unnamed_387);
float fragment_unnamed_391 = exp2(fragment_unnamed_388);
float fragment_unnamed_398 = dot(float3(fragment_unnamed_389, fragment_unnamed_390, fragment_unnamed_391), float3(fragment_uniform_buffer_0[139u].xyz));
float fragment_unnamed_407 = dot(float3(fragment_unnamed_389, fragment_unnamed_390, fragment_unnamed_391), float3(fragment_uniform_buffer_0[140u].xyz));
float fragment_unnamed_416 = dot(float3(fragment_unnamed_389, fragment_unnamed_390, fragment_unnamed_391), float3(fragment_uniform_buffer_0[141u].xyz));
precise float fragment_unnamed_425 = fragment_unnamed_398 * fragment_uniform_buffer_0[147u].x;
precise float fragment_unnamed_426 = fragment_unnamed_407 * fragment_uniform_buffer_0[147u].y;
precise float fragment_unnamed_427 = fragment_unnamed_416 * fragment_uniform_buffer_0[147u].z;
float fragment_unnamed_428 = dot(float3(fragment_unnamed_398, fragment_unnamed_407, fragment_unnamed_416), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f));
precise float fragment_unnamed_435 = (-0.0f) - fragment_uniform_buffer_0[149u].x;
precise float fragment_unnamed_437 = (-0.0f) - fragment_uniform_buffer_0[149u].z;
precise float fragment_unnamed_438 = fragment_unnamed_428 + fragment_unnamed_435;
precise float fragment_unnamed_439 = fragment_unnamed_428 + fragment_unnamed_437;
precise float fragment_unnamed_443 = (-0.0f) - fragment_uniform_buffer_0[149u].x;
precise float fragment_unnamed_445 = (-0.0f) - fragment_uniform_buffer_0[149u].z;
precise float fragment_unnamed_450 = fragment_unnamed_443 + fragment_uniform_buffer_0[149u].y;
precise float fragment_unnamed_451 = fragment_unnamed_445 + fragment_uniform_buffer_0[149u].w;
precise float fragment_unnamed_452 = 1.0f / fragment_unnamed_450;
precise float fragment_unnamed_453 = 1.0f / fragment_unnamed_451;
precise float fragment_unnamed_454 = fragment_unnamed_452 * fragment_unnamed_438;
precise float fragment_unnamed_455 = fragment_unnamed_453 * fragment_unnamed_439;
float fragment_unnamed_456 = clamp(fragment_unnamed_454, 0.0f, 1.0f);
float fragment_unnamed_457 = clamp(fragment_unnamed_455, 0.0f, 1.0f);
float fragment_unnamed_461 = mad(fragment_unnamed_457, -2.0f, 3.0f);
precise float fragment_unnamed_462 = fragment_unnamed_456 * fragment_unnamed_456;
precise float fragment_unnamed_463 = fragment_unnamed_457 * fragment_unnamed_457;
precise float fragment_unnamed_464 = (-0.0f) - mad(fragment_unnamed_456, -2.0f, 3.0f);
float fragment_unnamed_465 = mad(fragment_unnamed_464, fragment_unnamed_462, 1.0f);
precise float fragment_unnamed_466 = (-0.0f) - fragment_unnamed_465;
precise float fragment_unnamed_467 = fragment_unnamed_466 + 1.0f;
precise float fragment_unnamed_468 = (-0.0f) - fragment_unnamed_461;
float fragment_unnamed_469 = mad(fragment_unnamed_468, fragment_unnamed_463, fragment_unnamed_467);
precise float fragment_unnamed_470 = fragment_unnamed_463 * fragment_unnamed_461;
precise float fragment_unnamed_471 = fragment_unnamed_425 * fragment_unnamed_469;
precise float fragment_unnamed_472 = fragment_unnamed_426 * fragment_unnamed_469;
precise float fragment_unnamed_473 = fragment_unnamed_427 * fragment_unnamed_469;
precise float fragment_unnamed_480 = fragment_unnamed_398 * fragment_uniform_buffer_0[146u].x;
precise float fragment_unnamed_481 = fragment_unnamed_407 * fragment_uniform_buffer_0[146u].y;
precise float fragment_unnamed_482 = fragment_unnamed_416 * fragment_uniform_buffer_0[146u].z;
precise float fragment_unnamed_489 = fragment_unnamed_398 * fragment_uniform_buffer_0[148u].x;
precise float fragment_unnamed_490 = fragment_unnamed_407 * fragment_uniform_buffer_0[148u].y;
precise float fragment_unnamed_491 = fragment_unnamed_416 * fragment_uniform_buffer_0[148u].z;
float fragment_unnamed_510 = mad(mad(fragment_unnamed_489, fragment_unnamed_470, mad(fragment_unnamed_480, fragment_unnamed_465, fragment_unnamed_471)), fragment_uniform_buffer_0[145u].x, fragment_uniform_buffer_0[143u].x);
float fragment_unnamed_511 = mad(mad(fragment_unnamed_490, fragment_unnamed_470, mad(fragment_unnamed_481, fragment_unnamed_465, fragment_unnamed_472)), fragment_uniform_buffer_0[145u].y, fragment_uniform_buffer_0[143u].y);
float fragment_unnamed_512 = mad(mad(fragment_unnamed_491, fragment_unnamed_470, mad(fragment_unnamed_482, fragment_unnamed_465, fragment_unnamed_473)), fragment_uniform_buffer_0[145u].z, fragment_uniform_buffer_0[143u].z);
precise float fragment_unnamed_537 = log2(abs(fragment_unnamed_510)) * fragment_uniform_buffer_0[144u].x;
precise float fragment_unnamed_538 = log2(abs(fragment_unnamed_511)) * fragment_uniform_buffer_0[144u].y;
precise float fragment_unnamed_539 = log2(abs(fragment_unnamed_512)) * fragment_uniform_buffer_0[144u].z;
float fragment_unnamed_541 = exp2(fragment_unnamed_538);
float fragment_unnamed_542 = exp2(fragment_unnamed_539);
float fragment_unnamed_550 = float(int((-((0.0f < fragment_unnamed_511) ? 4294967295u : 0u)) + ((fragment_unnamed_511 < 0.0f) ? 4294967295u : 0u)));
float fragment_unnamed_551 = float(int((-((0.0f < fragment_unnamed_512) ? 4294967295u : 0u)) + ((fragment_unnamed_512 < 0.0f) ? 4294967295u : 0u)));
precise float fragment_unnamed_552 = exp2(fragment_unnamed_537) * float(int((-((0.0f < fragment_unnamed_510) ? 4294967295u : 0u)) + ((fragment_unnamed_510 < 0.0f) ? 4294967295u : 0u)));
precise float fragment_unnamed_553 = fragment_unnamed_541 * fragment_unnamed_550;
precise float fragment_unnamed_554 = fragment_unnamed_542 * fragment_unnamed_551;
precise float fragment_unnamed_555 = (-0.0f) - fragment_unnamed_554;
precise float fragment_unnamed_556 = (-0.0f) - fragment_unnamed_553;
float fragment_unnamed_562 = asfloat(((fragment_unnamed_553 >= fragment_unnamed_554) ? 4294967295u : 0u) & 1065353216u);
float fragment_unnamed_569 = mad(fragment_unnamed_562, mad(fragment_unnamed_550, fragment_unnamed_541, fragment_unnamed_555), fragment_unnamed_554);
float fragment_unnamed_570 = mad(fragment_unnamed_562, mad(fragment_unnamed_551, fragment_unnamed_542, fragment_unnamed_556), fragment_unnamed_553);
float fragment_unnamed_571 = mad(fragment_unnamed_562, asfloat(3212836864u), asfloat(1059760811u));
float fragment_unnamed_576 = asfloat(((fragment_unnamed_552 >= fragment_unnamed_569) ? 4294967295u : 0u) & 1065353216u);
precise float fragment_unnamed_580 = (-0.0f) - fragment_unnamed_569;
precise float fragment_unnamed_581 = (-0.0f) - fragment_unnamed_570;
precise float fragment_unnamed_582 = (-0.0f) - fragment_unnamed_571;
precise float fragment_unnamed_583 = (-0.0f) - fragment_unnamed_552;
precise float fragment_unnamed_584 = fragment_unnamed_580 + fragment_unnamed_552;
precise float fragment_unnamed_585 = fragment_unnamed_581 + fragment_unnamed_570;
precise float fragment_unnamed_586 = fragment_unnamed_582 + mad(fragment_unnamed_562, asfloat(1065353216u), asfloat(3212836864u));
precise float fragment_unnamed_587 = fragment_unnamed_583 + fragment_unnamed_569;
float fragment_unnamed_588 = mad(fragment_unnamed_576, fragment_unnamed_584, fragment_unnamed_569);
float fragment_unnamed_589 = mad(fragment_unnamed_576, fragment_unnamed_585, fragment_unnamed_570);
float fragment_unnamed_591 = mad(fragment_unnamed_576, fragment_unnamed_587, fragment_unnamed_552);
precise float fragment_unnamed_593 = (-0.0f) - min(fragment_unnamed_589, fragment_unnamed_591);
precise float fragment_unnamed_594 = fragment_unnamed_588 + fragment_unnamed_593;
precise float fragment_unnamed_598 = (-0.0f) - fragment_unnamed_589;
precise float fragment_unnamed_599 = fragment_unnamed_598 + fragment_unnamed_591;
precise float fragment_unnamed_600 = fragment_unnamed_599 / mad(fragment_unnamed_594, 6.0f, 9.9999997473787516355514526367188e-05f);
precise float fragment_unnamed_601 = fragment_unnamed_600 + mad(fragment_unnamed_576, fragment_unnamed_586, fragment_unnamed_571);
float fragment_unnamed_602 = abs(fragment_unnamed_601);
precise float fragment_unnamed_606 = fragment_unnamed_602 + fragment_uniform_buffer_0[142u].x;
precise float fragment_unnamed_627 = fragment_unnamed_606 + clamp(_CurveHueVsHue.SampleBias(S0, float2(fragment_unnamed_606, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_628 = fragment_unnamed_627 + (-0.5f);
precise float fragment_unnamed_629 = fragment_unnamed_627 + 0.5f;
precise float fragment_unnamed_630 = fragment_unnamed_627 + (-1.5f);
float fragment_unnamed_639 = asfloat((fragment_unnamed_628 < 0.0f) ? asuint(fragment_unnamed_629) : ((1.0f < fragment_unnamed_628) ? asuint(fragment_unnamed_630) : asuint(fragment_unnamed_628)));
precise float fragment_unnamed_640 = fragment_unnamed_639 + 1.0f;
precise float fragment_unnamed_641 = fragment_unnamed_639 + 0.666666686534881591796875f;
precise float fragment_unnamed_643 = fragment_unnamed_639 + 0.3333333432674407958984375f;
precise float fragment_unnamed_655 = abs(mad(frac(fragment_unnamed_640), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_656 = abs(mad(frac(fragment_unnamed_641), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_657 = abs(mad(frac(fragment_unnamed_643), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_661 = clamp(fragment_unnamed_655, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_662 = clamp(fragment_unnamed_656, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_663 = clamp(fragment_unnamed_657, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_664 = fragment_unnamed_588 + 9.9999997473787516355514526367188e-05f;
precise float fragment_unnamed_665 = fragment_unnamed_594 / fragment_unnamed_664;
float fragment_unnamed_666 = mad(fragment_unnamed_665, fragment_unnamed_661, 1.0f);
float fragment_unnamed_667 = mad(fragment_unnamed_665, fragment_unnamed_662, 1.0f);
float fragment_unnamed_668 = mad(fragment_unnamed_665, fragment_unnamed_663, 1.0f);
precise float fragment_unnamed_669 = fragment_unnamed_666 * fragment_unnamed_588;
precise float fragment_unnamed_670 = fragment_unnamed_667 * fragment_unnamed_588;
precise float fragment_unnamed_671 = fragment_unnamed_668 * fragment_unnamed_588;
float fragment_unnamed_672 = dot(float3(fragment_unnamed_669, fragment_unnamed_670, fragment_unnamed_671), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f));
precise float fragment_unnamed_675 = (-0.0f) - fragment_unnamed_672;
float fragment_unnamed_696 = clamp(_CurveHueVsSat.SampleBias(S0, float2(fragment_unnamed_602, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_697 = fragment_unnamed_696 + fragment_unnamed_696;
precise float fragment_unnamed_701 = dot(clamp(_CurveSatVsSat.SampleBias(S0, float2(fragment_unnamed_665, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f).xx, fragment_unnamed_697.xx) * clamp(_CurveLumVsSat.SampleBias(S0, float2(dot(float3(fragment_unnamed_552, fragment_unnamed_553, fragment_unnamed_554), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f)), asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_705 = dot(fragment_uniform_buffer_0[142u].y.xx, fragment_unnamed_701.xx);
float fragment_unnamed_708 = mad(fragment_unnamed_705, mad(fragment_unnamed_588, fragment_unnamed_666, fragment_unnamed_675), fragment_unnamed_672);
float fragment_unnamed_709 = mad(fragment_unnamed_705, mad(fragment_unnamed_588, fragment_unnamed_667, fragment_unnamed_675), fragment_unnamed_672);
float fragment_unnamed_710 = mad(fragment_unnamed_705, mad(fragment_unnamed_588, fragment_unnamed_668, fragment_unnamed_675), fragment_unnamed_672);
precise float fragment_unnamed_713 = max(fragment_unnamed_710, max(fragment_unnamed_709, fragment_unnamed_708)) + 1.0f;
precise float fragment_unnamed_714 = 1.0f / fragment_unnamed_713;
float fragment_unnamed_719 = asfloat(0u);
precise float fragment_unnamed_742 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_708, fragment_unnamed_714, 0.00390625f), fragment_unnamed_719), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
precise float fragment_unnamed_743 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_709, fragment_unnamed_714, 0.00390625f), fragment_unnamed_719), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
precise float fragment_unnamed_744 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_710, fragment_unnamed_714, 0.00390625f), fragment_unnamed_719), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
float fragment_unnamed_745 = asfloat(0u);
float fragment_unnamed_753 = clamp(_CurveRed.SampleBias(S0, float2(fragment_unnamed_742, fragment_unnamed_745), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_768 = clamp(_CurveBlue.SampleBias(S0, float2(fragment_unnamed_744, fragment_unnamed_745), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_769 = clamp(_CurveGreen.SampleBias(S0, float2(fragment_unnamed_743, fragment_unnamed_745), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_772 = (-0.0f) - max(fragment_unnamed_768, max(fragment_unnamed_769, fragment_unnamed_753));
precise float fragment_unnamed_773 = fragment_unnamed_772 + 1.0f;
precise float fragment_unnamed_774 = 1.0f / fragment_unnamed_773;
precise float fragment_unnamed_775 = fragment_unnamed_774 * fragment_unnamed_753;
precise float fragment_unnamed_776 = fragment_unnamed_774 * fragment_unnamed_769;
precise float fragment_unnamed_777 = fragment_unnamed_774 * fragment_unnamed_768;
float fragment_unnamed_778 = max(fragment_unnamed_775, 0.0f);
float fragment_unnamed_779 = max(fragment_unnamed_776, 0.0f);
float fragment_unnamed_780 = max(fragment_unnamed_777, 0.0f);
precise float fragment_unnamed_786 = fragment_unnamed_778 * 1.31338608264923095703125f;
precise float fragment_unnamed_788 = fragment_unnamed_779 * 1.31338608264923095703125f;
precise float fragment_unnamed_789 = fragment_unnamed_780 * 1.31338608264923095703125f;
precise float fragment_unnamed_802 = mad(fragment_unnamed_786, mad(fragment_unnamed_778, 0.2626772224903106689453125f, 0.069599993526935577392578125f), 0.0054399999789893627166748046875f) / mad(fragment_unnamed_786, mad(fragment_unnamed_778, 0.2626772224903106689453125f, 0.2899999916553497314453125f), 0.081600010395050048828125f);
precise float fragment_unnamed_803 = mad(fragment_unnamed_788, mad(fragment_unnamed_779, 0.2626772224903106689453125f, 0.069599993526935577392578125f), 0.0054399999789893627166748046875f) / mad(fragment_unnamed_788, mad(fragment_unnamed_779, 0.2626772224903106689453125f, 0.2899999916553497314453125f), 0.081600010395050048828125f);
precise float fragment_unnamed_804 = mad(fragment_unnamed_789, mad(fragment_unnamed_780, 0.2626772224903106689453125f, 0.069599993526935577392578125f), 0.0054399999789893627166748046875f) / mad(fragment_unnamed_789, mad(fragment_unnamed_780, 0.2626772224903106689453125f, 0.2899999916553497314453125f), 0.081600010395050048828125f);
precise float fragment_unnamed_805 = fragment_unnamed_802 + (-0.066666662693023681640625f);
precise float fragment_unnamed_807 = fragment_unnamed_803 + (-0.066666662693023681640625f);
precise float fragment_unnamed_808 = fragment_unnamed_804 + (-0.066666662693023681640625f);
precise float fragment_unnamed_809 = fragment_unnamed_805 * 1.31338608264923095703125f;
precise float fragment_unnamed_810 = fragment_unnamed_807 * 1.31338608264923095703125f;
precise float fragment_unnamed_811 = fragment_unnamed_808 * 1.31338608264923095703125f;
fragment_output_0.x = fragment_unnamed_809;
fragment_output_0.y = fragment_unnamed_810;
fragment_output_0.z = fragment_unnamed_811;
fragment_output_0.w = 1.0f;
}
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
{
fragment_uniform_buffer_0[136] = float4(_Lut_Params[0], _Lut_Params[1], _Lut_Params[2], _Lut_Params[3]);
fragment_uniform_buffer_0[137] = float4(_ColorBalance[0], _ColorBalance[1], _ColorBalance[2], _ColorBalance[3]);
fragment_uniform_buffer_0[138] = float4(_ColorFilter[0], _ColorFilter[1], _ColorFilter[2], _ColorFilter[3]);
fragment_uniform_buffer_0[139] = float4(_ChannelMixerRed[0], _ChannelMixerRed[1], _ChannelMixerRed[2], _ChannelMixerRed[3]);
fragment_uniform_buffer_0[140] = float4(_ChannelMixerGreen[0], _ChannelMixerGreen[1], _ChannelMixerGreen[2], _ChannelMixerGreen[3]);
fragment_uniform_buffer_0[141] = float4(_ChannelMixerBlue[0], _ChannelMixerBlue[1], _ChannelMixerBlue[2], _ChannelMixerBlue[3]);
fragment_uniform_buffer_0[142] = float4(_HueSatCon[0], _HueSatCon[1], _HueSatCon[2], _HueSatCon[3]);
fragment_uniform_buffer_0[143] = float4(_Lift[0], _Lift[1], _Lift[2], _Lift[3]);
fragment_uniform_buffer_0[144] = float4(_Gamma[0], _Gamma[1], _Gamma[2], _Gamma[3]);
fragment_uniform_buffer_0[145] = float4(_Gain[0], _Gain[1], _Gain[2], _Gain[3]);
fragment_uniform_buffer_0[146] = float4(_Shadows[0], _Shadows[1], _Shadows[2], _Shadows[3]);
fragment_uniform_buffer_0[147] = float4(_Midtones[0], _Midtones[1], _Midtones[2], _Midtones[3]);
fragment_uniform_buffer_0[148] = float4(_Highlights[0], _Highlights[1], _Highlights[2], _Highlights[3]);
fragment_uniform_buffer_0[149] = float4(_ShaHiLimits[0], _ShaHiLimits[1], _ShaHiLimits[2], _ShaHiLimits[3]);
fragment_uniform_buffer_0[150] = float4(_SplitShadows[0], _SplitShadows[1], _SplitShadows[2], _SplitShadows[3]);
fragment_uniform_buffer_0[151] = float4(_SplitHighlights[0], _SplitHighlights[1], _SplitHighlights[2], _SplitHighlights[3]);
fragment_input_1 = stage_input.fragment_input_1;
frag_main();
Fragment_Stage_Output stage_output;
stage_output.fragment_output_0 = fragment_output_0;
return stage_output;
}
#endif // _TONEMAP_NEUTRAL
#endif // !STEREO_INSTANCING_ON
#endif // !_TONEMAP_ACES
#ifdef STEREO_INSTANCING_ON
#ifdef _TONEMAP_NEUTRAL
#ifndef _TONEMAP_ACES
#define ANY_SHADER_VARIANT_ACTIVE
float4 _Lut_Params;
float4 _ColorBalance;
float4 _ColorFilter;
float4 _ChannelMixerRed;
float4 _ChannelMixerGreen;
float4 _ChannelMixerBlue;
float4 _HueSatCon;
float4 _Lift;
float4 _Gamma;
float4 _Gain;
float4 _Shadows;
float4 _Midtones;
float4 _Highlights;
float4 _ShaHiLimits;
float4 _SplitShadows;
float4 _SplitHighlights;
static float4 fragment_uniform_buffer_0[121];
Texture2D<float4> _CurveMaster;
Texture2D<float4> _CurveRed;
Texture2D<float4> _CurveGreen;
Texture2D<float4> _CurveBlue;
Texture2D<float4> _CurveHueVsHue;
Texture2D<float4> _CurveHueVsSat;
Texture2D<float4> _CurveSatVsSat;
Texture2D<float4> _CurveLumVsSat;
SamplerState S0;
static float2 fragment_input_1;
static float4 fragment_output_0;
struct Fragment_Stage_Input
{
float2 fragment_input_1 : TEXCOORD; // TEXCOORD
};
struct Fragment_Stage_Output
{
float4 fragment_output_0 : SV_Target0;
};
void frag_main()
{
precise float fragment_unnamed_53 = fragment_input_1.x * fragment_uniform_buffer_0[105u].x;
float fragment_unnamed_55 = floor(fragment_unnamed_53);
precise float fragment_unnamed_61 = (-0.0f) - fragment_unnamed_55;
precise float fragment_unnamed_67 = fragment_unnamed_55 * fragment_uniform_buffer_0[105u].z;
precise float fragment_unnamed_71 = fragment_unnamed_67 * fragment_uniform_buffer_0[105u].w;
precise float fragment_unnamed_78 = (-0.0f) - fragment_uniform_buffer_0[105u].z;
precise float fragment_unnamed_79 = mad(fragment_input_1.x, fragment_uniform_buffer_0[105u].x, fragment_unnamed_61) + fragment_unnamed_78;
precise float fragment_unnamed_80 = fragment_input_1.y + fragment_unnamed_78;
float fragment_unnamed_86 = asfloat(asuint(fragment_uniform_buffer_0[105u]).w);
precise float fragment_unnamed_93 = mad(fragment_unnamed_79, fragment_unnamed_86, -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_95 = mad(fragment_unnamed_80, fragment_unnamed_86, -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_96 = mad(fragment_unnamed_71, asfloat(1073741824u), -0.3860360085964202880859375f) * 13.6054821014404296875f;
precise float fragment_unnamed_100 = exp2(fragment_unnamed_93) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_102 = exp2(fragment_unnamed_95) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_103 = exp2(fragment_unnamed_96) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_104 = fragment_unnamed_100 * 0.17999999225139617919921875f;
precise float fragment_unnamed_106 = fragment_unnamed_102 * 0.17999999225139617919921875f;
precise float fragment_unnamed_107 = fragment_unnamed_103 * 0.17999999225139617919921875f;
precise float fragment_unnamed_133 = dot(float3(0.390404999256134033203125f, 0.549941003322601318359375f, 0.008926319889724254608154296875f), float3(fragment_unnamed_104, fragment_unnamed_106, fragment_unnamed_107)) * fragment_uniform_buffer_0[106u].x;
precise float fragment_unnamed_134 = dot(float3(0.070841602981090545654296875f, 0.963172018527984619140625f, 0.001357750035822391510009765625f), float3(fragment_unnamed_104, fragment_unnamed_106, fragment_unnamed_107)) * fragment_uniform_buffer_0[106u].y;
precise float fragment_unnamed_135 = dot(float3(0.02310819923877716064453125f, 0.1280210018157958984375f, 0.936245024204254150390625f), float3(fragment_unnamed_104, fragment_unnamed_106, fragment_unnamed_107)) * fragment_uniform_buffer_0[106u].z;
precise float fragment_unnamed_179 = mad(mad(log2(max(mad(dot(float3(2.85846996307373046875f, -1.62879002094268798828125f, -0.0248910002410411834716796875f), float3(fragment_unnamed_133, fragment_unnamed_134, fragment_unnamed_135)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[111u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
precise float fragment_unnamed_180 = mad(mad(log2(max(mad(dot(float3(-0.21018199622631072998046875f, 1.1582000255584716796875f, 0.0003242809907533228397369384765625f), float3(fragment_unnamed_133, fragment_unnamed_134, fragment_unnamed_135)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[111u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
precise float fragment_unnamed_181 = mad(mad(log2(max(mad(dot(float3(-0.0418119989335536956787109375f, -0.118169002234935760498046875f, 1.0686700344085693359375f), float3(fragment_unnamed_133, fragment_unnamed_134, fragment_unnamed_135)), 5.555555820465087890625f, 0.04799599945545196533203125f), 0.0f)), 0.07349978387355804443359375f, -0.0275523960590362548828125f), fragment_uniform_buffer_0[111u].z, 0.0275523960590362548828125f) * 13.6054821014404296875f;
precise float fragment_unnamed_185 = exp2(fragment_unnamed_179) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_186 = exp2(fragment_unnamed_180) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_187 = exp2(fragment_unnamed_181) + (-0.04799599945545196533203125f);
precise float fragment_unnamed_194 = fragment_unnamed_185 * fragment_uniform_buffer_0[107u].x;
precise float fragment_unnamed_195 = fragment_unnamed_186 * fragment_uniform_buffer_0[107u].y;
precise float fragment_unnamed_196 = fragment_unnamed_187 * fragment_uniform_buffer_0[107u].z;
precise float fragment_unnamed_197 = fragment_unnamed_194 * 0.17999999225139617919921875f;
precise float fragment_unnamed_198 = fragment_unnamed_195 * 0.17999999225139617919921875f;
precise float fragment_unnamed_199 = fragment_unnamed_196 * 0.17999999225139617919921875f;
precise float fragment_unnamed_206 = log2(max(fragment_unnamed_197, 0.0f)) * 0.4545454680919647216796875f;
precise float fragment_unnamed_208 = log2(max(fragment_unnamed_198, 0.0f)) * 0.4545454680919647216796875f;
precise float fragment_unnamed_209 = log2(max(fragment_unnamed_199, 0.0f)) * 0.4545454680919647216796875f;
float fragment_unnamed_210 = exp2(fragment_unnamed_206);
float fragment_unnamed_211 = exp2(fragment_unnamed_208);
float fragment_unnamed_212 = exp2(fragment_unnamed_209);
precise float fragment_unnamed_213 = fragment_unnamed_210 + fragment_unnamed_210;
precise float fragment_unnamed_214 = fragment_unnamed_211 + fragment_unnamed_211;
precise float fragment_unnamed_215 = fragment_unnamed_212 + fragment_unnamed_212;
precise float fragment_unnamed_216 = fragment_unnamed_210 * fragment_unnamed_210;
precise float fragment_unnamed_217 = fragment_unnamed_211 * fragment_unnamed_211;
precise float fragment_unnamed_218 = fragment_unnamed_212 * fragment_unnamed_212;
precise float fragment_unnamed_236 = dot(float3(min(fragment_unnamed_210, 1.0f), min(fragment_unnamed_211, 1.0f), min(fragment_unnamed_212, 1.0f)), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f)) + fragment_uniform_buffer_0[119u].w;
float fragment_unnamed_237 = clamp(fragment_unnamed_236, 0.0f, 1.0f);
precise float fragment_unnamed_238 = (-0.0f) - fragment_unnamed_237;
precise float fragment_unnamed_239 = fragment_unnamed_238 + 1.0f;
precise float fragment_unnamed_245 = fragment_uniform_buffer_0[119u].x + (-0.5f);
precise float fragment_unnamed_247 = fragment_uniform_buffer_0[119u].y + (-0.5f);
precise float fragment_unnamed_248 = fragment_uniform_buffer_0[119u].z + (-0.5f);
float fragment_unnamed_249 = mad(fragment_unnamed_239, fragment_unnamed_245, 0.5f);
float fragment_unnamed_251 = mad(fragment_unnamed_239, fragment_unnamed_247, 0.5f);
float fragment_unnamed_252 = mad(fragment_unnamed_239, fragment_unnamed_248, 0.5f);
precise float fragment_unnamed_253 = (-0.0f) - fragment_unnamed_249;
precise float fragment_unnamed_254 = (-0.0f) - fragment_unnamed_251;
precise float fragment_unnamed_255 = (-0.0f) - fragment_unnamed_252;
precise float fragment_unnamed_260 = fragment_unnamed_216 * mad(fragment_unnamed_253, 2.0f, 1.0f);
precise float fragment_unnamed_261 = fragment_unnamed_217 * mad(fragment_unnamed_254, 2.0f, 1.0f);
precise float fragment_unnamed_262 = fragment_unnamed_218 * mad(fragment_unnamed_255, 2.0f, 1.0f);
bool fragment_unnamed_267 = fragment_unnamed_249 >= 0.5f;
bool fragment_unnamed_268 = fragment_unnamed_251 >= 0.5f;
bool fragment_unnamed_269 = fragment_unnamed_252 >= 0.5f;
precise float fragment_unnamed_285 = mad(fragment_unnamed_213, fragment_unnamed_249, fragment_unnamed_260) * asfloat(fragment_unnamed_267 ? 0u : 1065353216u);
precise float fragment_unnamed_286 = mad(fragment_unnamed_214, fragment_unnamed_251, fragment_unnamed_261) * asfloat(fragment_unnamed_268 ? 0u : 1065353216u);
precise float fragment_unnamed_287 = mad(fragment_unnamed_215, fragment_unnamed_252, fragment_unnamed_262) * asfloat(fragment_unnamed_269 ? 0u : 1065353216u);
precise float fragment_unnamed_288 = (-0.0f) - fragment_unnamed_249;
precise float fragment_unnamed_289 = (-0.0f) - fragment_unnamed_251;
precise float fragment_unnamed_290 = (-0.0f) - fragment_unnamed_252;
precise float fragment_unnamed_291 = fragment_unnamed_288 + 1.0f;
precise float fragment_unnamed_292 = fragment_unnamed_289 + 1.0f;
precise float fragment_unnamed_293 = fragment_unnamed_290 + 1.0f;
precise float fragment_unnamed_298 = fragment_unnamed_213 * fragment_unnamed_291;
precise float fragment_unnamed_299 = fragment_unnamed_214 * fragment_unnamed_292;
precise float fragment_unnamed_300 = fragment_unnamed_215 * fragment_unnamed_293;
float fragment_unnamed_306 = mad(mad(sqrt(fragment_unnamed_210), mad(fragment_unnamed_249, 2.0f, -1.0f), fragment_unnamed_298), asfloat((fragment_unnamed_267 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_285);
float fragment_unnamed_307 = mad(mad(sqrt(fragment_unnamed_211), mad(fragment_unnamed_251, 2.0f, -1.0f), fragment_unnamed_299), asfloat((fragment_unnamed_268 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_286);
float fragment_unnamed_308 = mad(mad(sqrt(fragment_unnamed_212), mad(fragment_unnamed_252, 2.0f, -1.0f), fragment_unnamed_300), asfloat((fragment_unnamed_269 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_287);
precise float fragment_unnamed_309 = fragment_unnamed_306 + fragment_unnamed_306;
precise float fragment_unnamed_310 = fragment_unnamed_307 + fragment_unnamed_307;
precise float fragment_unnamed_311 = fragment_unnamed_308 + fragment_unnamed_308;
precise float fragment_unnamed_312 = fragment_unnamed_306 * fragment_unnamed_306;
precise float fragment_unnamed_313 = fragment_unnamed_307 * fragment_unnamed_307;
precise float fragment_unnamed_314 = fragment_unnamed_308 * fragment_unnamed_308;
precise float fragment_unnamed_324 = fragment_uniform_buffer_0[120u].x + (-0.5f);
precise float fragment_unnamed_325 = fragment_uniform_buffer_0[120u].y + (-0.5f);
precise float fragment_unnamed_326 = fragment_uniform_buffer_0[120u].z + (-0.5f);
float fragment_unnamed_327 = mad(fragment_unnamed_237, fragment_unnamed_324, 0.5f);
float fragment_unnamed_328 = mad(fragment_unnamed_237, fragment_unnamed_325, 0.5f);
float fragment_unnamed_329 = mad(fragment_unnamed_237, fragment_unnamed_326, 0.5f);
precise float fragment_unnamed_330 = (-0.0f) - fragment_unnamed_327;
precise float fragment_unnamed_331 = (-0.0f) - fragment_unnamed_328;
precise float fragment_unnamed_332 = (-0.0f) - fragment_unnamed_329;
precise float fragment_unnamed_336 = fragment_unnamed_312 * mad(fragment_unnamed_330, 2.0f, 1.0f);
precise float fragment_unnamed_337 = fragment_unnamed_313 * mad(fragment_unnamed_331, 2.0f, 1.0f);
precise float fragment_unnamed_338 = fragment_unnamed_314 * mad(fragment_unnamed_332, 2.0f, 1.0f);
bool fragment_unnamed_342 = fragment_unnamed_327 >= 0.5f;
bool fragment_unnamed_343 = fragment_unnamed_328 >= 0.5f;
bool fragment_unnamed_344 = fragment_unnamed_329 >= 0.5f;
precise float fragment_unnamed_358 = mad(fragment_unnamed_309, fragment_unnamed_327, fragment_unnamed_336) * asfloat(fragment_unnamed_342 ? 0u : 1065353216u);
precise float fragment_unnamed_359 = mad(fragment_unnamed_310, fragment_unnamed_328, fragment_unnamed_337) * asfloat(fragment_unnamed_343 ? 0u : 1065353216u);
precise float fragment_unnamed_360 = mad(fragment_unnamed_311, fragment_unnamed_329, fragment_unnamed_338) * asfloat(fragment_unnamed_344 ? 0u : 1065353216u);
precise float fragment_unnamed_361 = (-0.0f) - fragment_unnamed_327;
precise float fragment_unnamed_362 = (-0.0f) - fragment_unnamed_328;
precise float fragment_unnamed_363 = (-0.0f) - fragment_unnamed_329;
precise float fragment_unnamed_364 = fragment_unnamed_361 + 1.0f;
precise float fragment_unnamed_365 = fragment_unnamed_362 + 1.0f;
precise float fragment_unnamed_366 = fragment_unnamed_363 + 1.0f;
precise float fragment_unnamed_370 = fragment_unnamed_309 * fragment_unnamed_364;
precise float fragment_unnamed_371 = fragment_unnamed_310 * fragment_unnamed_365;
precise float fragment_unnamed_372 = fragment_unnamed_311 * fragment_unnamed_366;
precise float fragment_unnamed_387 = log2(abs(mad(mad(sqrt(fragment_unnamed_306), mad(fragment_unnamed_327, 2.0f, -1.0f), fragment_unnamed_370), asfloat((fragment_unnamed_342 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_358))) * 2.2000000476837158203125f;
precise float fragment_unnamed_389 = log2(abs(mad(mad(sqrt(fragment_unnamed_307), mad(fragment_unnamed_328, 2.0f, -1.0f), fragment_unnamed_371), asfloat((fragment_unnamed_343 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_359))) * 2.2000000476837158203125f;
precise float fragment_unnamed_390 = log2(abs(mad(mad(sqrt(fragment_unnamed_308), mad(fragment_unnamed_329, 2.0f, -1.0f), fragment_unnamed_372), asfloat((fragment_unnamed_344 ? 4294967295u : 0u) & 1065353216u), fragment_unnamed_360))) * 2.2000000476837158203125f;
float fragment_unnamed_391 = exp2(fragment_unnamed_387);
float fragment_unnamed_392 = exp2(fragment_unnamed_389);
float fragment_unnamed_393 = exp2(fragment_unnamed_390);
float fragment_unnamed_400 = dot(float3(fragment_unnamed_391, fragment_unnamed_392, fragment_unnamed_393), float3(fragment_uniform_buffer_0[108u].xyz));
float fragment_unnamed_409 = dot(float3(fragment_unnamed_391, fragment_unnamed_392, fragment_unnamed_393), float3(fragment_uniform_buffer_0[109u].xyz));
float fragment_unnamed_418 = dot(float3(fragment_unnamed_391, fragment_unnamed_392, fragment_unnamed_393), float3(fragment_uniform_buffer_0[110u].xyz));
precise float fragment_unnamed_427 = fragment_unnamed_400 * fragment_uniform_buffer_0[116u].x;
precise float fragment_unnamed_428 = fragment_unnamed_409 * fragment_uniform_buffer_0[116u].y;
precise float fragment_unnamed_429 = fragment_unnamed_418 * fragment_uniform_buffer_0[116u].z;
float fragment_unnamed_430 = dot(float3(fragment_unnamed_400, fragment_unnamed_409, fragment_unnamed_418), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f));
precise float fragment_unnamed_437 = (-0.0f) - fragment_uniform_buffer_0[118u].x;
precise float fragment_unnamed_439 = (-0.0f) - fragment_uniform_buffer_0[118u].z;
precise float fragment_unnamed_440 = fragment_unnamed_430 + fragment_unnamed_437;
precise float fragment_unnamed_441 = fragment_unnamed_430 + fragment_unnamed_439;
precise float fragment_unnamed_445 = (-0.0f) - fragment_uniform_buffer_0[118u].x;
precise float fragment_unnamed_447 = (-0.0f) - fragment_uniform_buffer_0[118u].z;
precise float fragment_unnamed_452 = fragment_unnamed_445 + fragment_uniform_buffer_0[118u].y;
precise float fragment_unnamed_453 = fragment_unnamed_447 + fragment_uniform_buffer_0[118u].w;
precise float fragment_unnamed_454 = 1.0f / fragment_unnamed_452;
precise float fragment_unnamed_455 = 1.0f / fragment_unnamed_453;
precise float fragment_unnamed_456 = fragment_unnamed_454 * fragment_unnamed_440;
precise float fragment_unnamed_457 = fragment_unnamed_455 * fragment_unnamed_441;
float fragment_unnamed_458 = clamp(fragment_unnamed_456, 0.0f, 1.0f);
float fragment_unnamed_459 = clamp(fragment_unnamed_457, 0.0f, 1.0f);
float fragment_unnamed_463 = mad(fragment_unnamed_459, -2.0f, 3.0f);
precise float fragment_unnamed_464 = fragment_unnamed_458 * fragment_unnamed_458;
precise float fragment_unnamed_465 = fragment_unnamed_459 * fragment_unnamed_459;
precise float fragment_unnamed_466 = (-0.0f) - mad(fragment_unnamed_458, -2.0f, 3.0f);
float fragment_unnamed_467 = mad(fragment_unnamed_466, fragment_unnamed_464, 1.0f);
precise float fragment_unnamed_468 = (-0.0f) - fragment_unnamed_467;
precise float fragment_unnamed_469 = fragment_unnamed_468 + 1.0f;
precise float fragment_unnamed_470 = (-0.0f) - fragment_unnamed_463;
float fragment_unnamed_471 = mad(fragment_unnamed_470, fragment_unnamed_465, fragment_unnamed_469);
precise float fragment_unnamed_472 = fragment_unnamed_465 * fragment_unnamed_463;
precise float fragment_unnamed_473 = fragment_unnamed_427 * fragment_unnamed_471;
precise float fragment_unnamed_474 = fragment_unnamed_428 * fragment_unnamed_471;
precise float fragment_unnamed_475 = fragment_unnamed_429 * fragment_unnamed_471;
precise float fragment_unnamed_482 = fragment_unnamed_400 * fragment_uniform_buffer_0[115u].x;
precise float fragment_unnamed_483 = fragment_unnamed_409 * fragment_uniform_buffer_0[115u].y;
precise float fragment_unnamed_484 = fragment_unnamed_418 * fragment_uniform_buffer_0[115u].z;
precise float fragment_unnamed_491 = fragment_unnamed_400 * fragment_uniform_buffer_0[117u].x;
precise float fragment_unnamed_492 = fragment_unnamed_409 * fragment_uniform_buffer_0[117u].y;
precise float fragment_unnamed_493 = fragment_unnamed_418 * fragment_uniform_buffer_0[117u].z;
float fragment_unnamed_512 = mad(mad(fragment_unnamed_491, fragment_unnamed_472, mad(fragment_unnamed_482, fragment_unnamed_467, fragment_unnamed_473)), fragment_uniform_buffer_0[114u].x, fragment_uniform_buffer_0[112u].x);
float fragment_unnamed_513 = mad(mad(fragment_unnamed_492, fragment_unnamed_472, mad(fragment_unnamed_483, fragment_unnamed_467, fragment_unnamed_474)), fragment_uniform_buffer_0[114u].y, fragment_uniform_buffer_0[112u].y);
float fragment_unnamed_514 = mad(mad(fragment_unnamed_493, fragment_unnamed_472, mad(fragment_unnamed_484, fragment_unnamed_467, fragment_unnamed_475)), fragment_uniform_buffer_0[114u].z, fragment_uniform_buffer_0[112u].z);
precise float fragment_unnamed_539 = log2(abs(fragment_unnamed_512)) * fragment_uniform_buffer_0[113u].x;
precise float fragment_unnamed_540 = log2(abs(fragment_unnamed_513)) * fragment_uniform_buffer_0[113u].y;
precise float fragment_unnamed_541 = log2(abs(fragment_unnamed_514)) * fragment_uniform_buffer_0[113u].z;
float fragment_unnamed_543 = exp2(fragment_unnamed_540);
float fragment_unnamed_544 = exp2(fragment_unnamed_541);
float fragment_unnamed_552 = float(int((-((0.0f < fragment_unnamed_513) ? 4294967295u : 0u)) + ((fragment_unnamed_513 < 0.0f) ? 4294967295u : 0u)));
float fragment_unnamed_553 = float(int((-((0.0f < fragment_unnamed_514) ? 4294967295u : 0u)) + ((fragment_unnamed_514 < 0.0f) ? 4294967295u : 0u)));
precise float fragment_unnamed_554 = exp2(fragment_unnamed_539) * float(int((-((0.0f < fragment_unnamed_512) ? 4294967295u : 0u)) + ((fragment_unnamed_512 < 0.0f) ? 4294967295u : 0u)));
precise float fragment_unnamed_555 = fragment_unnamed_543 * fragment_unnamed_552;
precise float fragment_unnamed_556 = fragment_unnamed_544 * fragment_unnamed_553;
precise float fragment_unnamed_557 = (-0.0f) - fragment_unnamed_556;
precise float fragment_unnamed_558 = (-0.0f) - fragment_unnamed_555;
float fragment_unnamed_564 = asfloat(((fragment_unnamed_555 >= fragment_unnamed_556) ? 4294967295u : 0u) & 1065353216u);
float fragment_unnamed_571 = mad(fragment_unnamed_564, mad(fragment_unnamed_552, fragment_unnamed_543, fragment_unnamed_557), fragment_unnamed_556);
float fragment_unnamed_572 = mad(fragment_unnamed_564, mad(fragment_unnamed_553, fragment_unnamed_544, fragment_unnamed_558), fragment_unnamed_555);
float fragment_unnamed_573 = mad(fragment_unnamed_564, asfloat(3212836864u), asfloat(1059760811u));
float fragment_unnamed_578 = asfloat(((fragment_unnamed_554 >= fragment_unnamed_571) ? 4294967295u : 0u) & 1065353216u);
precise float fragment_unnamed_582 = (-0.0f) - fragment_unnamed_571;
precise float fragment_unnamed_583 = (-0.0f) - fragment_unnamed_572;
precise float fragment_unnamed_584 = (-0.0f) - fragment_unnamed_573;
precise float fragment_unnamed_585 = (-0.0f) - fragment_unnamed_554;
precise float fragment_unnamed_586 = fragment_unnamed_582 + fragment_unnamed_554;
precise float fragment_unnamed_587 = fragment_unnamed_583 + fragment_unnamed_572;
precise float fragment_unnamed_588 = fragment_unnamed_584 + mad(fragment_unnamed_564, asfloat(1065353216u), asfloat(3212836864u));
precise float fragment_unnamed_589 = fragment_unnamed_585 + fragment_unnamed_571;
float fragment_unnamed_590 = mad(fragment_unnamed_578, fragment_unnamed_586, fragment_unnamed_571);
float fragment_unnamed_591 = mad(fragment_unnamed_578, fragment_unnamed_587, fragment_unnamed_572);
float fragment_unnamed_593 = mad(fragment_unnamed_578, fragment_unnamed_589, fragment_unnamed_554);
precise float fragment_unnamed_595 = (-0.0f) - min(fragment_unnamed_591, fragment_unnamed_593);
precise float fragment_unnamed_596 = fragment_unnamed_590 + fragment_unnamed_595;
precise float fragment_unnamed_600 = (-0.0f) - fragment_unnamed_591;
precise float fragment_unnamed_601 = fragment_unnamed_600 + fragment_unnamed_593;
precise float fragment_unnamed_602 = fragment_unnamed_601 / mad(fragment_unnamed_596, 6.0f, 9.9999997473787516355514526367188e-05f);
precise float fragment_unnamed_603 = fragment_unnamed_602 + mad(fragment_unnamed_578, fragment_unnamed_588, fragment_unnamed_573);
float fragment_unnamed_604 = abs(fragment_unnamed_603);
precise float fragment_unnamed_608 = fragment_unnamed_604 + fragment_uniform_buffer_0[111u].x;
precise float fragment_unnamed_629 = fragment_unnamed_608 + clamp(_CurveHueVsHue.SampleBias(S0, float2(fragment_unnamed_608, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_630 = fragment_unnamed_629 + (-0.5f);
precise float fragment_unnamed_631 = fragment_unnamed_629 + 0.5f;
precise float fragment_unnamed_632 = fragment_unnamed_629 + (-1.5f);
float fragment_unnamed_641 = asfloat((fragment_unnamed_630 < 0.0f) ? asuint(fragment_unnamed_631) : ((1.0f < fragment_unnamed_630) ? asuint(fragment_unnamed_632) : asuint(fragment_unnamed_630)));
precise float fragment_unnamed_642 = fragment_unnamed_641 + 1.0f;
precise float fragment_unnamed_643 = fragment_unnamed_641 + 0.666666686534881591796875f;
precise float fragment_unnamed_645 = fragment_unnamed_641 + 0.3333333432674407958984375f;
precise float fragment_unnamed_657 = abs(mad(frac(fragment_unnamed_642), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_658 = abs(mad(frac(fragment_unnamed_643), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_659 = abs(mad(frac(fragment_unnamed_645), 6.0f, -3.0f)) + (-1.0f);
precise float fragment_unnamed_663 = clamp(fragment_unnamed_657, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_664 = clamp(fragment_unnamed_658, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_665 = clamp(fragment_unnamed_659, 0.0f, 1.0f) + (-1.0f);
precise float fragment_unnamed_666 = fragment_unnamed_590 + 9.9999997473787516355514526367188e-05f;
precise float fragment_unnamed_667 = fragment_unnamed_596 / fragment_unnamed_666;
float fragment_unnamed_668 = mad(fragment_unnamed_667, fragment_unnamed_663, 1.0f);
float fragment_unnamed_669 = mad(fragment_unnamed_667, fragment_unnamed_664, 1.0f);
float fragment_unnamed_670 = mad(fragment_unnamed_667, fragment_unnamed_665, 1.0f);
precise float fragment_unnamed_671 = fragment_unnamed_668 * fragment_unnamed_590;
precise float fragment_unnamed_672 = fragment_unnamed_669 * fragment_unnamed_590;
precise float fragment_unnamed_673 = fragment_unnamed_670 * fragment_unnamed_590;
float fragment_unnamed_674 = dot(float3(fragment_unnamed_671, fragment_unnamed_672, fragment_unnamed_673), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f));
precise float fragment_unnamed_677 = (-0.0f) - fragment_unnamed_674;
float fragment_unnamed_698 = clamp(_CurveHueVsSat.SampleBias(S0, float2(fragment_unnamed_604, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_699 = fragment_unnamed_698 + fragment_unnamed_698;
precise float fragment_unnamed_703 = dot(clamp(_CurveSatVsSat.SampleBias(S0, float2(fragment_unnamed_667, asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f).xx, fragment_unnamed_699.xx) * clamp(_CurveLumVsSat.SampleBias(S0, float2(dot(float3(fragment_unnamed_554, fragment_unnamed_555, fragment_unnamed_556), float3(0.21267290413379669189453125f, 0.715152204036712646484375f, 0.072175003588199615478515625f)), asfloat(0u)), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_707 = dot(fragment_uniform_buffer_0[111u].y.xx, fragment_unnamed_703.xx);
float fragment_unnamed_710 = mad(fragment_unnamed_707, mad(fragment_unnamed_590, fragment_unnamed_668, fragment_unnamed_677), fragment_unnamed_674);
float fragment_unnamed_711 = mad(fragment_unnamed_707, mad(fragment_unnamed_590, fragment_unnamed_669, fragment_unnamed_677), fragment_unnamed_674);
float fragment_unnamed_712 = mad(fragment_unnamed_707, mad(fragment_unnamed_590, fragment_unnamed_670, fragment_unnamed_677), fragment_unnamed_674);
precise float fragment_unnamed_715 = max(fragment_unnamed_712, max(fragment_unnamed_711, fragment_unnamed_710)) + 1.0f;
precise float fragment_unnamed_716 = 1.0f / fragment_unnamed_715;
float fragment_unnamed_721 = asfloat(0u);
precise float fragment_unnamed_744 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_710, fragment_unnamed_716, 0.00390625f), fragment_unnamed_721), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
precise float fragment_unnamed_745 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_711, fragment_unnamed_716, 0.00390625f), fragment_unnamed_721), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
precise float fragment_unnamed_746 = clamp(_CurveMaster.SampleBias(S0, float2(mad(fragment_unnamed_712, fragment_unnamed_716, 0.00390625f), fragment_unnamed_721), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f) + 0.00390625f;
float fragment_unnamed_747 = asfloat(0u);
float fragment_unnamed_755 = clamp(_CurveRed.SampleBias(S0, float2(fragment_unnamed_744, fragment_unnamed_747), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_770 = clamp(_CurveBlue.SampleBias(S0, float2(fragment_unnamed_746, fragment_unnamed_747), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
float fragment_unnamed_771 = clamp(_CurveGreen.SampleBias(S0, float2(fragment_unnamed_745, fragment_unnamed_747), fragment_uniform_buffer_0[4u].x).x, 0.0f, 1.0f);
precise float fragment_unnamed_774 = (-0.0f) - max(fragment_unnamed_770, max(fragment_unnamed_771, fragment_unnamed_755));
precise float fragment_unnamed_775 = fragment_unnamed_774 + 1.0f;
precise float fragment_unnamed_776 = 1.0f / fragment_unnamed_775;
precise float fragment_unnamed_777 = fragment_unnamed_776 * fragment_unnamed_755;
precise float fragment_unnamed_778 = fragment_unnamed_776 * fragment_unnamed_771;
precise float fragment_unnamed_779 = fragment_unnamed_776 * fragment_unnamed_770;
float fragment_unnamed_780 = max(fragment_unnamed_777, 0.0f);
float fragment_unnamed_781 = max(fragment_unnamed_778, 0.0f);
float fragment_unnamed_782 = max(fragment_unnamed_779, 0.0f);
precise float fragment_unnamed_788 = fragment_unnamed_780 * 1.31338608264923095703125f;
precise float fragment_unnamed_790 = fragment_unnamed_781 * 1.31338608264923095703125f;
precise float fragment_unnamed_791 = fragment_unnamed_782 * 1.31338608264923095703125f;
precise float fragment_unnamed_804 = mad(fragment_unnamed_788, mad(fragment_unnamed_780, 0.2626772224903106689453125f, 0.069599993526935577392578125f), 0.0054399999789893627166748046875f) / mad(fragment_unnamed_788, mad(fragment_unnamed_780, 0.2626772224903106689453125f, 0.2899999916553497314453125f), 0.081600010395050048828125f);
precise float fragment_unnamed_805 = mad(fragment_unnamed_790, mad(fragment_unnamed_781, 0.2626772224903106689453125f, 0.069599993526935577392578125f), 0.0054399999789893627166748046875f) / mad(fragment_unnamed_790, mad(fragment_unnamed_781, 0.2626772224903106689453125f, 0.2899999916553497314453125f), 0.081600010395050048828125f);
precise float fragment_unnamed_806 = mad(fragment_unnamed_791, mad(fragment_unnamed_782, 0.2626772224903106689453125f, 0.069599993526935577392578125f), 0.0054399999789893627166748046875f) / mad(fragment_unnamed_791, mad(fragment_unnamed_782, 0.2626772224903106689453125f, 0.2899999916553497314453125f), 0.081600010395050048828125f);
precise float fragment_unnamed_807 = fragment_unnamed_804 + (-0.066666662693023681640625f);
precise float fragment_unnamed_809 = fragment_unnamed_805 + (-0.066666662693023681640625f);
precise float fragment_unnamed_810 = fragment_unnamed_806 + (-0.066666662693023681640625f);
precise float fragment_unnamed_811 = fragment_unnamed_807 * 1.31338608264923095703125f;
precise float fragment_unnamed_812 = fragment_unnamed_809 * 1.31338608264923095703125f;
precise float fragment_unnamed_813 = fragment_unnamed_810 * 1.31338608264923095703125f;
fragment_output_0.x = fragment_unnamed_811;
fragment_output_0.y = fragment_unnamed_812;
fragment_output_0.z = fragment_unnamed_813;
fragment_output_0.w = 1.0f;
}
Fragment_Stage_Output frag(Fragment_Stage_Input stage_input)
{
fragment_uniform_buffer_0[105] = float4(_Lut_Params[0], _Lut_Params[1], _Lut_Params[2], _Lut_Params[3]);
fragment_uniform_buffer_0[106] = float4(_ColorBalance[0], _ColorBalance[1], _ColorBalance[2], _ColorBalance[3]);
fragment_uniform_buffer_0[107] = float4(_ColorFilter[0], _ColorFilter[1], _ColorFilter[2], _ColorFilter[3]);
fragment_uniform_buffer_0[108] = float4(_ChannelMixerRed[0], _ChannelMixerRed[1], _ChannelMixerRed[2], _ChannelMixerRed[3]);
fragment_uniform_buffer_0[109] = float4(_ChannelMixerGreen[0], _ChannelMixerGreen[1], _ChannelMixerGreen[2], _ChannelMixerGreen[3]);
fragment_uniform_buffer_0[110] = float4(_ChannelMixerBlue[0], _ChannelMixerBlue[1], _ChannelMixerBlue[2], _ChannelMixerBlue[3]);
fragment_uniform_buffer_0[111] = float4(_HueSatCon[0], _HueSatCon[1], _HueSatCon[2], _HueSatCon[3]);
fragment_uniform_buffer_0[112] = float4(_Lift[0], _Lift[1], _Lift[2], _Lift[3]);
fragment_uniform_buffer_0[113] = float4(_Gamma[0], _Gamma[1], _Gamma[2], _Gamma[3]);
fragment_uniform_buffer_0[114] = float4(_Gain[0], _Gain[1], _Gain[2], _Gain[3]);
fragment_uniform_buffer_0[115] = float4(_Shadows[0], _Shadows[1], _Shadows[2], _Shadows[3]);
fragment_uniform_buffer_0[116] = float4(_Midtones[0], _Midtones[1], _Midtones[2], _Midtones[3]);
fragment_uniform_buffer_0[117] = float4(_Highlights[0], _Highlights[1], _Highlights[2], _Highlights[3]);
fragment_uniform_buffer_0[118] = float4(_ShaHiLimits[0], _ShaHiLimits[1], _ShaHiLimits[2], _ShaHiLimits[3]);
fragment_uniform_buffer_0[119] = float4(_SplitShadows[0], _SplitShadows[1], _SplitShadows[2], _SplitShadows[3]);
fragment_uniform_buffer_0[120] = float4(_SplitHighlights[0], _SplitHighlights[1], _SplitHighlights[2], _SplitHighlights[3]);
fragment_input_1 = stage_input.fragment_input_1;
frag_main();
Fragment_Stage_Output stage_output;
stage_output.fragment_output_0 = fragment_output_0;
return stage_output;
}
#endif // STEREO_INSTANCING_ON
#endif // _TONEMAP_NEUTRAL
#endif // !_TONEMAP_ACES
// Fallback Shader Code
#ifndef ANY_SHADER_VARIANT_ACTIVE
// https://docs.unity3d.com/Manual/SL-UnityShaderVariables.html
float4x4 unity_MatrixMVP;
struct Vertex_Stage_Input
{
float3 pos : POSITION;
};
struct Vertex_Stage_Output
{
float4 pos : SV_POSITION;
};
Vertex_Stage_Output vert(Vertex_Stage_Input input)
{
Vertex_Stage_Output output;
output.pos = mul(unity_MatrixMVP, float4(input.pos, 1.0));
return output;
}
float4 frag(Vertex_Stage_Output input) : SV_TARGET
{
// Output solid grey color (e.g., 50% grey)
return float4(0.5, 0.5, 0.5, 1.0); // RGBA
}
#endif // !ANY_SHADER_VARIANT_ACTIVE
ENDHLSL
}
}
}