blob: e0359bfdd3efa5e28a3cb2f2ef0427ebd9215534 [file] [log] [blame]
; SPIR-V
; Version: 1.0
; Generator: Google spiregg; 0
; Bound: 3107
; Schema: 0
OpCapability Shader
OpCapability Geometry
OpExtension "SPV_GOOGLE_hlsl_functionality1"
%1 = OpExtInstImport "GLSL.std.450"
OpMemoryModel Logical GLSL450
OpEntryPoint Fragment %MainPS "main" %in_var_TEXCOORD0 %gl_FragCoord %gl_Layer %out_var_SV_Target0
OpExecutionMode %MainPS OriginUpperLeft
OpSource HLSL 600
OpName %type__Globals "type.$Globals"
OpMemberName %type__Globals 0 "MappingPolynomial"
OpMemberName %type__Globals 1 "InverseGamma"
OpMemberName %type__Globals 2 "ColorMatrixR_ColorCurveCd1"
OpMemberName %type__Globals 3 "ColorMatrixG_ColorCurveCd3Cm3"
OpMemberName %type__Globals 4 "ColorMatrixB_ColorCurveCm2"
OpMemberName %type__Globals 5 "ColorCurve_Cm0Cd0_Cd2_Ch0Cm1_Ch3"
OpMemberName %type__Globals 6 "ColorCurve_Ch1_Ch2"
OpMemberName %type__Globals 7 "ColorShadow_Luma"
OpMemberName %type__Globals 8 "ColorShadow_Tint1"
OpMemberName %type__Globals 9 "ColorShadow_Tint2"
OpMemberName %type__Globals 10 "FilmSlope"
OpMemberName %type__Globals 11 "FilmToe"
OpMemberName %type__Globals 12 "FilmShoulder"
OpMemberName %type__Globals 13 "FilmBlackClip"
OpMemberName %type__Globals 14 "FilmWhiteClip"
OpMemberName %type__Globals 15 "LUTWeights"
OpMemberName %type__Globals 16 "ColorScale"
OpMemberName %type__Globals 17 "OverlayColor"
OpMemberName %type__Globals 18 "WhiteTemp"
OpMemberName %type__Globals 19 "WhiteTint"
OpMemberName %type__Globals 20 "ColorSaturation"
OpMemberName %type__Globals 21 "ColorContrast"
OpMemberName %type__Globals 22 "ColorGamma"
OpMemberName %type__Globals 23 "ColorGain"
OpMemberName %type__Globals 24 "ColorOffset"
OpMemberName %type__Globals 25 "ColorSaturationShadows"
OpMemberName %type__Globals 26 "ColorContrastShadows"
OpMemberName %type__Globals 27 "ColorGammaShadows"
OpMemberName %type__Globals 28 "ColorGainShadows"
OpMemberName %type__Globals 29 "ColorOffsetShadows"
OpMemberName %type__Globals 30 "ColorSaturationMidtones"
OpMemberName %type__Globals 31 "ColorContrastMidtones"
OpMemberName %type__Globals 32 "ColorGammaMidtones"
OpMemberName %type__Globals 33 "ColorGainMidtones"
OpMemberName %type__Globals 34 "ColorOffsetMidtones"
OpMemberName %type__Globals 35 "ColorSaturationHighlights"
OpMemberName %type__Globals 36 "ColorContrastHighlights"
OpMemberName %type__Globals 37 "ColorGammaHighlights"
OpMemberName %type__Globals 38 "ColorGainHighlights"
OpMemberName %type__Globals 39 "ColorOffsetHighlights"
OpMemberName %type__Globals 40 "ColorCorrectionShadowsMax"
OpMemberName %type__Globals 41 "ColorCorrectionHighlightsMin"
OpMemberName %type__Globals 42 "OutputDevice"
OpMemberName %type__Globals 43 "OutputGamut"
OpMemberName %type__Globals 44 "BlueCorrection"
OpMemberName %type__Globals 45 "ExpandGamut"
OpName %_Globals "$Globals"
OpName %type_2d_image "type.2d.image"
OpName %Texture1 "Texture1"
OpName %type_sampler "type.sampler"
OpName %Texture1Sampler "Texture1Sampler"
OpName %in_var_TEXCOORD0 "in.var.TEXCOORD0"
OpName %out_var_SV_Target0 "out.var.SV_Target0"
OpName %MainPS "MainPS"
OpName %type_sampled_image "type.sampled.image"
OpDecorateString %in_var_TEXCOORD0 UserSemantic "TEXCOORD0"
OpDecorate %in_var_TEXCOORD0 NoPerspective
OpDecorate %gl_FragCoord BuiltIn FragCoord
OpDecorateString %gl_FragCoord UserSemantic "SV_POSITION"
OpDecorate %gl_Layer BuiltIn Layer
OpDecorateString %gl_Layer UserSemantic "SV_RenderTargetArrayIndex"
OpDecorate %gl_Layer Flat
OpDecorateString %out_var_SV_Target0 UserSemantic "SV_Target0"
OpDecorate %in_var_TEXCOORD0 Location 0
OpDecorate %out_var_SV_Target0 Location 0
OpDecorate %_Globals DescriptorSet 0
OpDecorate %_Globals Binding 0
OpDecorate %Texture1 DescriptorSet 0
OpDecorate %Texture1 Binding 0
OpDecorate %Texture1Sampler DescriptorSet 0
OpDecorate %Texture1Sampler Binding 0
OpDecorate %_arr_float_uint_5 ArrayStride 16
OpMemberDecorate %type__Globals 0 Offset 0
OpMemberDecorate %type__Globals 1 Offset 16
OpMemberDecorate %type__Globals 2 Offset 32
OpMemberDecorate %type__Globals 3 Offset 48
OpMemberDecorate %type__Globals 4 Offset 64
OpMemberDecorate %type__Globals 5 Offset 80
OpMemberDecorate %type__Globals 6 Offset 96
OpMemberDecorate %type__Globals 7 Offset 112
OpMemberDecorate %type__Globals 8 Offset 128
OpMemberDecorate %type__Globals 9 Offset 144
OpMemberDecorate %type__Globals 10 Offset 160
OpMemberDecorate %type__Globals 11 Offset 164
OpMemberDecorate %type__Globals 12 Offset 168
OpMemberDecorate %type__Globals 13 Offset 172
OpMemberDecorate %type__Globals 14 Offset 176
OpMemberDecorate %type__Globals 15 Offset 192
OpMemberDecorate %type__Globals 16 Offset 272
OpMemberDecorate %type__Globals 17 Offset 288
OpMemberDecorate %type__Globals 18 Offset 304
OpMemberDecorate %type__Globals 19 Offset 308
OpMemberDecorate %type__Globals 20 Offset 320
OpMemberDecorate %type__Globals 21 Offset 336
OpMemberDecorate %type__Globals 22 Offset 352
OpMemberDecorate %type__Globals 23 Offset 368
OpMemberDecorate %type__Globals 24 Offset 384
OpMemberDecorate %type__Globals 25 Offset 400
OpMemberDecorate %type__Globals 26 Offset 416
OpMemberDecorate %type__Globals 27 Offset 432
OpMemberDecorate %type__Globals 28 Offset 448
OpMemberDecorate %type__Globals 29 Offset 464
OpMemberDecorate %type__Globals 30 Offset 480
OpMemberDecorate %type__Globals 31 Offset 496
OpMemberDecorate %type__Globals 32 Offset 512
OpMemberDecorate %type__Globals 33 Offset 528
OpMemberDecorate %type__Globals 34 Offset 544
OpMemberDecorate %type__Globals 35 Offset 560
OpMemberDecorate %type__Globals 36 Offset 576
OpMemberDecorate %type__Globals 37 Offset 592
OpMemberDecorate %type__Globals 38 Offset 608
OpMemberDecorate %type__Globals 39 Offset 624
OpMemberDecorate %type__Globals 40 Offset 640
OpMemberDecorate %type__Globals 41 Offset 644
OpMemberDecorate %type__Globals 42 Offset 648
OpMemberDecorate %type__Globals 43 Offset 652
OpMemberDecorate %type__Globals 44 Offset 656
OpMemberDecorate %type__Globals 45 Offset 660
OpDecorate %type__Globals Block
%float = OpTypeFloat 32
%v4float = OpTypeVector %float 4
%v3float = OpTypeVector %float 3
%v2float = OpTypeVector %float 2
%int = OpTypeInt 32 1
%uint = OpTypeInt 32 0
%uint_2 = OpConstant %uint 2
%uint_7 = OpConstant %uint 7
%uint_4 = OpConstant %uint 4
%float_0_952552378 = OpConstant %float 0.952552378
%float_0 = OpConstant %float 0
; HACK: Needed to hack this constant since MSVC and GNU libc are off by 1 ULP when converting to string (it probably still works fine though in a roundtrip ...)
%float_9_36786018en05 = OpConstant %float 9.25
%float_0_343966454 = OpConstant %float 0.343966454
%float_0_728166103 = OpConstant %float 0.728166103
%float_n0_0721325427 = OpConstant %float -0.0721325427
%float_1_00882518 = OpConstant %float 1.00882518
%float_1_04981101 = OpConstant %float 1.04981101
%float_n9_74845025en05 = OpConstant %float -9.74845025e-05
%float_n0_495903015 = OpConstant %float -0.495903015
%float_1_37331307 = OpConstant %float 1.37331307
%float_0_0982400328 = OpConstant %float 0.0982400328
%float_0_991252005 = OpConstant %float 0.991252005
%float_0_662454188 = OpConstant %float 0.662454188
%float_0_134004205 = OpConstant %float 0.134004205
%float_0_156187683 = OpConstant %float 0.156187683
%float_0_272228718 = OpConstant %float 0.272228718
%float_0_674081743 = OpConstant %float 0.674081743
%float_0_0536895171 = OpConstant %float 0.0536895171
%float_n0_00557464967 = OpConstant %float -0.00557464967
%float_0_0040607336 = OpConstant %float 0.0040607336
%float_1_01033914 = OpConstant %float 1.01033914
%float_1_6410234 = OpConstant %float 1.6410234
%float_n0_324803293 = OpConstant %float -0.324803293
%float_n0_236424699 = OpConstant %float -0.236424699
%float_n0_663662851 = OpConstant %float -0.663662851
%float_1_61533165 = OpConstant %float 1.61533165
%float_0_0167563483 = OpConstant %float 0.0167563483
%float_0_0117218941 = OpConstant %float 0.0117218941
%float_n0_00828444213 = OpConstant %float -0.00828444213
%float_0_988394856 = OpConstant %float 0.988394856
%float_1_45143926 = OpConstant %float 1.45143926
%float_n0_236510754 = OpConstant %float -0.236510754
%float_n0_214928567 = OpConstant %float -0.214928567
%float_n0_0765537769 = OpConstant %float -0.0765537769
%float_1_17622972 = OpConstant %float 1.17622972
%float_n0_0996759236 = OpConstant %float -0.0996759236
%float_0_00831614807 = OpConstant %float 0.00831614807
%float_n0_00603244966 = OpConstant %float -0.00603244966
%float_0_997716308 = OpConstant %float 0.997716308
%float_0_695452213 = OpConstant %float 0.695452213
%float_0_140678704 = OpConstant %float 0.140678704
%float_0_163869068 = OpConstant %float 0.163869068
%float_0_0447945632 = OpConstant %float 0.0447945632
%float_0_859671116 = OpConstant %float 0.859671116
%float_0_0955343172 = OpConstant %float 0.0955343172
%float_n0_00552588282 = OpConstant %float -0.00552588282
%float_0_00402521016 = OpConstant %float 0.00402521016
%float_1_00150073 = OpConstant %float 1.00150073
%73 = OpConstantComposite %v3float %float_0_272228718 %float_0_674081743 %float_0_0536895171
%float_3_2409699 = OpConstant %float 3.2409699
%float_n1_5373832 = OpConstant %float -1.5373832
%float_n0_498610765 = OpConstant %float -0.498610765
%float_n0_969243646 = OpConstant %float -0.969243646
%float_1_8759675 = OpConstant %float 1.8759675
%float_0_0415550582 = OpConstant %float 0.0415550582
%float_0_0556300804 = OpConstant %float 0.0556300804
%float_n0_203976959 = OpConstant %float -0.203976959
%float_1_05697155 = OpConstant %float 1.05697155
%float_0_412456393 = OpConstant %float 0.412456393
%float_0_357576102 = OpConstant %float 0.357576102
%float_0_180437505 = OpConstant %float 0.180437505
%float_0_212672904 = OpConstant %float 0.212672904
%float_0_715152204 = OpConstant %float 0.715152204
%float_0_0721750036 = OpConstant %float 0.0721750036
%float_0_0193339009 = OpConstant %float 0.0193339009
%float_0_119191997 = OpConstant %float 0.119191997
%float_0_950304091 = OpConstant %float 0.950304091
%float_1_71660841 = OpConstant %float 1.71660841
%float_n0_355662107 = OpConstant %float -0.355662107
%float_n0_253360093 = OpConstant %float -0.253360093
%float_n0_666682899 = OpConstant %float -0.666682899
%float_1_61647761 = OpConstant %float 1.61647761
%float_0_0157685 = OpConstant %float 0.0157685
%float_0_0176422 = OpConstant %float 0.0176422
%float_n0_0427763015 = OpConstant %float -0.0427763015
%float_0_942228675 = OpConstant %float 0.942228675
%float_2_49339628 = OpConstant %float 2.49339628
%float_n0_93134588 = OpConstant %float -0.93134588
%float_n0_402694494 = OpConstant %float -0.402694494
%float_n0_829486787 = OpConstant %float -0.829486787
%float_1_76265967 = OpConstant %float 1.76265967
%float_0_0236246008 = OpConstant %float 0.0236246008
%float_0_0358507 = OpConstant %float 0.0358507
%float_n0_0761827007 = OpConstant %float -0.0761827007
%float_0_957014024 = OpConstant %float 0.957014024
%float_1_01303005 = OpConstant %float 1.01303005
%float_0_00610530982 = OpConstant %float 0.00610530982
%float_n0_0149710001 = OpConstant %float -0.0149710001
%float_0_00769822998 = OpConstant %float 0.00769822998
%float_0_998165011 = OpConstant %float 0.998165011
%float_n0_00503202993 = OpConstant %float -0.00503202993
%float_n0_00284131011 = OpConstant %float -0.00284131011
%float_0_00468515977 = OpConstant %float 0.00468515977
%float_0_924507022 = OpConstant %float 0.924507022
%float_0_987223983 = OpConstant %float 0.987223983
%float_n0_00611326983 = OpConstant %float -0.00611326983
%float_0_0159533005 = OpConstant %float 0.0159533005
%float_n0_00759836007 = OpConstant %float -0.00759836007
%float_1_00186002 = OpConstant %float 1.00186002
%float_0_0053300201 = OpConstant %float 0.0053300201
%float_0_00307257008 = OpConstant %float 0.00307257008
%float_n0_00509594986 = OpConstant %float -0.00509594986
%float_1_08168006 = OpConstant %float 1.08168006
%float_0_5 = OpConstant %float 0.5
%float_n1 = OpConstant %float -1
%float_1 = OpConstant %float 1
%int_0 = OpConstant %int 0
%int_1 = OpConstant %int 1
%float_0_015625 = OpConstant %float 0.015625
%134 = OpConstantComposite %v2float %float_0_015625 %float_0_015625
%135 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
%int_43 = OpConstant %int 43
%uint_3 = OpConstant %uint 3
%138 = OpConstantComposite %v3float %float_0 %float_0 %float_0
%int_9 = OpConstant %int 9
%int_3 = OpConstant %int 3
%141 = OpConstantComposite %v3float %float_1 %float_1 %float_1
%float_n4 = OpConstant %float -4
%int_45 = OpConstant %int 45
%float_0_544169128 = OpConstant %float 0.544169128
%float_0_239592597 = OpConstant %float 0.239592597
%float_0_166694298 = OpConstant %float 0.166694298
%float_0_239465594 = OpConstant %float 0.239465594
%float_0_702153027 = OpConstant %float 0.702153027
%float_0_058381401 = OpConstant %float 0.058381401
%float_n0_00234390004 = OpConstant %float -0.00234390004
%float_0_0361833982 = OpConstant %float 0.0361833982
%float_1_05521834 = OpConstant %float 1.05521834
%float_0_940437257 = OpConstant %float 0.940437257
%float_n0_0183068793 = OpConstant %float -0.0183068793
%float_0_077869609 = OpConstant %float 0.077869609
%float_0_00837869663 = OpConstant %float 0.00837869663
%float_0_828660011 = OpConstant %float 0.828660011
%float_0_162961304 = OpConstant %float 0.162961304
%float_0_00054712611 = OpConstant %float 0.00054712611
%float_n0_000883374596 = OpConstant %float -0.000883374596
%float_1_00033629 = OpConstant %float 1.00033629
%float_1_06317997 = OpConstant %float 1.06317997
%float_0_0233955998 = OpConstant %float 0.0233955998
%float_n0_0865726024 = OpConstant %float -0.0865726024
%float_n0_0106336996 = OpConstant %float -0.0106336996
%float_1_20632005 = OpConstant %float 1.20632005
%float_n0_195690006 = OpConstant %float -0.195690006
%float_n0_000590886979 = OpConstant %float -0.000590886979
%float_0_00105247996 = OpConstant %float 0.00105247996
%float_0_999538004 = OpConstant %float 0.999538004
%int_44 = OpConstant %int 44
%float_0_9375 = OpConstant %float 0.9375
%173 = OpConstantComposite %v3float %float_0_9375 %float_0_9375 %float_0_9375
%float_0_03125 = OpConstant %float 0.03125
%175 = OpConstantComposite %v3float %float_0_03125 %float_0_03125 %float_0_03125
%int_15 = OpConstant %int 15
%float_16 = OpConstant %float 16
%int_16 = OpConstant %int 16
%int_17 = OpConstant %int 17
%uint_0 = OpConstant %uint 0
%uint_1 = OpConstant %uint 1
%uint_5 = OpConstant %uint 5
%uint_6 = OpConstant %uint 6
%int_2 = OpConstant %int 2
%mat3v3float = OpTypeMatrix %v3float 3
%int_42 = OpConstant %int 42
%float_0_159301758 = OpConstant %float 0.159301758
%float_78_84375 = OpConstant %float 78.84375
%float_0_8359375 = OpConstant %float 0.8359375
%float_18_8515625 = OpConstant %float 18.8515625
%float_18_6875 = OpConstant %float 18.6875
%float_10000 = OpConstant %float 10000
%float_0_0126833133 = OpConstant %float 0.0126833133
%194 = OpConstantComposite %v3float %float_0_0126833133 %float_0_0126833133 %float_0_0126833133
%195 = OpConstantComposite %v3float %float_0_8359375 %float_0_8359375 %float_0_8359375
%196 = OpConstantComposite %v3float %float_18_8515625 %float_18_8515625 %float_18_8515625
%197 = OpConstantComposite %v3float %float_18_6875 %float_18_6875 %float_18_6875
%float_6_27739477 = OpConstant %float 6.27739477
%199 = OpConstantComposite %v3float %float_6_27739477 %float_6_27739477 %float_6_27739477
%200 = OpConstantComposite %v3float %float_10000 %float_10000 %float_10000
%float_14 = OpConstant %float 14
%float_0_180000007 = OpConstant %float 0.180000007
%float_0_434017599 = OpConstant %float 0.434017599
%204 = OpConstantComposite %v3float %float_0_434017599 %float_0_434017599 %float_0_434017599
%205 = OpConstantComposite %v3float %float_14 %float_14 %float_14
%206 = OpConstantComposite %v3float %float_0_180000007 %float_0_180000007 %float_0_180000007
%int_18 = OpConstant %int 18
%float_4000 = OpConstant %float 4000
%float_0_312700003 = OpConstant %float 0.312700003
%float_0_328999996 = OpConstant %float 0.328999996
%int_19 = OpConstant %int 19
%int_25 = OpConstant %int 25
%int_20 = OpConstant %int 20
%int_26 = OpConstant %int 26
%int_21 = OpConstant %int 21
%int_27 = OpConstant %int 27
%int_22 = OpConstant %int 22
%int_28 = OpConstant %int 28
%int_23 = OpConstant %int 23
%int_29 = OpConstant %int 29
%int_24 = OpConstant %int 24
%int_40 = OpConstant %int 40
%int_35 = OpConstant %int 35
%int_36 = OpConstant %int 36
%int_37 = OpConstant %int 37
%int_38 = OpConstant %int 38
%int_39 = OpConstant %int 39
%int_41 = OpConstant %int 41
%int_30 = OpConstant %int 30
%int_31 = OpConstant %int 31
%int_32 = OpConstant %int 32
%int_33 = OpConstant %int 33
%int_34 = OpConstant %int 34
%float_0_0500000007 = OpConstant %float 0.0500000007
%float_1_75 = OpConstant %float 1.75
%float_0_400000006 = OpConstant %float 0.400000006
%float_0_819999993 = OpConstant %float 0.819999993
%float_0_0299999993 = OpConstant %float 0.0299999993
%float_2 = OpConstant %float 2
%float_0_959999979 = OpConstant %float 0.959999979
%241 = OpConstantComposite %v3float %float_0_959999979 %float_0_959999979 %float_0_959999979
%int_13 = OpConstant %int 13
%int_11 = OpConstant %int 11
%int_14 = OpConstant %int 14
%int_12 = OpConstant %int 12
%float_0_800000012 = OpConstant %float 0.800000012
%int_10 = OpConstant %int 10
%float_10 = OpConstant %float 10
%float_n2 = OpConstant %float -2
%float_3 = OpConstant %float 3
%251 = OpConstantComposite %v3float %float_3 %float_3 %float_3
%252 = OpConstantComposite %v3float %float_2 %float_2 %float_2
%float_0_930000007 = OpConstant %float 0.930000007
%254 = OpConstantComposite %v3float %float_0_930000007 %float_0_930000007 %float_0_930000007
%int_4 = OpConstant %int 4
%int_8 = OpConstant %int 8
%int_7 = OpConstant %int 7
%int_5 = OpConstant %int 5
%int_6 = OpConstant %int 6
%float_0_00200000009 = OpConstant %float 0.00200000009
%261 = OpConstantComposite %v3float %float_0_00200000009 %float_0_00200000009 %float_0_00200000009
%float_6_10351999en05 = OpConstant %float 6.10351999e-05
%263 = OpConstantComposite %v3float %float_6_10351999en05 %float_6_10351999en05 %float_6_10351999en05
%float_0_0404499993 = OpConstant %float 0.0404499993
%265 = OpConstantComposite %v3float %float_0_0404499993 %float_0_0404499993 %float_0_0404499993
%float_0_947867274 = OpConstant %float 0.947867274
%267 = OpConstantComposite %v3float %float_0_947867274 %float_0_947867274 %float_0_947867274
%float_0_0521326996 = OpConstant %float 0.0521326996
%269 = OpConstantComposite %v3float %float_0_0521326996 %float_0_0521326996 %float_0_0521326996
%float_2_4000001 = OpConstant %float 2.4000001
%271 = OpConstantComposite %v3float %float_2_4000001 %float_2_4000001 %float_2_4000001
%float_0_0773993805 = OpConstant %float 0.0773993805
%273 = OpConstantComposite %v3float %float_0_0773993805 %float_0_0773993805 %float_0_0773993805
%float_4_5 = OpConstant %float 4.5
%275 = OpConstantComposite %v3float %float_4_5 %float_4_5 %float_4_5
%float_0_0179999992 = OpConstant %float 0.0179999992
%277 = OpConstantComposite %v3float %float_0_0179999992 %float_0_0179999992 %float_0_0179999992
%float_0_449999988 = OpConstant %float 0.449999988
%279 = OpConstantComposite %v3float %float_0_449999988 %float_0_449999988 %float_0_449999988
%float_1_09899998 = OpConstant %float 1.09899998
%281 = OpConstantComposite %v3float %float_1_09899998 %float_1_09899998 %float_1_09899998
%float_0_0989999995 = OpConstant %float 0.0989999995
%283 = OpConstantComposite %v3float %float_0_0989999995 %float_0_0989999995 %float_0_0989999995
%float_1_5 = OpConstant %float 1.5
%285 = OpConstantComposite %v3float %float_1_5 %float_1_5 %float_1_5
%286 = OpConstantComposite %v3float %float_0_159301758 %float_0_159301758 %float_0_159301758
%287 = OpConstantComposite %v3float %float_78_84375 %float_78_84375 %float_78_84375
%float_1_00055635 = OpConstant %float 1.00055635
%float_7000 = OpConstant %float 7000
%float_0_244063005 = OpConstant %float 0.244063005
%float_99_1100006 = OpConstant %float 99.1100006
%float_2967800 = OpConstant %float 2967800
%float_0_237039998 = OpConstant %float 0.237039998
%float_247_479996 = OpConstant %float 247.479996
%float_1901800 = OpConstant %float 1901800
%float_n3 = OpConstant %float -3
%float_2_86999989 = OpConstant %float 2.86999989
%float_0_275000006 = OpConstant %float 0.275000006
%float_0_860117733 = OpConstant %float 0.860117733
%float_0_000154118257 = OpConstant %float 0.000154118257
%float_1_28641219en07 = OpConstant %float 1.28641219e-07
%float_0_00084242021 = OpConstant %float 0.00084242021
%float_7_08145137en07 = OpConstant %float 7.08145137e-07
%float_0_317398727 = OpConstant %float 0.317398727
; HACK: Needed to hack this constant since MSVC and GNU libc are off by 1 ULP when converting to string (it probably still works fine though in a roundtrip ...)
%float_4_22806261en05 = OpConstant %float 4.25
%float_4_20481676en08 = OpConstant %float 4.20481676e-08
%float_2_8974182en05 = OpConstant %float 2.8974182e-05
%float_1_61456057en07 = OpConstant %float 1.61456057e-07
%float_8 = OpConstant %float 8
%float_4 = OpConstant %float 4
%float_0_895099998 = OpConstant %float 0.895099998
%float_0_266400009 = OpConstant %float 0.266400009
%float_n0_161400005 = OpConstant %float -0.161400005
%float_n0_750199974 = OpConstant %float -0.750199974
%float_1_71350002 = OpConstant %float 1.71350002
%float_0_0366999991 = OpConstant %float 0.0366999991
%float_0_0388999991 = OpConstant %float 0.0388999991
%float_n0_0684999973 = OpConstant %float -0.0684999973
%float_1_02960002 = OpConstant %float 1.02960002
%float_0_986992896 = OpConstant %float 0.986992896
%float_n0_1470543 = OpConstant %float -0.1470543
%float_0_159962699 = OpConstant %float 0.159962699
%float_0_432305306 = OpConstant %float 0.432305306
%float_0_518360317 = OpConstant %float 0.518360317
%float_0_0492912009 = OpConstant %float 0.0492912009
%float_n0_0085287001 = OpConstant %float -0.0085287001
%float_0_040042799 = OpConstant %float 0.040042799
%float_0_968486726 = OpConstant %float 0.968486726
%float_5_55555534 = OpConstant %float 5.55555534
%330 = OpConstantComposite %v3float %float_5_55555534 %float_5_55555534 %float_5_55555534
%float_1_00000001en10 = OpConstant %float 1.00000001e-10
%float_0_00999999978 = OpConstant %float 0.00999999978
%float_0_666666687 = OpConstant %float 0.666666687
%float_180 = OpConstant %float 180
%float_360 = OpConstant %float 360
%float_65535 = OpConstant %float 65535
%337 = OpConstantComposite %v3float %float_65535 %float_65535 %float_65535
%float_n4_97062206 = OpConstant %float -4.97062206
%float_n3_02937818 = OpConstant %float -3.02937818
%float_n2_12619996 = OpConstant %float -2.12619996
%float_n1_51049995 = OpConstant %float -1.51049995
%float_n1_05780005 = OpConstant %float -1.05780005
%float_n0_466800004 = OpConstant %float -0.466800004
%float_0_119379997 = OpConstant %float 0.119379997
%float_0_708813429 = OpConstant %float 0.708813429
%float_1_29118657 = OpConstant %float 1.29118657
%float_0_808913231 = OpConstant %float 0.808913231
%float_1_19108677 = OpConstant %float 1.19108677
%float_1_56830001 = OpConstant %float 1.56830001
%float_1_9483 = OpConstant %float 1.9483
%float_2_30830002 = OpConstant %float 2.30830002
%float_2_63840008 = OpConstant %float 2.63840008
%float_2_85949993 = OpConstant %float 2.85949993
%float_2_98726082 = OpConstant %float 2.98726082
%float_3_01273918 = OpConstant %float 3.01273918
%float_0_179999992 = OpConstant %float 0.179999992
%float_9_99999975en05 = OpConstant %float 9.99999975e-05
%float_1000 = OpConstant %float 1000
%float_0_0599999987 = OpConstant %float 0.0599999987
%float_3_50738446en05 = OpConstant %float 3.50738446e-05
%361 = OpConstantComposite %v3float %float_3_50738446en05 %float_3_50738446en05 %float_3_50738446en05
%float_n2_30102992 = OpConstant %float -2.30102992
%float_n1_93120003 = OpConstant %float -1.93120003
%float_n1_52049994 = OpConstant %float -1.52049994
%float_0_801995218 = OpConstant %float 0.801995218
%float_1_19800484 = OpConstant %float 1.19800484
%float_1_59430003 = OpConstant %float 1.59430003
%float_1_99730003 = OpConstant %float 1.99730003
%float_2_37829995 = OpConstant %float 2.37829995
%float_2_76839995 = OpConstant %float 2.76839995
%float_3_05150008 = OpConstant %float 3.05150008
%float_3_27462935 = OpConstant %float 3.27462935
%float_3_32743073 = OpConstant %float 3.32743073
%float_0_00499999989 = OpConstant %float 0.00499999989
%float_11 = OpConstant %float 11
%float_2000 = OpConstant %float 2000
%float_0_119999997 = OpConstant %float 0.119999997
%float_0_00313066994 = OpConstant %float 0.00313066994
%float_12_9200001 = OpConstant %float 12.9200001
%float_0_416666657 = OpConstant %float 0.416666657
%float_1_05499995 = OpConstant %float 1.05499995
%float_0_0549999997 = OpConstant %float 0.0549999997
%float_n0_166666672 = OpConstant %float -0.166666672
%float_n0_5 = OpConstant %float -0.5
%float_0_166666672 = OpConstant %float 0.166666672
%float_n3_15737653 = OpConstant %float -3.15737653
%float_n0_485249996 = OpConstant %float -0.485249996
%float_1_84773242 = OpConstant %float 1.84773242
%float_n0_718548238 = OpConstant %float -0.718548238
%float_2_08103061 = OpConstant %float 2.08103061
%float_3_6681242 = OpConstant %float 3.6681242
%float_18 = OpConstant %float 18
%float_7 = OpConstant %float 7
%_arr_float_uint_5 = OpTypeArray %float %uint_5
%type__Globals = OpTypeStruct %v4float %v3float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %float %float %float %float %float %_arr_float_uint_5 %v3float %v4float %float %float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %v4float %float %float %uint %uint %float %float
%_ptr_Uniform_type__Globals = OpTypePointer Uniform %type__Globals
%type_2d_image = OpTypeImage %float 2D 2 0 0 1 Unknown
%_ptr_UniformConstant_type_2d_image = OpTypePointer UniformConstant %type_2d_image
%type_sampler = OpTypeSampler
%_ptr_UniformConstant_type_sampler = OpTypePointer UniformConstant %type_sampler
%_ptr_Input_v2float = OpTypePointer Input %v2float
%_ptr_Input_v4float = OpTypePointer Input %v4float
%_ptr_Input_uint = OpTypePointer Input %uint
%_ptr_Output_v4float = OpTypePointer Output %v4float
%void = OpTypeVoid
%402 = OpTypeFunction %void
%_ptr_Function_float = OpTypePointer Function %float
%_ptr_Uniform_uint = OpTypePointer Uniform %uint
%bool = OpTypeBool
%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
%_ptr_Uniform_float = OpTypePointer Uniform %float
%_ptr_Uniform_v3float = OpTypePointer Uniform %v3float
%v2bool = OpTypeVector %bool 2
%v3bool = OpTypeVector %bool 3
%type_sampled_image = OpTypeSampledImage %type_2d_image
%uint_10 = OpConstant %uint 10
%_arr_float_uint_10 = OpTypeArray %float %uint_10
%_arr_float_uint_6 = OpTypeArray %float %uint_6
%_Globals = OpVariable %_ptr_Uniform_type__Globals Uniform
%Texture1 = OpVariable %_ptr_UniformConstant_type_2d_image UniformConstant
%Texture1Sampler = OpVariable %_ptr_UniformConstant_type_sampler UniformConstant
%in_var_TEXCOORD0 = OpVariable %_ptr_Input_v2float Input
%gl_FragCoord = OpVariable %_ptr_Input_v4float Input
%gl_Layer = OpVariable %_ptr_Input_uint Input
%out_var_SV_Target0 = OpVariable %_ptr_Output_v4float Output
%_ptr_Function__arr_float_uint_6 = OpTypePointer Function %_arr_float_uint_6
%_ptr_Function__arr_float_uint_10 = OpTypePointer Function %_arr_float_uint_10
%416 = OpConstantComposite %v3float %float_0_952552378 %float_0 %float_9_36786018en05
%417 = OpConstantComposite %v3float %float_0_343966454 %float_0_728166103 %float_n0_0721325427
%418 = OpConstantComposite %v3float %float_0 %float_0 %float_1_00882518
%419 = OpConstantComposite %mat3v3float %416 %417 %418
%420 = OpConstantComposite %v3float %float_1_04981101 %float_0 %float_n9_74845025en05
%421 = OpConstantComposite %v3float %float_n0_495903015 %float_1_37331307 %float_0_0982400328
%422 = OpConstantComposite %v3float %float_0 %float_0 %float_0_991252005
%423 = OpConstantComposite %mat3v3float %420 %421 %422
%424 = OpConstantComposite %v3float %float_0_662454188 %float_0_134004205 %float_0_156187683
%425 = OpConstantComposite %v3float %float_n0_00557464967 %float_0_0040607336 %float_1_01033914
%426 = OpConstantComposite %mat3v3float %424 %73 %425
%427 = OpConstantComposite %v3float %float_1_6410234 %float_n0_324803293 %float_n0_236424699
%428 = OpConstantComposite %v3float %float_n0_663662851 %float_1_61533165 %float_0_0167563483
%429 = OpConstantComposite %v3float %float_0_0117218941 %float_n0_00828444213 %float_0_988394856
%430 = OpConstantComposite %mat3v3float %427 %428 %429
%431 = OpConstantComposite %v3float %float_1_45143926 %float_n0_236510754 %float_n0_214928567
%432 = OpConstantComposite %v3float %float_n0_0765537769 %float_1_17622972 %float_n0_0996759236
%433 = OpConstantComposite %v3float %float_0_00831614807 %float_n0_00603244966 %float_0_997716308
%434 = OpConstantComposite %mat3v3float %431 %432 %433
%435 = OpConstantComposite %v3float %float_0_695452213 %float_0_140678704 %float_0_163869068
%436 = OpConstantComposite %v3float %float_0_0447945632 %float_0_859671116 %float_0_0955343172
%437 = OpConstantComposite %v3float %float_n0_00552588282 %float_0_00402521016 %float_1_00150073
%438 = OpConstantComposite %mat3v3float %435 %436 %437
%439 = OpConstantComposite %v3float %float_3_2409699 %float_n1_5373832 %float_n0_498610765
%440 = OpConstantComposite %v3float %float_n0_969243646 %float_1_8759675 %float_0_0415550582
%441 = OpConstantComposite %v3float %float_0_0556300804 %float_n0_203976959 %float_1_05697155
%442 = OpConstantComposite %mat3v3float %439 %440 %441
%443 = OpConstantComposite %v3float %float_0_412456393 %float_0_357576102 %float_0_180437505
%444 = OpConstantComposite %v3float %float_0_212672904 %float_0_715152204 %float_0_0721750036
%445 = OpConstantComposite %v3float %float_0_0193339009 %float_0_119191997 %float_0_950304091
%446 = OpConstantComposite %mat3v3float %443 %444 %445
%447 = OpConstantComposite %v3float %float_1_71660841 %float_n0_355662107 %float_n0_253360093
%448 = OpConstantComposite %v3float %float_n0_666682899 %float_1_61647761 %float_0_0157685
%449 = OpConstantComposite %v3float %float_0_0176422 %float_n0_0427763015 %float_0_942228675
%450 = OpConstantComposite %mat3v3float %447 %448 %449
%451 = OpConstantComposite %v3float %float_2_49339628 %float_n0_93134588 %float_n0_402694494
%452 = OpConstantComposite %v3float %float_n0_829486787 %float_1_76265967 %float_0_0236246008
%453 = OpConstantComposite %v3float %float_0_0358507 %float_n0_0761827007 %float_0_957014024
%454 = OpConstantComposite %mat3v3float %451 %452 %453
%455 = OpConstantComposite %v3float %float_1_01303005 %float_0_00610530982 %float_n0_0149710001
%456 = OpConstantComposite %v3float %float_0_00769822998 %float_0_998165011 %float_n0_00503202993
%457 = OpConstantComposite %v3float %float_n0_00284131011 %float_0_00468515977 %float_0_924507022
%458 = OpConstantComposite %mat3v3float %455 %456 %457
%459 = OpConstantComposite %v3float %float_0_987223983 %float_n0_00611326983 %float_0_0159533005
%460 = OpConstantComposite %v3float %float_n0_00759836007 %float_1_00186002 %float_0_0053300201
%461 = OpConstantComposite %v3float %float_0_00307257008 %float_n0_00509594986 %float_1_08168006
%462 = OpConstantComposite %mat3v3float %459 %460 %461
%463 = OpConstantComposite %v3float %float_0_5 %float_n1 %float_0_5
%464 = OpConstantComposite %v3float %float_n1 %float_1 %float_0_5
%465 = OpConstantComposite %v3float %float_0_5 %float_0 %float_0
%466 = OpConstantComposite %mat3v3float %463 %464 %465
%467 = OpConstantComposite %v3float %float_1 %float_0 %float_0
%468 = OpConstantComposite %v3float %float_0 %float_1 %float_0
%469 = OpConstantComposite %v3float %float_0 %float_0 %float_1
%470 = OpConstantComposite %mat3v3float %467 %468 %469
%float_n6_07624626 = OpConstant %float -6.07624626
%472 = OpConstantComposite %v3float %float_n6_07624626 %float_n6_07624626 %float_n6_07624626
%473 = OpConstantComposite %v3float %float_0_895099998 %float_0_266400009 %float_n0_161400005
%474 = OpConstantComposite %v3float %float_n0_750199974 %float_1_71350002 %float_0_0366999991
%475 = OpConstantComposite %v3float %float_0_0388999991 %float_n0_0684999973 %float_1_02960002
%476 = OpConstantComposite %mat3v3float %473 %474 %475
%477 = OpConstantComposite %v3float %float_0_986992896 %float_n0_1470543 %float_0_159962699
%478 = OpConstantComposite %v3float %float_0_432305306 %float_0_518360317 %float_0_0492912009
%479 = OpConstantComposite %v3float %float_n0_0085287001 %float_0_040042799 %float_0_968486726
%480 = OpConstantComposite %mat3v3float %477 %478 %479
%481 = OpConstantComposite %v3float %float_0_544169128 %float_0_239592597 %float_0_166694298
%482 = OpConstantComposite %v3float %float_0_239465594 %float_0_702153027 %float_0_058381401
%483 = OpConstantComposite %v3float %float_n0_00234390004 %float_0_0361833982 %float_1_05521834
%484 = OpConstantComposite %mat3v3float %481 %482 %483
%485 = OpConstantComposite %v3float %float_0_940437257 %float_n0_0183068793 %float_0_077869609
%486 = OpConstantComposite %v3float %float_0_00837869663 %float_0_828660011 %float_0_162961304
%487 = OpConstantComposite %v3float %float_0_00054712611 %float_n0_000883374596 %float_1_00033629
%488 = OpConstantComposite %mat3v3float %485 %486 %487
%489 = OpConstantComposite %v3float %float_1_06317997 %float_0_0233955998 %float_n0_0865726024
%490 = OpConstantComposite %v3float %float_n0_0106336996 %float_1_20632005 %float_n0_195690006
%491 = OpConstantComposite %v3float %float_n0_000590886979 %float_0_00105247996 %float_0_999538004
%492 = OpConstantComposite %mat3v3float %489 %490 %491
%float_0_0533333346 = OpConstant %float 0.0533333346
%float_0_159999996 = OpConstant %float 0.159999996
%float_57_2957764 = OpConstant %float 57.2957764
%float_0_0625 = OpConstant %float 0.0625
%float_n67_5 = OpConstant %float -67.5
%float_67_5 = OpConstant %float 67.5
%499 = OpConstantComposite %_arr_float_uint_6 %float_n4 %float_n4 %float_n3_15737653 %float_n0_485249996 %float_1_84773242 %float_1_84773242
%500 = OpConstantComposite %_arr_float_uint_6 %float_n0_718548238 %float_2_08103061 %float_3_6681242 %float_4 %float_4 %float_4
%float_n15 = OpConstant %float -15
%float_n14 = OpConstant %float -14
%503 = OpConstantComposite %_arr_float_uint_10 %float_n4_97062206 %float_n3_02937818 %float_n2_12619996 %float_n1_51049995 %float_n1_05780005 %float_n0_466800004 %float_0_119379997 %float_0_708813429 %float_1_29118657 %float_1_29118657
%504 = OpConstantComposite %_arr_float_uint_10 %float_0_808913231 %float_1_19108677 %float_1_56830001 %float_1_9483 %float_2_30830002 %float_2_63840008 %float_2_85949993 %float_2_98726082 %float_3_01273918 %float_3_01273918
%float_n12 = OpConstant %float -12
%506 = OpConstantComposite %_arr_float_uint_10 %float_n2_30102992 %float_n2_30102992 %float_n1_93120003 %float_n1_52049994 %float_n1_05780005 %float_n0_466800004 %float_0_119379997 %float_0_708813429 %float_1_29118657 %float_1_29118657
%507 = OpConstantComposite %_arr_float_uint_10 %float_0_801995218 %float_1_19800484 %float_1_59430003 %float_1_99730003 %float_2_37829995 %float_2_76839995 %float_3_05150008 %float_3_27462935 %float_3_32743073 %float_3_32743073
%float_0_0322580636 = OpConstant %float 0.0322580636
%float_1_03225803 = OpConstant %float 1.03225803
%510 = OpConstantComposite %v2float %float_1_03225803 %float_1_03225803
%float_4_60443853e_09 = OpConstant %float 4.60443853e+09
%float_2_00528435e_09 = OpConstant %float 2.00528435e+09
%float_0_333333343 = OpConstant %float 0.333333343
%float_5 = OpConstant %float 5
%float_2_5 = OpConstant %float 2.5
%float_0_0250000004 = OpConstant %float 0.0250000004
%float_0_239999995 = OpConstant %float 0.239999995
%float_0_0148148146 = OpConstant %float 0.0148148146
%519 = OpConstantComposite %v3float %float_9_99999975en05 %float_9_99999975en05 %float_9_99999975en05
%float_0_0296296291 = OpConstant %float 0.0296296291
%float_0_952381015 = OpConstant %float 0.952381015
%522 = OpConstantComposite %v3float %float_0_952381015 %float_0_952381015 %float_0_952381015
%523 = OpUndef %v3float
%float_0_358299971 = OpConstant %float 0.358299971
%525 = OpUndef %v3float
%MainPS = OpFunction %void None %402
%526 = OpLabel
%527 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%528 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%529 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%530 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%531 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%532 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%533 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%534 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%535 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%536 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%537 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%538 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%539 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%540 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%541 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%542 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%543 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%544 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%545 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%546 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%547 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%548 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%549 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%550 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%551 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%552 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%553 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%554 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%555 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%556 = OpVariable %_ptr_Function__arr_float_uint_10 Function
%557 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%558 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%559 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%560 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%561 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%562 = OpVariable %_ptr_Function__arr_float_uint_6 Function
%563 = OpLoad %v2float %in_var_TEXCOORD0
%564 = OpLoad %uint %gl_Layer
%565 = OpFSub %v2float %563 %134
%566 = OpFMul %v2float %565 %510
%567 = OpCompositeExtract %float %566 0
%568 = OpCompositeExtract %float %566 1
%569 = OpConvertUToF %float %564
%570 = OpFMul %float %569 %float_0_0322580636
%571 = OpCompositeConstruct %v4float %567 %568 %570 %float_0
%572 = OpMatrixTimesMatrix %mat3v3float %446 %458
%573 = OpMatrixTimesMatrix %mat3v3float %572 %430
%574 = OpMatrixTimesMatrix %mat3v3float %426 %462
%575 = OpMatrixTimesMatrix %mat3v3float %574 %442
%576 = OpMatrixTimesMatrix %mat3v3float %419 %430
%577 = OpMatrixTimesMatrix %mat3v3float %426 %423
%578 = OpAccessChain %_ptr_Uniform_uint %_Globals %int_43
%579 = OpLoad %uint %578
OpBranch %580
%580 = OpLabel
OpLoopMerge %581 %582 None
OpBranch %583
%583 = OpLabel
%584 = OpMatrixTimesMatrix %mat3v3float %574 %454
%585 = OpMatrixTimesMatrix %mat3v3float %574 %450
%586 = OpIEqual %bool %579 %uint_1
OpSelectionMerge %587 None
OpBranchConditional %586 %588 %589
%589 = OpLabel
%590 = OpIEqual %bool %579 %uint_2
OpSelectionMerge %591 None
OpBranchConditional %590 %592 %593
%593 = OpLabel
%594 = OpIEqual %bool %579 %uint_3
OpSelectionMerge %595 None
OpBranchConditional %594 %596 %597
%597 = OpLabel
%598 = OpIEqual %bool %579 %uint_4
OpSelectionMerge %599 None
OpBranchConditional %598 %600 %601
%601 = OpLabel
OpBranch %581
%600 = OpLabel
OpBranch %581
%599 = OpLabel
OpUnreachable
%596 = OpLabel
OpBranch %581
%595 = OpLabel
OpUnreachable
%592 = OpLabel
OpBranch %581
%591 = OpLabel
OpUnreachable
%588 = OpLabel
OpBranch %581
%587 = OpLabel
OpUnreachable
%582 = OpLabel
OpBranch %580
%581 = OpLabel
%602 = OpPhi %mat3v3float %575 %601 %470 %600 %438 %596 %585 %592 %584 %588
%603 = OpVectorShuffle %v3float %571 %571 0 1 2
%604 = OpAccessChain %_ptr_Uniform_uint %_Globals %int_42
%605 = OpLoad %uint %604
%606 = OpUGreaterThanEqual %bool %605 %uint_3
OpSelectionMerge %607 None
OpBranchConditional %606 %608 %609
%609 = OpLabel
%610 = OpFSub %v3float %603 %204
%611 = OpFMul %v3float %610 %205
%612 = OpExtInst %v3float %1 Exp2 %611
%613 = OpFMul %v3float %612 %206
%614 = OpExtInst %v3float %1 Exp2 %472
%615 = OpFMul %v3float %614 %206
%616 = OpFSub %v3float %613 %615
OpBranch %607
%608 = OpLabel
%617 = OpExtInst %v3float %1 Pow %603 %194
%618 = OpFSub %v3float %617 %195
%619 = OpExtInst %v3float %1 FMax %138 %618
%620 = OpFMul %v3float %197 %617
%621 = OpFSub %v3float %196 %620
%622 = OpFDiv %v3float %619 %621
%623 = OpExtInst %v3float %1 Pow %622 %199
%624 = OpFMul %v3float %623 %200
OpBranch %607
%607 = OpLabel
%625 = OpPhi %v3float %616 %609 %624 %608
%626 = OpAccessChain %_ptr_Uniform_float %_Globals %int_18
%627 = OpLoad %float %626
%628 = OpFMul %float %627 %float_1_00055635
%629 = OpFOrdLessThanEqual %bool %628 %float_7000
%630 = OpFDiv %float %float_4_60443853e_09 %627
%631 = OpFSub %float %float_2967800 %630
%632 = OpFDiv %float %631 %628
%633 = OpFAdd %float %float_99_1100006 %632
%634 = OpFDiv %float %633 %628
%635 = OpFAdd %float %float_0_244063005 %634
%636 = OpFDiv %float %float_2_00528435e_09 %627
%637 = OpFSub %float %float_1901800 %636
%638 = OpFDiv %float %637 %628
%639 = OpFAdd %float %float_247_479996 %638
%640 = OpFDiv %float %639 %628
%641 = OpFAdd %float %float_0_237039998 %640
%642 = OpSelect %float %629 %635 %641
%643 = OpFMul %float %float_n3 %642
%644 = OpFMul %float %643 %642
%645 = OpFMul %float %float_2_86999989 %642
%646 = OpFAdd %float %644 %645
%647 = OpFSub %float %646 %float_0_275000006
%648 = OpCompositeConstruct %v2float %642 %647
%649 = OpFMul %float %float_0_000154118257 %627
%650 = OpFAdd %float %float_0_860117733 %649
%651 = OpFMul %float %float_1_28641219en07 %627
%652 = OpFMul %float %651 %627
%653 = OpFAdd %float %650 %652
%654 = OpFMul %float %float_0_00084242021 %627
%655 = OpFAdd %float %float_1 %654
%656 = OpFMul %float %float_7_08145137en07 %627
%657 = OpFMul %float %656 %627
%658 = OpFAdd %float %655 %657
%659 = OpFDiv %float %653 %658
%660 = OpFMul %float %float_4_22806261en05 %627
%661 = OpFAdd %float %float_0_317398727 %660
%662 = OpFMul %float %float_4_20481676en08 %627
%663 = OpFMul %float %662 %627
%664 = OpFAdd %float %661 %663
%665 = OpFMul %float %float_2_8974182en05 %627
%666 = OpFSub %float %float_1 %665
%667 = OpFMul %float %float_1_61456057en07 %627
%668 = OpFMul %float %667 %627
%669 = OpFAdd %float %666 %668
%670 = OpFDiv %float %664 %669
%671 = OpFMul %float %float_3 %659
%672 = OpFMul %float %float_2 %659
%673 = OpFMul %float %float_8 %670
%674 = OpFSub %float %672 %673
%675 = OpFAdd %float %674 %float_4
%676 = OpFDiv %float %671 %675
%677 = OpFMul %float %float_2 %670
%678 = OpFDiv %float %677 %675
%679 = OpCompositeConstruct %v2float %676 %678
%680 = OpFOrdLessThan %bool %627 %float_4000
%681 = OpCompositeConstruct %v2bool %680 %680
%682 = OpSelect %v2float %681 %679 %648
%683 = OpAccessChain %_ptr_Uniform_float %_Globals %int_19
%684 = OpLoad %float %683
%685 = OpCompositeConstruct %v2float %659 %670
%686 = OpExtInst %v2float %1 Normalize %685
%687 = OpCompositeExtract %float %686 1
%688 = OpFNegate %float %687
%689 = OpFMul %float %688 %684
%690 = OpFMul %float %689 %float_0_0500000007
%691 = OpFAdd %float %659 %690
%692 = OpCompositeExtract %float %686 0
%693 = OpFMul %float %692 %684
%694 = OpFMul %float %693 %float_0_0500000007
%695 = OpFAdd %float %670 %694
%696 = OpFMul %float %float_3 %691
%697 = OpFMul %float %float_2 %691
%698 = OpFMul %float %float_8 %695
%699 = OpFSub %float %697 %698
%700 = OpFAdd %float %699 %float_4
%701 = OpFDiv %float %696 %700
%702 = OpFMul %float %float_2 %695
%703 = OpFDiv %float %702 %700
%704 = OpCompositeConstruct %v2float %701 %703
%705 = OpFSub %v2float %704 %679
%706 = OpFAdd %v2float %682 %705
%707 = OpCompositeExtract %float %706 0
%708 = OpCompositeExtract %float %706 1
%709 = OpExtInst %float %1 FMax %708 %float_1_00000001en10
%710 = OpFDiv %float %707 %709
%711 = OpCompositeInsert %v3float %710 %523 0
%712 = OpCompositeInsert %v3float %float_1 %711 1
%713 = OpFSub %float %float_1 %707
%714 = OpFSub %float %713 %708
%715 = OpFDiv %float %714 %709
%716 = OpCompositeInsert %v3float %715 %712 2
%717 = OpExtInst %float %1 FMax %float_0_328999996 %float_1_00000001en10
%718 = OpFDiv %float %float_0_312700003 %717
%719 = OpCompositeInsert %v3float %718 %523 0
%720 = OpCompositeInsert %v3float %float_1 %719 1
%721 = OpFDiv %float %float_0_358299971 %717
%722 = OpCompositeInsert %v3float %721 %720 2
%723 = OpVectorTimesMatrix %v3float %716 %476
%724 = OpVectorTimesMatrix %v3float %722 %476
%725 = OpCompositeExtract %float %724 0
%726 = OpCompositeExtract %float %723 0
%727 = OpFDiv %float %725 %726
%728 = OpCompositeConstruct %v3float %727 %float_0 %float_0
%729 = OpCompositeExtract %float %724 1
%730 = OpCompositeExtract %float %723 1
%731 = OpFDiv %float %729 %730
%732 = OpCompositeConstruct %v3float %float_0 %731 %float_0
%733 = OpCompositeExtract %float %724 2
%734 = OpCompositeExtract %float %723 2
%735 = OpFDiv %float %733 %734
%736 = OpCompositeConstruct %v3float %float_0 %float_0 %735
%737 = OpCompositeConstruct %mat3v3float %728 %732 %736
%738 = OpMatrixTimesMatrix %mat3v3float %476 %737
%739 = OpMatrixTimesMatrix %mat3v3float %738 %480
%740 = OpMatrixTimesMatrix %mat3v3float %446 %739
%741 = OpMatrixTimesMatrix %mat3v3float %740 %442
%742 = OpVectorTimesMatrix %v3float %625 %741
%743 = OpVectorTimesMatrix %v3float %742 %573
%744 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_9
%745 = OpAccessChain %_ptr_Uniform_float %_Globals %int_9 %int_3
%746 = OpLoad %float %745
%747 = OpFOrdNotEqual %bool %746 %float_0
OpSelectionMerge %748 None
OpBranchConditional %747 %749 %748
%749 = OpLabel
%750 = OpDot %float %743 %73
%751 = OpCompositeConstruct %v3float %750 %750 %750
%752 = OpFDiv %v3float %743 %751
%753 = OpFSub %v3float %752 %141
%754 = OpDot %float %753 %753
%755 = OpFMul %float %float_n4 %754
%756 = OpExtInst %float %1 Exp2 %755
%757 = OpFSub %float %float_1 %756
%758 = OpAccessChain %_ptr_Uniform_float %_Globals %int_45
%759 = OpLoad %float %758
%760 = OpFMul %float %float_n4 %759
%761 = OpFMul %float %760 %750
%762 = OpFMul %float %761 %750
%763 = OpExtInst %float %1 Exp2 %762
%764 = OpFSub %float %float_1 %763
%765 = OpFMul %float %757 %764
%766 = OpMatrixTimesMatrix %mat3v3float %484 %430
%767 = OpMatrixTimesMatrix %mat3v3float %575 %766
%768 = OpVectorTimesMatrix %v3float %743 %767
%769 = OpCompositeConstruct %v3float %765 %765 %765
%770 = OpExtInst %v3float %1 FMix %743 %768 %769
OpBranch %748
%748 = OpLabel
%771 = OpPhi %v3float %743 %607 %770 %749
%772 = OpDot %float %771 %73
%773 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_25
%774 = OpLoad %v4float %773
%775 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_20
%776 = OpLoad %v4float %775
%777 = OpFMul %v4float %774 %776
%778 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_26
%779 = OpLoad %v4float %778
%780 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_21
%781 = OpLoad %v4float %780
%782 = OpFMul %v4float %779 %781
%783 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_27
%784 = OpLoad %v4float %783
%785 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_22
%786 = OpLoad %v4float %785
%787 = OpFMul %v4float %784 %786
%788 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_28
%789 = OpLoad %v4float %788
%790 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_23
%791 = OpLoad %v4float %790
%792 = OpFMul %v4float %789 %791
%793 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_29
%794 = OpLoad %v4float %793
%795 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_24
%796 = OpLoad %v4float %795
%797 = OpFAdd %v4float %794 %796
%798 = OpCompositeConstruct %v3float %772 %772 %772
%799 = OpVectorShuffle %v3float %777 %777 0 1 2
%800 = OpCompositeExtract %float %777 3
%801 = OpCompositeConstruct %v3float %800 %800 %800
%802 = OpFMul %v3float %799 %801
%803 = OpExtInst %v3float %1 FMix %798 %771 %802
%804 = OpExtInst %v3float %1 FMax %138 %803
%805 = OpFMul %v3float %804 %330
%806 = OpVectorShuffle %v3float %782 %782 0 1 2
%807 = OpCompositeExtract %float %782 3
%808 = OpCompositeConstruct %v3float %807 %807 %807
%809 = OpFMul %v3float %806 %808
%810 = OpExtInst %v3float %1 Pow %805 %809
%811 = OpFMul %v3float %810 %206
%812 = OpVectorShuffle %v3float %787 %787 0 1 2
%813 = OpCompositeExtract %float %787 3
%814 = OpCompositeConstruct %v3float %813 %813 %813
%815 = OpFMul %v3float %812 %814
%816 = OpFDiv %v3float %141 %815
%817 = OpExtInst %v3float %1 Pow %811 %816
%818 = OpVectorShuffle %v3float %792 %792 0 1 2
%819 = OpCompositeExtract %float %792 3
%820 = OpCompositeConstruct %v3float %819 %819 %819
%821 = OpFMul %v3float %818 %820
%822 = OpFMul %v3float %817 %821
%823 = OpVectorShuffle %v3float %797 %797 0 1 2
%824 = OpCompositeExtract %float %797 3
%825 = OpCompositeConstruct %v3float %824 %824 %824
%826 = OpFAdd %v3float %823 %825
%827 = OpFAdd %v3float %822 %826
%828 = OpAccessChain %_ptr_Uniform_float %_Globals %int_40
%829 = OpLoad %float %828
%830 = OpExtInst %float %1 SmoothStep %float_0 %829 %772
%831 = OpFSub %float %float_1 %830
%832 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_35
%833 = OpLoad %v4float %832
%834 = OpFMul %v4float %833 %776
%835 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_36
%836 = OpLoad %v4float %835
%837 = OpFMul %v4float %836 %781
%838 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_37
%839 = OpLoad %v4float %838
%840 = OpFMul %v4float %839 %786
%841 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_38
%842 = OpLoad %v4float %841
%843 = OpFMul %v4float %842 %791
%844 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_39
%845 = OpLoad %v4float %844
%846 = OpFAdd %v4float %845 %796
%847 = OpVectorShuffle %v3float %834 %834 0 1 2
%848 = OpCompositeExtract %float %834 3
%849 = OpCompositeConstruct %v3float %848 %848 %848
%850 = OpFMul %v3float %847 %849
%851 = OpExtInst %v3float %1 FMix %798 %771 %850
%852 = OpExtInst %v3float %1 FMax %138 %851
%853 = OpFMul %v3float %852 %330
%854 = OpVectorShuffle %v3float %837 %837 0 1 2
%855 = OpCompositeExtract %float %837 3
%856 = OpCompositeConstruct %v3float %855 %855 %855
%857 = OpFMul %v3float %854 %856
%858 = OpExtInst %v3float %1 Pow %853 %857
%859 = OpFMul %v3float %858 %206
%860 = OpVectorShuffle %v3float %840 %840 0 1 2
%861 = OpCompositeExtract %float %840 3
%862 = OpCompositeConstruct %v3float %861 %861 %861
%863 = OpFMul %v3float %860 %862
%864 = OpFDiv %v3float %141 %863
%865 = OpExtInst %v3float %1 Pow %859 %864
%866 = OpVectorShuffle %v3float %843 %843 0 1 2
%867 = OpCompositeExtract %float %843 3
%868 = OpCompositeConstruct %v3float %867 %867 %867
%869 = OpFMul %v3float %866 %868
%870 = OpFMul %v3float %865 %869
%871 = OpVectorShuffle %v3float %846 %846 0 1 2
%872 = OpCompositeExtract %float %846 3
%873 = OpCompositeConstruct %v3float %872 %872 %872
%874 = OpFAdd %v3float %871 %873
%875 = OpFAdd %v3float %870 %874
%876 = OpAccessChain %_ptr_Uniform_float %_Globals %int_41
%877 = OpLoad %float %876
%878 = OpExtInst %float %1 SmoothStep %877 %float_1 %772
%879 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_30
%880 = OpLoad %v4float %879
%881 = OpFMul %v4float %880 %776
%882 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_31
%883 = OpLoad %v4float %882
%884 = OpFMul %v4float %883 %781
%885 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_32
%886 = OpLoad %v4float %885
%887 = OpFMul %v4float %886 %786
%888 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_33
%889 = OpLoad %v4float %888
%890 = OpFMul %v4float %889 %791
%891 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_34
%892 = OpLoad %v4float %891
%893 = OpFAdd %v4float %892 %796
%894 = OpVectorShuffle %v3float %881 %881 0 1 2
%895 = OpCompositeExtract %float %881 3
%896 = OpCompositeConstruct %v3float %895 %895 %895
%897 = OpFMul %v3float %894 %896
%898 = OpExtInst %v3float %1 FMix %798 %771 %897
%899 = OpExtInst %v3float %1 FMax %138 %898
%900 = OpFMul %v3float %899 %330
%901 = OpVectorShuffle %v3float %884 %884 0 1 2
%902 = OpCompositeExtract %float %884 3
%903 = OpCompositeConstruct %v3float %902 %902 %902
%904 = OpFMul %v3float %901 %903
%905 = OpExtInst %v3float %1 Pow %900 %904
%906 = OpFMul %v3float %905 %206
%907 = OpVectorShuffle %v3float %887 %887 0 1 2
%908 = OpCompositeExtract %float %887 3
%909 = OpCompositeConstruct %v3float %908 %908 %908
%910 = OpFMul %v3float %907 %909
%911 = OpFDiv %v3float %141 %910
%912 = OpExtInst %v3float %1 Pow %906 %911
%913 = OpVectorShuffle %v3float %890 %890 0 1 2
%914 = OpCompositeExtract %float %890 3
%915 = OpCompositeConstruct %v3float %914 %914 %914
%916 = OpFMul %v3float %913 %915
%917 = OpFMul %v3float %912 %916
%918 = OpVectorShuffle %v3float %893 %893 0 1 2
%919 = OpCompositeExtract %float %893 3
%920 = OpCompositeConstruct %v3float %919 %919 %919
%921 = OpFAdd %v3float %918 %920
%922 = OpFAdd %v3float %917 %921
%923 = OpFSub %float %830 %878
%924 = OpCompositeConstruct %v3float %831 %831 %831
%925 = OpFMul %v3float %827 %924
%926 = OpCompositeConstruct %v3float %923 %923 %923
%927 = OpFMul %v3float %922 %926
%928 = OpFAdd %v3float %925 %927
%929 = OpCompositeConstruct %v3float %878 %878 %878
%930 = OpFMul %v3float %875 %929
%931 = OpFAdd %v3float %928 %930
%932 = OpVectorTimesMatrix %v3float %931 %575
%933 = OpMatrixTimesMatrix %mat3v3float %577 %488
%934 = OpMatrixTimesMatrix %mat3v3float %933 %576
%935 = OpMatrixTimesMatrix %mat3v3float %577 %492
%936 = OpMatrixTimesMatrix %mat3v3float %935 %576
%937 = OpVectorTimesMatrix %v3float %931 %934
%938 = OpAccessChain %_ptr_Uniform_float %_Globals %int_44
%939 = OpLoad %float %938
%940 = OpCompositeConstruct %v3float %939 %939 %939
%941 = OpExtInst %v3float %1 FMix %931 %937 %940
%942 = OpVectorTimesMatrix %v3float %941 %577
%943 = OpCompositeExtract %float %942 0
%944 = OpCompositeExtract %float %942 1
%945 = OpExtInst %float %1 FMin %943 %944
%946 = OpCompositeExtract %float %942 2
%947 = OpExtInst %float %1 FMin %945 %946
%948 = OpExtInst %float %1 FMax %943 %944
%949 = OpExtInst %float %1 FMax %948 %946
%950 = OpExtInst %float %1 FMax %949 %float_1_00000001en10
%951 = OpExtInst %float %1 FMax %947 %float_1_00000001en10
%952 = OpFSub %float %950 %951
%953 = OpExtInst %float %1 FMax %949 %float_0_00999999978
%954 = OpFDiv %float %952 %953
%955 = OpFSub %float %946 %944
%956 = OpFMul %float %946 %955
%957 = OpFSub %float %944 %943
%958 = OpFMul %float %944 %957
%959 = OpFAdd %float %956 %958
%960 = OpFSub %float %943 %946
%961 = OpFMul %float %943 %960
%962 = OpFAdd %float %959 %961
%963 = OpExtInst %float %1 Sqrt %962
%964 = OpFAdd %float %946 %944
%965 = OpFAdd %float %964 %943
%966 = OpFMul %float %float_1_75 %963
%967 = OpFAdd %float %965 %966
%968 = OpFMul %float %967 %float_0_333333343
%969 = OpFSub %float %954 %float_0_400000006
%970 = OpFMul %float %969 %float_5
%971 = OpFMul %float %969 %float_2_5
%972 = OpExtInst %float %1 FAbs %971
%973 = OpFSub %float %float_1 %972
%974 = OpExtInst %float %1 FMax %973 %float_0
%975 = OpExtInst %float %1 FSign %970
%976 = OpConvertFToS %int %975
%977 = OpConvertSToF %float %976
%978 = OpFMul %float %974 %974
%979 = OpFSub %float %float_1 %978
%980 = OpFMul %float %977 %979
%981 = OpFAdd %float %float_1 %980
%982 = OpFMul %float %981 %float_0_0250000004
%983 = OpFOrdLessThanEqual %bool %968 %float_0_0533333346
OpSelectionMerge %984 None
OpBranchConditional %983 %985 %986
%986 = OpLabel
%987 = OpFOrdGreaterThanEqual %bool %968 %float_0_159999996
OpSelectionMerge %988 None
OpBranchConditional %987 %989 %990
%990 = OpLabel
%991 = OpFDiv %float %float_0_239999995 %967
%992 = OpFSub %float %991 %float_0_5
%993 = OpFMul %float %982 %992
OpBranch %988
%989 = OpLabel
OpBranch %988
%988 = OpLabel
%994 = OpPhi %float %993 %990 %float_0 %989
OpBranch %984
%985 = OpLabel
OpBranch %984
%984 = OpLabel
%995 = OpPhi %float %994 %988 %982 %985
%996 = OpFAdd %float %float_1 %995
%997 = OpCompositeConstruct %v3float %996 %996 %996
%998 = OpFMul %v3float %942 %997
%999 = OpCompositeExtract %float %998 0
%1000 = OpCompositeExtract %float %998 1
%1001 = OpFOrdEqual %bool %999 %1000
%1002 = OpCompositeExtract %float %998 2
%1003 = OpFOrdEqual %bool %1000 %1002
%1004 = OpLogicalAnd %bool %1001 %1003
OpSelectionMerge %1005 None
OpBranchConditional %1004 %1006 %1007
%1007 = OpLabel
%1008 = OpExtInst %float %1 Sqrt %float_3
%1009 = OpFSub %float %1000 %1002
%1010 = OpFMul %float %1008 %1009
%1011 = OpFMul %float %float_2 %999
%1012 = OpFSub %float %1011 %1000
%1013 = OpFSub %float %1012 %1002
%1014 = OpExtInst %float %1 Atan2 %1010 %1013
%1015 = OpFMul %float %float_57_2957764 %1014
OpBranch %1005
%1006 = OpLabel
OpBranch %1005
%1005 = OpLabel
%1016 = OpPhi %float %1015 %1007 %float_0 %1006
%1017 = OpFOrdLessThan %bool %1016 %float_0
OpSelectionMerge %1018 None
OpBranchConditional %1017 %1019 %1018
%1019 = OpLabel
%1020 = OpFAdd %float %1016 %float_360
OpBranch %1018
%1018 = OpLabel
%1021 = OpPhi %float %1016 %1005 %1020 %1019
%1022 = OpExtInst %float %1 FClamp %1021 %float_0 %float_360
%1023 = OpFOrdGreaterThan %bool %1022 %float_180
OpSelectionMerge %1024 None
OpBranchConditional %1023 %1025 %1024
%1025 = OpLabel
%1026 = OpFSub %float %1022 %float_360
OpBranch %1024
%1024 = OpLabel
%1027 = OpPhi %float %1022 %1018 %1026 %1025
%1028 = OpFMul %float %1027 %float_0_0148148146
%1029 = OpExtInst %float %1 FAbs %1028
%1030 = OpFSub %float %float_1 %1029
%1031 = OpExtInst %float %1 SmoothStep %float_0 %float_1 %1030
%1032 = OpFMul %float %1031 %1031
%1033 = OpFMul %float %1032 %954
%1034 = OpFSub %float %float_0_0299999993 %999
%1035 = OpFMul %float %1033 %1034
%1036 = OpFMul %float %1035 %float_0_180000007
%1037 = OpFAdd %float %999 %1036
%1038 = OpCompositeInsert %v3float %1037 %998 0
%1039 = OpVectorTimesMatrix %v3float %1038 %434
%1040 = OpExtInst %v3float %1 FMax %138 %1039
%1041 = OpDot %float %1040 %73
%1042 = OpCompositeConstruct %v3float %1041 %1041 %1041
%1043 = OpExtInst %v3float %1 FMix %1042 %1040 %241
%1044 = OpAccessChain %_ptr_Uniform_float %_Globals %int_13
%1045 = OpLoad %float %1044
%1046 = OpFAdd %float %float_1 %1045
%1047 = OpAccessChain %_ptr_Uniform_float %_Globals %int_11
%1048 = OpLoad %float %1047
%1049 = OpFSub %float %1046 %1048
%1050 = OpAccessChain %_ptr_Uniform_float %_Globals %int_14
%1051 = OpLoad %float %1050
%1052 = OpFAdd %float %float_1 %1051
%1053 = OpAccessChain %_ptr_Uniform_float %_Globals %int_12
%1054 = OpLoad %float %1053
%1055 = OpFSub %float %1052 %1054
%1056 = OpFOrdGreaterThan %bool %1048 %float_0_800000012
OpSelectionMerge %1057 None
OpBranchConditional %1056 %1058 %1059
%1059 = OpLabel
%1060 = OpFAdd %float %float_0_180000007 %1045
%1061 = OpFDiv %float %1060 %1049
%1062 = OpExtInst %float %1 Log %float_0_180000007
%1063 = OpExtInst %float %1 Log %float_10
%1064 = OpFDiv %float %1062 %1063
%1065 = OpFSub %float %float_2 %1061
%1066 = OpFDiv %float %1061 %1065
%1067 = OpExtInst %float %1 Log %1066
%1068 = OpFMul %float %float_0_5 %1067
%1069 = OpAccessChain %_ptr_Uniform_float %_Globals %int_10
%1070 = OpLoad %float %1069
%1071 = OpFDiv %float %1049 %1070
%1072 = OpFMul %float %1068 %1071
%1073 = OpFSub %float %1064 %1072
OpBranch %1057
%1058 = OpLabel
%1074 = OpFSub %float %float_0_819999993 %1048
%1075 = OpAccessChain %_ptr_Uniform_float %_Globals %int_10
%1076 = OpLoad %float %1075
%1077 = OpFDiv %float %1074 %1076
%1078 = OpExtInst %float %1 Log %float_0_180000007
%1079 = OpExtInst %float %1 Log %float_10
%1080 = OpFDiv %float %1078 %1079
%1081 = OpFAdd %float %1077 %1080
OpBranch %1057
%1057 = OpLabel
%1082 = OpPhi %float %1073 %1059 %1081 %1058
%1083 = OpFSub %float %float_1 %1048
%1084 = OpAccessChain %_ptr_Uniform_float %_Globals %int_10
%1085 = OpLoad %float %1084
%1086 = OpFDiv %float %1083 %1085
%1087 = OpFSub %float %1086 %1082
%1088 = OpFDiv %float %1054 %1085
%1089 = OpFSub %float %1088 %1087
%1090 = OpExtInst %v3float %1 Log %1043
%1091 = OpExtInst %float %1 Log %float_10
%1092 = OpCompositeConstruct %v3float %1091 %1091 %1091
%1093 = OpFDiv %v3float %1090 %1092
%1094 = OpCompositeConstruct %v3float %1085 %1085 %1085
%1095 = OpCompositeConstruct %v3float %1087 %1087 %1087
%1096 = OpFAdd %v3float %1093 %1095
%1097 = OpFMul %v3float %1094 %1096
%1098 = OpFNegate %float %1045
%1099 = OpCompositeConstruct %v3float %1098 %1098 %1098
%1100 = OpFMul %float %float_2 %1049
%1101 = OpCompositeConstruct %v3float %1100 %1100 %1100
%1102 = OpFMul %float %float_n2 %1085
%1103 = OpFDiv %float %1102 %1049
%1104 = OpCompositeConstruct %v3float %1103 %1103 %1103
%1105 = OpCompositeConstruct %v3float %1082 %1082 %1082
%1106 = OpFSub %v3float %1093 %1105
%1107 = OpFMul %v3float %1104 %1106
%1108 = OpExtInst %v3float %1 Exp %1107
%1109 = OpFAdd %v3float %141 %1108
%1110 = OpFDiv %v3float %1101 %1109
%1111 = OpFAdd %v3float %1099 %1110
%1112 = OpCompositeConstruct %v3float %1052 %1052 %1052
%1113 = OpFMul %float %float_2 %1055
%1114 = OpCompositeConstruct %v3float %1113 %1113 %1113
%1115 = OpFMul %float %float_2 %1085
%1116 = OpFDiv %float %1115 %1055
%1117 = OpCompositeConstruct %v3float %1116 %1116 %1116
%1118 = OpCompositeConstruct %v3float %1089 %1089 %1089
%1119 = OpFSub %v3float %1093 %1118
%1120 = OpFMul %v3float %1117 %1119
%1121 = OpExtInst %v3float %1 Exp %1120
%1122 = OpFAdd %v3float %141 %1121
%1123 = OpFDiv %v3float %1114 %1122
%1124 = OpFSub %v3float %1112 %1123
%1125 = OpFOrdLessThan %v3bool %1093 %1105
%1126 = OpSelect %v3float %1125 %1111 %1097
%1127 = OpFOrdGreaterThan %v3bool %1093 %1118
%1128 = OpSelect %v3float %1127 %1124 %1097
%1129 = OpFSub %float %1089 %1082
%1130 = OpCompositeConstruct %v3float %1129 %1129 %1129
%1131 = OpFDiv %v3float %1106 %1130
%1132 = OpExtInst %v3float %1 FClamp %1131 %138 %141
%1133 = OpFOrdLessThan %bool %1089 %1082
%1134 = OpFSub %v3float %141 %1132
%1135 = OpCompositeConstruct %v3bool %1133 %1133 %1133
%1136 = OpSelect %v3float %1135 %1134 %1132
%1137 = OpFMul %v3float %252 %1136
%1138 = OpFSub %v3float %251 %1137
%1139 = OpFMul %v3float %1138 %1136
%1140 = OpFMul %v3float %1139 %1136
%1141 = OpExtInst %v3float %1 FMix %1126 %1128 %1140
%1142 = OpDot %float %1141 %73
%1143 = OpCompositeConstruct %v3float %1142 %1142 %1142
%1144 = OpExtInst %v3float %1 FMix %1143 %1141 %254
%1145 = OpExtInst %v3float %1 FMax %138 %1144
%1146 = OpVectorTimesMatrix %v3float %1145 %936
%1147 = OpExtInst %v3float %1 FMix %1145 %1146 %940
%1148 = OpVectorTimesMatrix %v3float %1147 %575
%1149 = OpExtInst %v3float %1 FMax %138 %1148
%1150 = OpFOrdEqual %bool %746 %float_0
OpSelectionMerge %1151 DontFlatten
OpBranchConditional %1150 %1152 %1151
%1152 = OpLabel
%1153 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_2
%1154 = OpLoad %v4float %1153
%1155 = OpVectorShuffle %v3float %1154 %1154 0 1 2
%1156 = OpDot %float %932 %1155
%1157 = OpCompositeInsert %v3float %1156 %525 0
%1158 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_3
%1159 = OpLoad %v4float %1158
%1160 = OpVectorShuffle %v3float %1159 %1159 0 1 2
%1161 = OpDot %float %932 %1160
%1162 = OpCompositeInsert %v3float %1161 %1157 1
%1163 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_4
%1164 = OpLoad %v4float %1163
%1165 = OpVectorShuffle %v3float %1164 %1164 0 1 2
%1166 = OpDot %float %932 %1165
%1167 = OpCompositeInsert %v3float %1166 %1162 2
%1168 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_8
%1169 = OpLoad %v4float %1168
%1170 = OpVectorShuffle %v3float %1169 %1169 0 1 2
%1171 = OpLoad %v4float %744
%1172 = OpVectorShuffle %v3float %1171 %1171 0 1 2
%1173 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_7
%1174 = OpLoad %v4float %1173
%1175 = OpVectorShuffle %v3float %1174 %1174 0 1 2
%1176 = OpDot %float %932 %1175
%1177 = OpFAdd %float %1176 %float_1
%1178 = OpFDiv %float %float_1 %1177
%1179 = OpCompositeConstruct %v3float %1178 %1178 %1178
%1180 = OpFMul %v3float %1172 %1179
%1181 = OpFAdd %v3float %1170 %1180
%1182 = OpFMul %v3float %1167 %1181
%1183 = OpExtInst %v3float %1 FMax %138 %1182
%1184 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_5
%1185 = OpLoad %v4float %1184
%1186 = OpVectorShuffle %v3float %1185 %1185 0 0 0
%1187 = OpFSub %v3float %1186 %1183
%1188 = OpExtInst %v3float %1 FMax %138 %1187
%1189 = OpVectorShuffle %v3float %1185 %1185 2 2 2
%1190 = OpExtInst %v3float %1 FMax %1183 %1189
%1191 = OpExtInst %v3float %1 FClamp %1183 %1186 %1189
%1192 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_6
%1193 = OpLoad %v4float %1192
%1194 = OpVectorShuffle %v3float %1193 %1193 0 0 0
%1195 = OpFMul %v3float %1190 %1194
%1196 = OpVectorShuffle %v3float %1193 %1193 1 1 1
%1197 = OpFAdd %v3float %1195 %1196
%1198 = OpVectorShuffle %v3float %1185 %1185 3 3 3
%1199 = OpFAdd %v3float %1190 %1198
%1200 = OpFDiv %v3float %141 %1199
%1201 = OpFMul %v3float %1197 %1200
%1202 = OpVectorShuffle %v3float %1164 %1164 3 3 3
%1203 = OpFMul %v3float %1191 %1202
%1204 = OpVectorShuffle %v3float %1154 %1154 3 3 3
%1205 = OpFMul %v3float %1188 %1204
%1206 = OpVectorShuffle %v3float %1185 %1185 1 1 1
%1207 = OpFAdd %v3float %1188 %1206
%1208 = OpFDiv %v3float %141 %1207
%1209 = OpFMul %v3float %1205 %1208
%1210 = OpVectorShuffle %v3float %1159 %1159 3 3 3
%1211 = OpFAdd %v3float %1209 %1210
%1212 = OpFAdd %v3float %1203 %1211
%1213 = OpFAdd %v3float %1201 %1212
%1214 = OpFSub %v3float %1213 %261
OpBranch %1151
%1151 = OpLabel
%1215 = OpPhi %v3float %1149 %1057 %1214 %1152
%1216 = OpExtInst %v3float %1 FClamp %1215 %138 %141
%1217 = OpCompositeExtract %float %1216 0
OpBranch %1218
%1218 = OpLabel
OpLoopMerge %1219 %1220 None
OpBranch %1221
%1221 = OpLabel
%1222 = OpFOrdLessThan %bool %1217 %float_0_00313066994
OpSelectionMerge %1223 None
OpBranchConditional %1222 %1224 %1223
%1224 = OpLabel
%1225 = OpFMul %float %1217 %float_12_9200001
OpBranch %1219
%1223 = OpLabel
%1226 = OpExtInst %float %1 Pow %1217 %float_0_416666657
%1227 = OpFMul %float %1226 %float_1_05499995
%1228 = OpFSub %float %1227 %float_0_0549999997
OpBranch %1219
%1220 = OpLabel
OpBranch %1218
%1219 = OpLabel
%1229 = OpPhi %float %1225 %1224 %1228 %1223
%1230 = OpCompositeExtract %float %1216 1
OpBranch %1231
%1231 = OpLabel
OpLoopMerge %1232 %1233 None
OpBranch %1234
%1234 = OpLabel
%1235 = OpFOrdLessThan %bool %1230 %float_0_00313066994
OpSelectionMerge %1236 None
OpBranchConditional %1235 %1237 %1236
%1237 = OpLabel
%1238 = OpFMul %float %1230 %float_12_9200001
OpBranch %1232
%1236 = OpLabel
%1239 = OpExtInst %float %1 Pow %1230 %float_0_416666657
%1240 = OpFMul %float %1239 %float_1_05499995
%1241 = OpFSub %float %1240 %float_0_0549999997
OpBranch %1232
%1233 = OpLabel
OpBranch %1231
%1232 = OpLabel
%1242 = OpPhi %float %1238 %1237 %1241 %1236
%1243 = OpCompositeExtract %float %1216 2
OpBranch %1244
%1244 = OpLabel
OpLoopMerge %1245 %1246 None
OpBranch %1247
%1247 = OpLabel
%1248 = OpFOrdLessThan %bool %1243 %float_0_00313066994
OpSelectionMerge %1249 None
OpBranchConditional %1248 %1250 %1249
%1250 = OpLabel
%1251 = OpFMul %float %1243 %float_12_9200001
OpBranch %1245
%1249 = OpLabel
%1252 = OpExtInst %float %1 Pow %1243 %float_0_416666657
%1253 = OpFMul %float %1252 %float_1_05499995
%1254 = OpFSub %float %1253 %float_0_0549999997
OpBranch %1245
%1246 = OpLabel
OpBranch %1244
%1245 = OpLabel
%1255 = OpPhi %float %1251 %1250 %1254 %1249
%1256 = OpCompositeConstruct %v3float %1229 %1242 %1255
%1257 = OpFMul %v3float %1256 %173
%1258 = OpFAdd %v3float %1257 %175
%1259 = OpAccessChain %_ptr_Uniform_float %_Globals %int_15 %int_0
%1260 = OpLoad %float %1259
%1261 = OpCompositeConstruct %v3float %1260 %1260 %1260
%1262 = OpFMul %v3float %1261 %1256
%1263 = OpAccessChain %_ptr_Uniform_float %_Globals %int_15 %int_1
%1264 = OpLoad %float %1263
%1265 = OpCompositeConstruct %v3float %1264 %1264 %1264
%1266 = OpLoad %type_2d_image %Texture1
%1267 = OpLoad %type_sampler %Texture1Sampler
%1268 = OpCompositeExtract %float %1258 2
%1269 = OpFMul %float %1268 %float_16
%1270 = OpFSub %float %1269 %float_0_5
%1271 = OpExtInst %float %1 Floor %1270
%1272 = OpFSub %float %1270 %1271
%1273 = OpCompositeExtract %float %1258 0
%1274 = OpFAdd %float %1273 %1271
%1275 = OpFMul %float %1274 %float_0_0625
%1276 = OpCompositeExtract %float %1258 1
%1277 = OpCompositeConstruct %v2float %1275 %1276
%1278 = OpSampledImage %type_sampled_image %1266 %1267
%1279 = OpImageSampleImplicitLod %v4float %1278 %1277 None
%1280 = OpFAdd %float %1275 %float_0_0625
%1281 = OpCompositeConstruct %v2float %1280 %1276
%1282 = OpSampledImage %type_sampled_image %1266 %1267
%1283 = OpImageSampleImplicitLod %v4float %1282 %1281 None
%1284 = OpCompositeConstruct %v4float %1272 %1272 %1272 %1272
%1285 = OpExtInst %v4float %1 FMix %1279 %1283 %1284
%1286 = OpVectorShuffle %v3float %1285 %1285 0 1 2
%1287 = OpFMul %v3float %1265 %1286
%1288 = OpFAdd %v3float %1262 %1287
%1289 = OpExtInst %v3float %1 FMax %263 %1288
%1290 = OpFOrdGreaterThan %v3bool %1289 %265
%1291 = OpFMul %v3float %1289 %267
%1292 = OpFAdd %v3float %1291 %269
%1293 = OpExtInst %v3float %1 Pow %1292 %271
%1294 = OpFMul %v3float %1289 %273
%1295 = OpSelect %v3float %1290 %1293 %1294
%1296 = OpAccessChain %_ptr_Uniform_float %_Globals %int_0 %int_0
%1297 = OpLoad %float %1296
%1298 = OpCompositeConstruct %v3float %1297 %1297 %1297
%1299 = OpFMul %v3float %1295 %1295
%1300 = OpFMul %v3float %1298 %1299
%1301 = OpAccessChain %_ptr_Uniform_float %_Globals %int_0 %int_1
%1302 = OpLoad %float %1301
%1303 = OpCompositeConstruct %v3float %1302 %1302 %1302
%1304 = OpFMul %v3float %1303 %1295
%1305 = OpFAdd %v3float %1300 %1304
%1306 = OpAccessChain %_ptr_Uniform_float %_Globals %int_0 %int_2
%1307 = OpLoad %float %1306
%1308 = OpCompositeConstruct %v3float %1307 %1307 %1307
%1309 = OpFAdd %v3float %1305 %1308
%1310 = OpAccessChain %_ptr_Uniform_v3float %_Globals %int_16
%1311 = OpLoad %v3float %1310
%1312 = OpFMul %v3float %1309 %1311
%1313 = OpAccessChain %_ptr_Uniform_v4float %_Globals %int_17
%1314 = OpLoad %v4float %1313
%1315 = OpVectorShuffle %v3float %1314 %1314 0 1 2
%1316 = OpAccessChain %_ptr_Uniform_float %_Globals %int_17 %int_3
%1317 = OpLoad %float %1316
%1318 = OpCompositeConstruct %v3float %1317 %1317 %1317
%1319 = OpExtInst %v3float %1 FMix %1312 %1315 %1318
%1320 = OpExtInst %v3float %1 FMax %138 %1319
%1321 = OpAccessChain %_ptr_Uniform_float %_Globals %int_1 %int_1
%1322 = OpLoad %float %1321
%1323 = OpCompositeConstruct %v3float %1322 %1322 %1322
%1324 = OpExtInst %v3float %1 Pow %1320 %1323
%1325 = OpIEqual %bool %605 %uint_0
OpSelectionMerge %1326 DontFlatten
OpBranchConditional %1325 %1327 %1328
%1328 = OpLabel
%1329 = OpIEqual %bool %605 %uint_1
OpSelectionMerge %1330 None
OpBranchConditional %1329 %1331 %1332
%1332 = OpLabel
%1333 = OpIEqual %bool %605 %uint_3
%1334 = OpIEqual %bool %605 %uint_5
%1335 = OpLogicalOr %bool %1333 %1334
OpSelectionMerge %1336 None
OpBranchConditional %1335 %1337 %1338
%1338 = OpLabel
%1339 = OpIEqual %bool %605 %uint_4
%1340 = OpIEqual %bool %605 %uint_6
%1341 = OpLogicalOr %bool %1339 %1340
OpSelectionMerge %1342 None
OpBranchConditional %1341 %1343 %1344
%1344 = OpLabel
%1345 = OpIEqual %bool %605 %uint_7
OpSelectionMerge %1346 None
OpBranchConditional %1345 %1347 %1348
%1348 = OpLabel
%1349 = OpVectorTimesMatrix %v3float %1324 %573
%1350 = OpVectorTimesMatrix %v3float %1349 %602
%1351 = OpAccessChain %_ptr_Uniform_float %_Globals %int_1 %int_2
%1352 = OpLoad %float %1351
%1353 = OpCompositeConstruct %v3float %1352 %1352 %1352
%1354 = OpExtInst %v3float %1 Pow %1350 %1353
OpBranch %1346
%1347 = OpLabel
%1355 = OpVectorTimesMatrix %v3float %932 %573
%1356 = OpVectorTimesMatrix %v3float %1355 %602
%1357 = OpFMul %v3float %1356 %519
%1358 = OpExtInst %v3float %1 Pow %1357 %286
%1359 = OpFMul %v3float %196 %1358
%1360 = OpFAdd %v3float %195 %1359
%1361 = OpFMul %v3float %197 %1358
%1362 = OpFAdd %v3float %141 %1361
%1363 = OpFDiv %v3float %141 %1362
%1364 = OpFMul %v3float %1360 %1363
%1365 = OpExtInst %v3float %1 Pow %1364 %287
OpBranch %1346
%1346 = OpLabel
%1366 = OpPhi %v3float %1354 %1348 %1365 %1347
OpBranch %1342
%1343 = OpLabel
%1367 = OpMatrixTimesMatrix %mat3v3float %572 %423
%1368 = OpFMul %v3float %932 %285
%1369 = OpVectorTimesMatrix %v3float %1368 %1367
%1370 = OpCompositeExtract %float %1369 0
%1371 = OpCompositeExtract %float %1369 1
%1372 = OpExtInst %float %1 FMin %1370 %1371
%1373 = OpCompositeExtract %float %1369 2
%1374 = OpExtInst %float %1 FMin %1372 %1373
%1375 = OpExtInst %float %1 FMax %1370 %1371
%1376 = OpExtInst %float %1 FMax %1375 %1373
%1377 = OpExtInst %float %1 FMax %1376 %float_1_00000001en10
%1378 = OpExtInst %float %1 FMax %1374 %float_1_00000001en10
%1379 = OpFSub %float %1377 %1378
%1380 = OpExtInst %float %1 FMax %1376 %float_0_00999999978
%1381 = OpFDiv %float %1379 %1380
%1382 = OpFSub %float %1373 %1371
%1383 = OpFMul %float %1373 %1382
%1384 = OpFSub %float %1371 %1370
%1385 = OpFMul %float %1371 %1384
%1386 = OpFAdd %float %1383 %1385
%1387 = OpFSub %float %1370 %1373
%1388 = OpFMul %float %1370 %1387
%1389 = OpFAdd %float %1386 %1388
%1390 = OpExtInst %float %1 Sqrt %1389
%1391 = OpFAdd %float %1373 %1371
%1392 = OpFAdd %float %1391 %1370
%1393 = OpFMul %float %float_1_75 %1390
%1394 = OpFAdd %float %1392 %1393
%1395 = OpFMul %float %1394 %float_0_333333343
%1396 = OpFSub %float %1381 %float_0_400000006
%1397 = OpFMul %float %1396 %float_5
%1398 = OpFMul %float %1396 %float_2_5
%1399 = OpExtInst %float %1 FAbs %1398
%1400 = OpFSub %float %float_1 %1399
%1401 = OpExtInst %float %1 FMax %1400 %float_0
%1402 = OpExtInst %float %1 FSign %1397
%1403 = OpConvertFToS %int %1402
%1404 = OpConvertSToF %float %1403
%1405 = OpFMul %float %1401 %1401
%1406 = OpFSub %float %float_1 %1405
%1407 = OpFMul %float %1404 %1406
%1408 = OpFAdd %float %float_1 %1407
%1409 = OpFMul %float %1408 %float_0_0250000004
%1410 = OpFOrdLessThanEqual %bool %1395 %float_0_0533333346
OpSelectionMerge %1411 None
OpBranchConditional %1410 %1412 %1413
%1413 = OpLabel
%1414 = OpFOrdGreaterThanEqual %bool %1395 %float_0_159999996
OpSelectionMerge %1415 None
OpBranchConditional %1414 %1416 %1417
%1417 = OpLabel
%1418 = OpFDiv %float %float_0_239999995 %1394
%1419 = OpFSub %float %1418 %float_0_5
%1420 = OpFMul %float %1409 %1419
OpBranch %1415
%1416 = OpLabel
OpBranch %1415
%1415 = OpLabel
%1421 = OpPhi %float %1420 %1417 %float_0 %1416
OpBranch %1411
%1412 = OpLabel
OpBranch %1411
%1411 = OpLabel
%1422 = OpPhi %float %1421 %1415 %1409 %1412
%1423 = OpFAdd %float %float_1 %1422
%1424 = OpCompositeConstruct %v3float %1423 %1423 %1423
%1425 = OpFMul %v3float %1369 %1424
%1426 = OpCompositeExtract %float %1425 0
%1427 = OpCompositeExtract %float %1425 1
%1428 = OpFOrdEqual %bool %1426 %1427
%1429 = OpCompositeExtract %float %1425 2
%1430 = OpFOrdEqual %bool %1427 %1429
%1431 = OpLogicalAnd %bool %1428 %1430
OpSelectionMerge %1432 None
OpBranchConditional %1431 %1433 %1434
%1434 = OpLabel
%1435 = OpExtInst %float %1 Sqrt %float_3
%1436 = OpFSub %float %1427 %1429
%1437 = OpFMul %float %1435 %1436
%1438 = OpFMul %float %float_2 %1426
%1439 = OpFSub %float %1438 %1427
%1440 = OpFSub %float %1439 %1429
%1441 = OpExtInst %float %1 Atan2 %1437 %1440
%1442 = OpFMul %float %float_57_2957764 %1441
OpBranch %1432
%1433 = OpLabel
OpBranch %1432
%1432 = OpLabel
%1443 = OpPhi %float %1442 %1434 %float_0 %1433
%1444 = OpFOrdLessThan %bool %1443 %float_0
OpSelectionMerge %1445 None
OpBranchConditional %1444 %1446 %1445
%1446 = OpLabel
%1447 = OpFAdd %float %1443 %float_360
OpBranch %1445
%1445 = OpLabel
%1448 = OpPhi %float %1443 %1432 %1447 %1446
%1449 = OpExtInst %float %1 FClamp %1448 %float_0 %float_360
%1450 = OpFOrdGreaterThan %bool %1449 %float_180
OpSelectionMerge %1451 None
OpBranchConditional %1450 %1452 %1451
%1452 = OpLabel
%1453 = OpFSub %float %1449 %float_360
OpBranch %1451
%1451 = OpLabel
%1454 = OpPhi %float %1449 %1445 %1453 %1452
%1455 = OpFOrdGreaterThan %bool %1454 %float_n67_5
%1456 = OpFOrdLessThan %bool %1454 %float_67_5
%1457 = OpLogicalAnd %bool %1455 %1456
OpSelectionMerge %1458 None
OpBranchConditional %1457 %1459 %1458
%1459 = OpLabel
%1460 = OpFSub %float %1454 %float_n67_5
%1461 = OpFMul %float %1460 %float_0_0296296291
%1462 = OpConvertFToS %int %1461
%1463 = OpConvertSToF %float %1462
%1464 = OpFSub %float %1461 %1463
%1465 = OpFMul %float %1464 %1464
%1466 = OpFMul %float %1465 %1464
%1467 = OpIEqual %bool %1462 %int_3
OpSelectionMerge %1468 None
OpBranchConditional %1467 %1469 %1470
%1470 = OpLabel
%1471 = OpIEqual %bool %1462 %int_2
OpSelectionMerge %1472 None
OpBranchConditional %1471 %1473 %1474
%1474 = OpLabel
%1475 = OpIEqual %bool %1462 %int_1
OpSelectionMerge %1476 None
OpBranchConditional %1475 %1477 %1478
%1478 = OpLabel
%1479 = OpIEqual %bool %1462 %int_0
OpSelectionMerge %1480 None
OpBranchConditional %1479 %1481 %1482
%1482 = OpLabel
OpBranch %1480
%1481 = OpLabel
%1483 = OpFMul %float %1466 %float_0_166666672
OpBranch %1480
%1480 = OpLabel
%1484 = OpPhi %float %float_0 %1482 %1483 %1481
OpBranch %1476
%1477 = OpLabel
%1485 = OpFMul %float %1466 %float_n0_5
%1486 = OpFMul %float %1465 %float_0_5
%1487 = OpFAdd %float %1485 %1486
%1488 = OpFMul %float %1464 %float_0_5
%1489 = OpFAdd %float %1487 %1488
%1490 = OpFAdd %float %1489 %float_0_166666672
OpBranch %1476
%1476 = OpLabel
%1491 = OpPhi %float %1484 %1480 %1490 %1477
OpBranch %1472
%1473 = OpLabel
%1492 = OpFMul %float %1466 %float_0_5
%1493 = OpFMul %float %1465 %float_n1
%1494 = OpFAdd %float %1492 %1493
%1495 = OpFAdd %float %1494 %float_0_666666687
OpBranch %1472
%1472 = OpLabel
%1496 = OpPhi %float %1491 %1476 %1495 %1473
OpBranch %1468
%1469 = OpLabel
%1497 = OpFMul %float %1466 %float_n0_166666672
%1498 = OpFMul %float %1465 %float_0_5
%1499 = OpFAdd %float %1497 %1498
%1500 = OpFMul %float %1464 %float_n0_5
%1501 = OpFAdd %float %1499 %1500
%1502 = OpFAdd %float %1501 %float_0_166666672
OpBranch %1468
%1468 = OpLabel
%1503 = OpPhi %float %1496 %1472 %1502 %1469
OpBranch %1458
%1458 = OpLabel
%1504 = OpPhi %float %float_0 %1451 %1503 %1468
%1505 = OpFMul %float %1504 %float_1_5
%1506 = OpFMul %float %1505 %1381
%1507 = OpFSub %float %float_0_0299999993 %1426
%1508 = OpFMul %float %1506 %1507
%1509 = OpFMul %float %1508 %float_0_180000007
%1510 = OpFAdd %float %1426 %1509
%1511 = OpCompositeInsert %v3float %1510 %1425 0
%1512 = OpExtInst %v3float %1 FClamp %1511 %138 %337
%1513 = OpVectorTimesMatrix %v3float %1512 %434
%1514 = OpExtInst %v3float %1 FClamp %1513 %138 %337
%1515 = OpDot %float %1514 %73
%1516 = OpCompositeConstruct %v3float %1515 %1515 %1515
%1517 = OpExtInst %v3float %1 FMix %1516 %1514 %241
%1518 = OpCompositeExtract %float %1517 0
%1519 = OpExtInst %float %1 Exp2 %float_n15
%1520 = OpFMul %float %float_0_179999992 %1519
%1521 = OpExtInst %float %1 Exp2 %float_18
%1522 = OpFMul %float %float_0_179999992 %1521
OpStore %528 %499
OpStore %527 %500
%1523 = OpFOrdLessThanEqual %bool %1518 %float_0
%1524 = OpExtInst %float %1 Exp2 %float_n14
%1525 = OpSelect %float %1523 %1524 %1518
%1526 = OpExtInst %float %1 Log %1525
%1527 = OpFDiv %float %1526 %1091
%1528 = OpExtInst %float %1 Log %1520
%1529 = OpFDiv %float %1528 %1091
%1530 = OpFOrdLessThanEqual %bool %1527 %1529
OpSelectionMerge %1531 None
OpBranchConditional %1530 %1532 %1533
%1533 = OpLabel
%1534 = OpFOrdGreaterThan %bool %1527 %1529
%1535 = OpExtInst %float %1 Log %float_0_180000007
%1536 = OpFDiv %float %1535 %1091
%1537 = OpFOrdLessThan %bool %1527 %1536
%1538 = OpLogicalAnd %bool %1534 %1537
OpSelectionMerge %1539 None
OpBranchConditional %1538 %1540 %1541
%1541 = OpLabel
%1542 = OpFOrdGreaterThanEqual %bool %1527 %1536
%1543 = OpExtInst %float %1 Log %1522
%1544 = OpFDiv %float %1543 %1091
%1545 = OpFOrdLessThan %bool %1527 %1544
%1546 = OpLogicalAnd %bool %1542 %1545
OpSelectionMerge %1547 None
OpBranchConditional %1546 %1548 %1549
%1549 = OpLabel
%1550 = OpExtInst %float %1 Log %float_10000
%1551 = OpFDiv %float %1550 %1091
OpBranch %1547
%1548 = OpLabel
%1552 = OpFSub %float %1527 %1536
%1553 = OpFMul %float %float_3 %1552
%1554 = OpFSub %float %1544 %1536
%1555 = OpFDiv %float %1553 %1554
%1556 = OpConvertFToS %int %1555
%1557 = OpConvertSToF %float %1556
%1558 = OpFSub %float %1555 %1557
%1559 = OpAccessChain %_ptr_Function_float %527 %1556
%1560 = OpLoad %float %1559
%1561 = OpIAdd %int %1556 %int_1
%1562 = OpAccessChain %_ptr_Function_float %527 %1561
%1563 = OpLoad %float %1562
%1564 = OpIAdd %int %1556 %int_2
%1565 = OpAccessChain %_ptr_Function_float %527 %1564
%1566 = OpLoad %float %1565
%1567 = OpCompositeConstruct %v3float %1560 %1563 %1566
%1568 = OpFMul %float %1558 %1558
%1569 = OpCompositeConstruct %v3float %1568 %1558 %float_1
%1570 = OpMatrixTimesVector %v3float %466 %1567
%1571 = OpDot %float %1569 %1570
OpBranch %1547
%1547 = OpLabel
%1572 = OpPhi %float %1551 %1549 %1571 %1548
OpBranch %1539
%1540 = OpLabel
%1573 = OpFSub %float %1527 %1529
%1574 = OpFMul %float %float_3 %1573
%1575 = OpFSub %float %1536 %1529
%1576 = OpFDiv %float %1574 %1575
%1577 = OpConvertFToS %int %1576
%1578 = OpConvertSToF %float %1577
%1579 = OpFSub %float %1576 %1578
%1580 = OpAccessChain %_ptr_Function_float %528 %1577
%1581 = OpLoad %float %1580
%1582 = OpIAdd %int %1577 %int_1
%1583 = OpAccessChain %_ptr_Function_float %528 %1582
%1584 = OpLoad %float %1583
%1585 = OpIAdd %int %1577 %int_2
%1586 = OpAccessChain %_ptr_Function_float %528 %1585
%1587 = OpLoad %float %1586
%1588 = OpCompositeConstruct %v3float %1581 %1584 %1587
%1589 = OpFMul %float %1579 %1579
%1590 = OpCompositeConstruct %v3float %1589 %1579 %float_1
%1591 = OpMatrixTimesVector %v3float %466 %1588
%1592 = OpDot %float %1590 %1591
OpBranch %1539
%1539 = OpLabel
%1593 = OpPhi %float %1572 %1547 %1592 %1540
OpBranch %1531
%1532 = OpLabel
%1594 = OpExtInst %float %1 Log %float_9_99999975en05
%1595 = OpFDiv %float %1594 %1091
OpBranch %1531
%1531 = OpLabel
%1596 = OpPhi %float %1593 %1539 %1595 %1532
%1597 = OpExtInst %float %1 Pow %float_10 %1596
%1598 = OpCompositeInsert %v3float %1597 %523 0
%1599 = OpCompositeExtract %float %1517 1
OpStore %530 %499
OpStore %529 %500
%1600 = OpFOrdLessThanEqual %bool %1599 %float_0
%1601 = OpSelect %float %1600 %1524 %1599
%1602 = OpExtInst %float %1 Log %1601
%1603 = OpFDiv %float %1602 %1091
%1604 = OpFOrdLessThanEqual %bool %1603 %1529
OpSelectionMerge %1605 None
OpBranchConditional %1604 %1606 %1607
%1607 = OpLabel
%1608 = OpFOrdGreaterThan %bool %1603 %1529
%1609 = OpExtInst %float %1 Log %float_0_180000007
%1610 = OpFDiv %float %1609 %1091
%1611 = OpFOrdLessThan %bool %1603 %1610
%1612 = OpLogicalAnd %bool %1608 %1611
OpSelectionMerge %1613 None
OpBranchConditional %1612 %1614 %1615
%1615 = OpLabel
%1616 = OpFOrdGreaterThanEqual %bool %1603 %1610
%1617 = OpExtInst %float %1 Log %1522
%1618 = OpFDiv %float %1617 %1091
%1619 = OpFOrdLessThan %bool %1603 %1618
%1620 = OpLogicalAnd %bool %1616 %1619
OpSelectionMerge %1621 None
OpBranchConditional %1620 %1622 %1623
%1623 = OpLabel
%1624 = OpExtInst %float %1 Log %float_10000
%1625 = OpFDiv %float %1624 %1091
OpBranch %1621
%1622 = OpLabel
%1626 = OpFSub %float %1603 %1610
%1627 = OpFMul %float %float_3 %1626
%1628 = OpFSub %float %1618 %1610
%1629 = OpFDiv %float %1627 %1628
%1630 = OpConvertFToS %int %1629
%1631 = OpConvertSToF %float %1630
%1632 = OpFSub %float %1629 %1631
%1633 = OpAccessChain %_ptr_Function_float %529 %1630
%1634 = OpLoad %float %1633
%1635 = OpIAdd %int %1630 %int_1
%1636 = OpAccessChain %_ptr_Function_float %529 %1635
%1637 = OpLoad %float %1636
%1638 = OpIAdd %int %1630 %int_2
%1639 = OpAccessChain %_ptr_Function_float %529 %1638
%1640 = OpLoad %float %1639
%1641 = OpCompositeConstruct %v3float %1634 %1637 %1640
%1642 = OpFMul %float %1632 %1632
%1643 = OpCompositeConstruct %v3float %1642 %1632 %float_1
%1644 = OpMatrixTimesVector %v3float %466 %1641
%1645 = OpDot %float %1643 %1644
OpBranch %1621
%1621 = OpLabel
%1646 = OpPhi %float %1625 %1623 %1645 %1622
OpBranch %1613
%1614 = OpLabel
%1647 = OpFSub %float %1603 %1529
%1648 = OpFMul %float %float_3 %1647
%1649 = OpFSub %float %1610 %1529
%1650 = OpFDiv %float %1648 %1649
%1651 = OpConvertFToS %int %1650
%1652 = OpConvertSToF %float %1651
%1653 = OpFSub %float %1650 %1652
%1654 = OpAccessChain %_ptr_Function_float %530 %1651
%1655 = OpLoad %float %1654
%1656 = OpIAdd %int %1651 %int_1
%1657 = OpAccessChain %_ptr_Function_float %530 %1656
%1658 = OpLoad %float %1657
%1659 = OpIAdd %int %1651 %int_2
%1660 = OpAccessChain %_ptr_Function_float %530 %1659
%1661 = OpLoad %float %1660
%1662 = OpCompositeConstruct %v3float %1655 %1658 %1661
%1663 = OpFMul %float %1653 %1653
%1664 = OpCompositeConstruct %v3float %1663 %1653 %float_1
%1665 = OpMatrixTimesVector %v3float %466 %1662
%1666 = OpDot %float %1664 %1665
OpBranch %1613
%1613 = OpLabel
%1667 = OpPhi %float %1646 %1621 %1666 %1614
OpBranch %1605
%1606 = OpLabel
%1668 = OpExtInst %float %1 Log %float_9_99999975en05
%1669 = OpFDiv %float %1668 %1091
OpBranch %1605
%1605 = OpLabel
%1670 = OpPhi %float %1667 %1613 %1669 %1606
%1671 = OpExtInst %float %1 Pow %float_10 %1670
%1672 = OpCompositeInsert %v3float %1671 %1598 1
%1673 = OpCompositeExtract %float %1517 2
OpStore %532 %499
OpStore %531 %500
%1674 = OpFOrdLessThanEqual %bool %1673 %float_0
%1675 = OpSelect %float %1674 %1524 %1673
%1676 = OpExtInst %float %1 Log %1675
%1677 = OpFDiv %float %1676 %1091
%1678 = OpFOrdLessThanEqual %bool %1677 %1529
OpSelectionMerge %1679 None
OpBranchConditional %1678 %1680 %1681
%1681 = OpLabel
%1682 = OpFOrdGreaterThan %bool %1677 %1529
%1683 = OpExtInst %float %1 Log %float_0_180000007
%1684 = OpFDiv %float %1683 %1091
%1685 = OpFOrdLessThan %bool %1677 %1684
%1686 = OpLogicalAnd %bool %1682 %1685
OpSelectionMerge %1687 None
OpBranchConditional %1686 %1688 %1689
%1689 = OpLabel
%1690 = OpFOrdGreaterThanEqual %bool %1677 %1684
%1691 = OpExtInst %float %1 Log %1522
%1692 = OpFDiv %float %1691 %1091
%1693 = OpFOrdLessThan %bool %1677 %1692
%1694 = OpLogicalAnd %bool %1690 %1693
OpSelectionMerge %1695 None
OpBranchConditional %1694 %1696 %1697
%1697 = OpLabel
%1698 = OpExtInst %float %1 Log %float_10000
%1699 = OpFDiv %float %1698 %1091
OpBranch %1695
%1696 = OpLabel
%1700 = OpFSub %float %1677 %1684
%1701 = OpFMul %float %float_3 %1700
%1702 = OpFSub %float %1692 %1684
%1703 = OpFDiv %float %1701 %1702
%1704 = OpConvertFToS %int %1703
%1705 = OpConvertSToF %float %1704
%1706 = OpFSub %float %1703 %1705
%1707 = OpAccessChain %_ptr_Function_float %531 %1704
%1708 = OpLoad %float %1707
%1709 = OpIAdd %int %1704 %int_1
%1710 = OpAccessChain %_ptr_Function_float %531 %1709
%1711 = OpLoad %float %1710
%1712 = OpIAdd %int %1704 %int_2
%1713 = OpAccessChain %_ptr_Function_float %531 %1712
%1714 = OpLoad %float %1713
%1715 = OpCompositeConstruct %v3float %1708 %1711 %1714
%1716 = OpFMul %float %1706 %1706
%1717 = OpCompositeConstruct %v3float %1716 %1706 %float_1
%1718 = OpMatrixTimesVector %v3float %466 %1715
%1719 = OpDot %float %1717 %1718
OpBranch %1695
%1695 = OpLabel
%1720 = OpPhi %float %1699 %1697 %1719 %1696
OpBranch %1687
%1688 = OpLabel
%1721 = OpFSub %float %1677 %1529
%1722 = OpFMul %float %float_3 %1721
%1723 = OpFSub %float %1684 %1529
%1724 = OpFDiv %float %1722 %1723
%1725 = OpConvertFToS %int %1724
%1726 = OpConvertSToF %float %1725
%1727 = OpFSub %float %1724 %1726
%1728 = OpAccessChain %_ptr_Function_float %532 %1725
%1729 = OpLoad %float %1728
%1730 = OpIAdd %int %1725 %int_1
%1731 = OpAccessChain %_ptr_Function_float %532 %1730
%1732 = OpLoad %float %1731
%1733 = OpIAdd %int %1725 %int_2
%1734 = OpAccessChain %_ptr_Function_float %532 %1733
%1735 = OpLoad %float %1734
%1736 = OpCompositeConstruct %v3float %1729 %1732 %1735
%1737 = OpFMul %float %1727 %1727
%1738 = OpCompositeConstruct %v3float %1737 %1727 %float_1
%1739 = OpMatrixTimesVector %v3float %466 %1736
%1740 = OpDot %float %1738 %1739
OpBranch %1687
%1687 = OpLabel
%1741 = OpPhi %float %1720 %1695 %1740 %1688
OpBranch %1679
%1680 = OpLabel
%1742 = OpExtInst %float %1 Log %float_9_99999975en05
%1743 = OpFDiv %float %1742 %1091
OpBranch %1679
%1679 = OpLabel
%1744 = OpPhi %float %1741 %1687 %1743 %1680
%1745 = OpExtInst %float %1 Pow %float_10 %1744
%1746 = OpCompositeInsert %v3float %1745 %1672 2
%1747 = OpVectorTimesMatrix %v3float %1746 %438
%1748 = OpVectorTimesMatrix %v3float %1747 %434
%1749 = OpExtInst %float %1 Pow %float_2 %float_n12
%1750 = OpFMul %float %float_0_179999992 %1749
OpStore %540 %499
OpStore %539 %500
%1751 = OpFOrdLessThanEqual %bool %1750 %float_0
%1752 = OpSelect %float %1751 %1524 %1750
%1753 = OpExtInst %float %1 Log %1752
%1754 = OpFDiv %float %1753 %1091
%1755 = OpFOrdLessThanEqual %bool %1754 %1529
OpSelectionMerge %1756 None
OpBranchConditional %1755 %1757 %1758
%1758 = OpLabel
%1759 = OpFOrdGreaterThan %bool %1754 %1529
%1760 = OpExtInst %float %1 Log %float_0_180000007
%1761 = OpFDiv %float %1760 %1091
%1762 = OpFOrdLessThan %bool %1754 %1761
%1763 = OpLogicalAnd %bool %1759 %1762
OpSelectionMerge %1764 None
OpBranchConditional %1763 %1765 %1766
%1766 = OpLabel
%1767 = OpFOrdGreaterThanEqual %bool %1754 %1761
%1768 = OpExtInst %float %1 Log %1522
%1769 = OpFDiv %float %1768 %1091
%1770 = OpFOrdLessThan %bool %1754 %1769
%1771 = OpLogicalAnd %bool %1767 %1770
OpSelectionMerge %1772 None
OpBranchConditional %1771 %1773 %1774
%1774 = OpLabel
%1775 = OpExtInst %float %1 Log %float_10000
%1776 = OpFDiv %float %1775 %1091
OpBranch %1772
%1773 = OpLabel
%1777 = OpFSub %float %1754 %1761
%1778 = OpFMul %float %float_3 %1777
%1779 = OpFSub %float %1769 %1761
%1780 = OpFDiv %float %1778 %1779
%1781 = OpConvertFToS %int %1780
%1782 = OpConvertSToF %float %1781
%1783 = OpFSub %float %1780 %1782
%1784 = OpAccessChain %_ptr_Function_float %539 %1781
%1785 = OpLoad %float %1784
%1786 = OpIAdd %int %1781 %int_1
%1787 = OpAccessChain %_ptr_Function_float %539 %1786
%1788 = OpLoad %float %1787
%1789 = OpIAdd %int %1781 %int_2
%1790 = OpAccessChain %_ptr_Function_float %539 %1789
%1791 = OpLoad %float %1790
%1792 = OpCompositeConstruct %v3float %1785 %1788 %1791
%1793 = OpFMul %float %1783 %1783
%1794 = OpCompositeConstruct %v3float %1793 %1783 %float_1
%1795 = OpMatrixTimesVector %v3float %466 %1792
%1796 = OpDot %float %1794 %1795
OpBranch %1772
%1772 = OpLabel
%1797 = OpPhi %float %1776 %1774 %1796 %1773
OpBranch %1764
%1765 = OpLabel
%1798 = OpFSub %float %1754 %1529
%1799 = OpFMul %float %float_3 %1798
%1800 = OpFSub %float %1761 %1529
%1801 = OpFDiv %float %1799 %1800
%1802 = OpConvertFToS %int %1801
%1803 = OpConvertSToF %float %1802
%1804 = OpFSub %float %1801 %1803
%1805 = OpAccessChain %_ptr_Function_float %540 %1802
%1806 = OpLoad %float %1805
%1807 = OpIAdd %int %1802 %int_1
%1808 = OpAccessChain %_ptr_Function_float %540 %1807
%1809 = OpLoad %float %1808
%1810 = OpIAdd %int %1802 %int_2
%1811 = OpAccessChain %_ptr_Function_float %540 %1810
%1812 = OpLoad %float %1811
%1813 = OpCompositeConstruct %v3float %1806 %1809 %1812
%1814 = OpFMul %float %1804 %1804
%1815 = OpCompositeConstruct %v3float %1814 %1804 %float_1
%1816 = OpMatrixTimesVector %v3float %466 %1813
%1817 = OpDot %float %1815 %1816
OpBranch %1764
%1764 = OpLabel
%1818 = OpPhi %float %1797 %1772 %1817 %1765
OpBranch %1756
%1757 = OpLabel
%1819 = OpExtInst %float %1 Log %float_9_99999975en05
%1820 = OpFDiv %float %1819 %1091
OpBranch %1756
%1756 = OpLabel
%1821 = OpPhi %float %1818 %1764 %1820 %1757
%1822 = OpExtInst %float %1 Pow %float_10 %1821
OpStore %542 %499
OpStore %541 %500
%1823 = OpExtInst %float %1 Log %float_0_180000007
%1824 = OpFDiv %float %1823 %1091
%1825 = OpFOrdLessThanEqual %bool %1824 %1529
OpSelectionMerge %1826 None
OpBranchConditional %1825 %1827 %1828
%1828 = OpLabel
%1829 = OpFOrdGreaterThan %bool %1824 %1529
%1830 = OpFOrdLessThan %bool %1824 %1824
%1831 = OpLogicalAnd %bool %1829 %1830
OpSelectionMerge %1832 None
OpBranchConditional %1831 %1833 %1834
%1834 = OpLabel
%1835 = OpFOrdGreaterThanEqual %bool %1824 %1824
%1836 = OpExtInst %float %1 Log %1522
%1837 = OpFDiv %float %1836 %1091
%1838 = OpFOrdLessThan %bool %1824 %1837
%1839 = OpLogicalAnd %bool %1835 %1838
OpSelectionMerge %1840 None
OpBranchConditional %1839 %1841 %1842
%1842 = OpLabel
%1843 = OpExtInst %float %1 Log %float_10000
%1844 = OpFDiv %float %1843 %1091
OpBranch %1840
%1841 = OpLabel
%1845 = OpFSub %float %1824 %1824
%1846 = OpFMul %float %float_3 %1845
%1847 = OpFSub %float %1837 %1824
%1848 = OpFDiv %float %1846 %1847
%1849 = OpConvertFToS %int %1848
%1850 = OpConvertSToF %float %1849
%1851 = OpFSub %float %1848 %1850
%1852 = OpAccessChain %_ptr_Function_float %541 %1849
%1853 = OpLoad %float %1852
%1854 = OpIAdd %int %1849 %int_1
%1855 = OpAccessChain %_ptr_Function_float %541 %1854
%1856 = OpLoad %float %1855
%1857 = OpIAdd %int %1849 %int_2
%1858 = OpAccessChain %_ptr_Function_float %541 %1857
%1859 = OpLoad %float %1858
%1860 = OpCompositeConstruct %v3float %1853 %1856 %1859
%1861 = OpFMul %float %1851 %1851
%1862 = OpCompositeConstruct %v3float %1861 %1851 %float_1
%1863 = OpMatrixTimesVector %v3float %466 %1860
%1864 = OpDot %float %1862 %1863
OpBranch %1840
%1840 = OpLabel
%1865 = OpPhi %float %1844 %1842 %1864 %1841
OpBranch %1832
%1833 = OpLabel
%1866 = OpAccessChain %_ptr_Function_float %542 %int_3
%1867 = OpLoad %float %1866
%1868 = OpAccessChain %_ptr_Function_float %542 %int_4
%1869 = OpLoad %float %1868
%1870 = OpAccessChain %_ptr_Function_float %542 %int_5
%1871 = OpLoad %float %1870
%1872 = OpCompositeConstruct %v3float %1867 %1869 %1871
%1873 = OpMatrixTimesVector %v3float %466 %1872
%1874 = OpCompositeExtract %float %1873 2
OpBranch %1832
%1832 = OpLabel
%1875 = OpPhi %float %1865 %1840 %1874 %1833
OpBranch %1826
%1827 = OpLabel
%1876 = OpExtInst %float %1 Log %float_9_99999975en05
%1877 = OpFDiv %float %1876 %1091
OpBranch %1826
%1826 = OpLabel
%1878 = OpPhi %float %1875 %1832 %1877 %1827
%1879 = OpExtInst %float %1 Pow %float_10 %1878
%1880 = OpExtInst %float %1 Pow %float_2 %float_11
%1881 = OpFMul %float %float_0_179999992 %1880
OpStore %544 %499
OpStore %543 %500
%1882 = OpFOrdLessThanEqual %bool %1881 %float_0
%1883 = OpSelect %float %1882 %1524 %1881
%1884 = OpExtInst %float %1 Log %1883
%1885 = OpFDiv %float %1884 %1091
%1886 = OpFOrdLessThanEqual %bool %1885 %1529
OpSelectionMerge %1887 None
OpBranchConditional %1886 %1888 %1889
%1889 = OpLabel
%1890 = OpFOrdGreaterThan %bool %1885 %1529
%1891 = OpFOrdLessThan %bool %1885 %1824
%1892 = OpLogicalAnd %bool %1890 %1891
OpSelectionMerge %1893 None
OpBranchConditional %1892 %1894 %1895
%1895 = OpLabel
%1896 = OpFOrdGreaterThanEqual %bool %1885 %1824
%1897 = OpExtInst %float %1 Log %1522
%1898 = OpFDiv %float %1897 %1091
%1899 = OpFOrdLessThan %bool %1885 %1898
%1900 = OpLogicalAnd %bool %1896 %1899
OpSelectionMerge %1901 None
OpBranchConditional %1900 %1902 %1903
%1903 = OpLabel
%1904 = OpExtInst %float %1 Log %float_10000
%1905 = OpFDiv %float %1904 %1091
OpBranch %1901
%1902 = OpLabel
%1906 = OpFSub %float %1885 %1824
%1907 = OpFMul %float %float_3 %1906
%1908 = OpFSub %float %1898 %1824
%1909 = OpFDiv %float %1907 %1908
%1910 = OpConvertFToS %int %1909
%1911 = OpConvertSToF %float %1910
%1912 = OpFSub %float %1909 %1911
%1913 = OpAccessChain %_ptr_Function_float %543 %1910
%1914 = OpLoad %float %1913
%1915 = OpIAdd %int %1910 %int_1
%1916 = OpAccessChain %_ptr_Function_float %543 %1915
%1917 = OpLoad %float %1916
%1918 = OpIAdd %int %1910 %int_2
%1919 = OpAccessChain %_ptr_Function_float %543 %1918
%1920 = OpLoad %float %1919
%1921 = OpCompositeConstruct %v3float %1914 %1917 %1920
%1922 = OpFMul %float %1912 %1912
%1923 = OpCompositeConstruct %v3float %1922 %1912 %float_1
%1924 = OpMatrixTimesVector %v3float %466 %1921
%1925 = OpDot %float %1923 %1924
OpBranch %1901
%1901 = OpLabel
%1926 = OpPhi %float %1905 %1903 %1925 %1902
OpBranch %1893
%1894 = OpLabel
%1927 = OpFSub %float %1885 %1529
%1928 = OpFMul %float %float_3 %1927
%1929 = OpFSub %float %1824 %1529
%1930 = OpFDiv %float %1928 %1929
%1931 = OpConvertFToS %int %1930
%1932 = OpConvertSToF %float %1931
%1933 = OpFSub %float %1930 %1932
%1934 = OpAccessChain %_ptr_Function_float %544 %1931
%1935 = OpLoad %float %1934
%1936 = OpIAdd %int %1931 %int_1
%1937 = OpAccessChain %_ptr_Function_float %544 %1936
%1938 = OpLoad %float %1937
%1939 = OpIAdd %int %1931 %int_2
%1940 = OpAccessChain %_ptr_Function_float %544 %1939
%1941 = OpLoad %float %1940
%1942 = OpCompositeConstruct %v3float %1935 %1938 %1941
%1943 = OpFMul %float %1933 %1933
%1944 = OpCompositeConstruct %v3float %1943 %1933 %float_1
%1945 = OpMatrixTimesVector %v3float %466 %1942
%1946 = OpDot %float %1944 %1945
OpBranch %1893
%1893 = OpLabel
%1947 = OpPhi %float %1926 %1901 %1946 %1894
OpBranch %1887
%1888 = OpLabel
%1948 = OpExtInst %float %1 Log %float_9_99999975en05
%1949 = OpFDiv %float %1948 %1091
OpBranch %1887
%1887 = OpLabel
%1950 = OpPhi %float %1947 %1893 %1949 %1888
%1951 = OpExtInst %float %1 Pow %float_10 %1950
%1952 = OpCompositeExtract %float %1748 0
OpStore %538 %506
OpStore %537 %507
%1953 = OpFOrdLessThanEqual %bool %1952 %float_0
%1954 = OpSelect %float %1953 %float_9_99999975en05 %1952
%1955 = OpExtInst %float %1 Log %1954
%1956 = OpFDiv %float %1955 %1091
%1957 = OpExtInst %float %1 Log %1822
%1958 = OpFDiv %float %1957 %1091
%1959 = OpFOrdLessThanEqual %bool %1956 %1958
OpSelectionMerge %1960 None
OpBranchConditional %1959 %1961 %1962
%1962 = OpLabel
%1963 = OpFOrdGreaterThan %bool %1956 %1958
%1964 = OpExtInst %float %1 Log %1879
%1965 = OpFDiv %float %1964 %1091
%1966 = OpFOrdLessThan %bool %1956 %1965
%1967 = OpLogicalAnd %bool %1963 %1966
OpSelectionMerge %1968 None
OpBranchConditional %1967 %1969 %1970
%1970 = OpLabel
%1971 = OpFOrdGreaterThanEqual %bool %1956 %1965
%1972 = OpExtInst %float %1 Log %1951
%1973 = OpFDiv %float %1972 %1091
%1974 = OpFOrdLessThan %bool %1956 %1973
%1975 = OpLogicalAnd %bool %1971 %1974
OpSelectionMerge %1976 None
OpBranchConditional %1975 %1977 %1978
%1978 = OpLabel
%1979 = OpFMul %float %1956 %float_0_119999997
%1980 = OpExtInst %float %1 Log %float_2000
%1981 = OpFDiv %float %1980 %1091
%1982 = OpFMul %float %float_0_119999997 %1972
%1983 = OpFDiv %float %1982 %1091
%1984 = OpFSub %float %1981 %1983
%1985 = OpFAdd %float %1979 %1984
OpBranch %1976
%1977 = OpLabel
%1986 = OpFSub %float %1956 %1965
%1987 = OpFMul %float %float_7 %1986
%1988 = OpFSub %float %1973 %1965
%1989 = OpFDiv %float %1987 %1988
%1990 = OpConvertFToS %int %1989
%1991 = OpConvertSToF %float %1990
%1992 = OpFSub %float %1989 %1991
%1993 = OpAccessChain %_ptr_Function_float %537 %1990
%1994 = OpLoad %float %1993
%1995 = OpIAdd %int %1990 %int_1
%1996 = OpAccessChain %_ptr_Function_float %537 %1995
%1997 = OpLoad %float %1996
%1998 = OpIAdd %int %1990 %int_2
%1999 = OpAccessChain %_ptr_Function_float %537 %1998
%2000 = OpLoad %float %1999
%2001 = OpCompositeConstruct %v3float %1994 %1997 %2000
%2002 = OpFMul %float %1992 %1992
%2003 = OpCompositeConstruct %v3float %2002 %1992 %float_1
%2004 = OpMatrixTimesVector %v3float %466 %2001
%2005 = OpDot %float %2003 %2004
OpBranch %1976
%1976 = OpLabel
%2006 = OpPhi %float %1985 %1978 %2005 %1977
OpBranch %1968
%1969 = OpLabel
%2007 = OpFSub %float %1956 %1958
%2008 = OpFMul %float %float_7 %2007
%2009 = OpFSub %float %1965 %1958
%2010 = OpFDiv %float %2008 %2009
%2011 = OpConvertFToS %int %2010
%2012 = OpConvertSToF %float %2011
%2013 = OpFSub %float %2010 %2012
%2014 = OpAccessChain %_ptr_Function_float %538 %2011
%2015 = OpLoad %float %2014
%2016 = OpIAdd %int %2011 %int_1
%2017 = OpAccessChain %_ptr_Function_float %538 %2016
%2018 = OpLoad %float %2017
%2019 = OpIAdd %int %2011 %int_2
%2020 = OpAccessChain %_ptr_Function_float %538 %2019
%2021 = OpLoad %float %2020
%2022 = OpCompositeConstruct %v3float %2015 %2018 %2021
%2023 = OpFMul %float %2013 %2013
%2024 = OpCompositeConstruct %v3float %2023 %2013 %float_1
%2025 = OpMatrixTimesVector %v3float %466 %2022
%2026 = OpDot %float %2024 %2025
OpBranch %1968
%1968 = OpLabel
%2027 = OpPhi %float %2006 %1976 %2026 %1969
OpBranch %1960
%1961 = OpLabel
%2028 = OpExtInst %float %1 Log %float_0_00499999989
%2029 = OpFDiv %float %2028 %1091
OpBranch %1960
%1960 = OpLabel
%2030 = OpPhi %float %2027 %1968 %2029 %1961
%2031 = OpExtInst %float %1 Pow %float_10 %2030
%2032 = OpCompositeInsert %v3float %2031 %523 0
%2033 = OpCompositeExtract %float %1748 1
OpStore %536 %506
OpStore %535 %507
%2034 = OpFOrdLessThanEqual %bool %2033 %float_0
%2035 = OpSelect %float %2034 %float_9_99999975en05 %2033
%2036 = OpExtInst %float %1 Log %2035
%2037 = OpFDiv %float %2036 %1091
%2038 = OpFOrdLessThanEqual %bool %2037 %1958
OpSelectionMerge %2039 None
OpBranchConditional %2038 %2040 %2041
%2041 = OpLabel
%2042 = OpFOrdGreaterThan %bool %2037 %1958
%2043 = OpExtInst %float %1 Log %1879
%2044 = OpFDiv %float %2043 %1091
%2045 = OpFOrdLessThan %bool %2037 %2044
%2046 = OpLogicalAnd %bool %2042 %2045
OpSelectionMerge %2047 None
OpBranchConditional %2046 %2048 %2049
%2049 = OpLabel
%2050 = OpFOrdGreaterThanEqual %bool %2037 %2044
%2051 = OpExtInst %float %1 Log %1951
%2052 = OpFDiv %float %2051 %1091
%2053 = OpFOrdLessThan %bool %2037 %2052
%2054 = OpLogicalAnd %bool %2050 %2053
OpSelectionMerge %2055 None
OpBranchConditional %2054 %2056 %2057
%2057 = OpLabel
%2058 = OpFMul %float %2037 %float_0_119999997
%2059 = OpExtInst %float %1 Log %float_2000
%2060 = OpFDiv %float %2059 %1091
%2061 = OpFMul %float %float_0_119999997 %2051
%2062 = OpFDiv %float %2061 %1091
%2063 = OpFSub %float %2060 %2062
%2064 = OpFAdd %float %2058 %2063
OpBranch %2055
%2056 = OpLabel
%2065 = OpFSub %float %2037 %2044
%2066 = OpFMul %float %float_7 %2065
%2067 = OpFSub %float %2052 %2044
%2068 = OpFDiv %float %2066 %2067
%2069 = OpConvertFToS %int %2068
%2070 = OpConvertSToF %float %2069
%2071 = OpFSub %float %2068 %2070
%2072 = OpAccessChain %_ptr_Function_float %535 %2069
%2073 = OpLoad %float %2072
%2074 = OpIAdd %int %2069 %int_1
%2075 = OpAccessChain %_ptr_Function_float %535 %2074
%2076 = OpLoad %float %2075
%2077 = OpIAdd %int %2069 %int_2
%2078 = OpAccessChain %_ptr_Function_float %535 %2077
%2079 = OpLoad %float %2078
%2080 = OpCompositeConstruct %v3float %2073 %2076 %2079
%2081 = OpFMul %float %2071 %2071
%2082 = OpCompositeConstruct %v3float %2081 %2071 %float_1
%2083 = OpMatrixTimesVector %v3float %466 %2080
%2084 = OpDot %float %2082 %2083
OpBranch %2055
%2055 = OpLabel
%2085 = OpPhi %float %2064 %2057 %2084 %2056
OpBranch %2047
%2048 = OpLabel
%2086 = OpFSub %float %2037 %1958
%2087 = OpFMul %float %float_7 %2086
%2088 = OpFSub %float %2044 %1958
%2089 = OpFDiv %float %2087 %2088
%2090 = OpConvertFToS %int %2089
%2091 = OpConvertSToF %float %2090
%2092 = OpFSub %float %2089 %2091
%2093 = OpAccessChain %_ptr_Function_float %536 %2090
%2094 = OpLoad %float %2093
%2095 = OpIAdd %int %2090 %int_1
%2096 = OpAccessChain %_ptr_Function_float %536 %2095
%2097 = OpLoad %float %2096
%2098 = OpIAdd %int %2090 %int_2
%2099 = OpAccessChain %_ptr_Function_float %536 %2098
%2100 = OpLoad %float %2099
%2101 = OpCompositeConstruct %v3float %2094 %2097 %2100
%2102 = OpFMul %float %2092 %2092
%2103 = OpCompositeConstruct %v3float %2102 %2092 %float_1
%2104 = OpMatrixTimesVector %v3float %466 %2101
%2105 = OpDot %float %2103 %2104
OpBranch %2047
%2047 = OpLabel
%2106 = OpPhi %float %2085 %2055 %2105 %2048
OpBranch %2039
%2040 = OpLabel
%2107 = OpExtInst %float %1 Log %float_0_00499999989
%2108 = OpFDiv %float %2107 %1091
OpBranch %2039
%2039 = OpLabel
%2109 = OpPhi %float %2106 %2047 %2108 %2040
%2110 = OpExtInst %float %1 Pow %float_10 %2109
%2111 = OpCompositeInsert %v3float %2110 %2032 1
%2112 = OpCompositeExtract %float %1748 2
OpStore %534 %506
OpStore %533 %507
%2113 = OpFOrdLessThanEqual %bool %2112 %float_0
%2114 = OpSelect %float %2113 %float_9_99999975en05 %2112
%2115 = OpExtInst %float %1 Log %2114
%2116 = OpFDiv %float %2115 %1091
%2117 = OpFOrdLessThanEqual %bool %2116 %1958
OpSelectionMerge %2118 None
OpBranchConditional %2117 %2119 %2120
%2120 = OpLabel
%2121 = OpFOrdGreaterThan %bool %2116 %1958
%2122 = OpExtInst %float %1 Log %1879
%2123 = OpFDiv %float %2122 %1091
%2124 = OpFOrdLessThan %bool %2116 %2123
%2125 = OpLogicalAnd %bool %2121 %2124
OpSelectionMerge %2126 None
OpBranchConditional %2125 %2127 %2128
%2128 = OpLabel
%2129 = OpFOrdGreaterThanEqual %bool %2116 %2123
%2130 = OpExtInst %float %1 Log %1951
%2131 = OpFDiv %float %2130 %1091
%2132 = OpFOrdLessThan %bool %2116 %2131
%2133 = OpLogicalAnd %bool %2129 %2132
OpSelectionMerge %2134 None
OpBranchConditional %2133 %2135 %2136
%2136 = OpLabel
%2137 = OpFMul %float %2116 %float_0_119999997
%2138 = OpExtInst %float %1 Log %float_2000
%2139 = OpFDiv %float %2138 %1091
%2140 = OpFMul %float %float_0_119999997 %2130
%2141 = OpFDiv %float %2140 %1091
%2142 = OpFSub %float %2139 %2141
%2143 = OpFAdd %float %2137 %2142
OpBranch %2134
%2135 = OpLabel
%2144 = OpFSub %float %2116 %2123
%2145 = OpFMul %float %float_7 %2144
%2146 = OpFSub %float %2131 %2123
%2147 = OpFDiv %float %2145 %2146
%2148 = OpConvertFToS %int %2147
%2149 = OpConvertSToF %float %2148
%2150 = OpFSub %float %2147 %2149
%2151 = OpAccessChain %_ptr_Function_float %533 %2148
%2152 = OpLoad %float %2151
%2153 = OpIAdd %int %2148 %int_1
%2154 = OpAccessChain %_ptr_Function_float %533 %2153
%2155 = OpLoad %float %2154
%2156 = OpIAdd %int %2148 %int_2
%2157 = OpAccessChain %_ptr_Function_float %533 %2156
%2158 = OpLoad %float %2157
%2159 = OpCompositeConstruct %v3float %2152 %2155 %2158
%2160 = OpFMul %float %2150 %2150
%2161 = OpCompositeConstruct %v3float %2160 %2150 %float_1
%2162 = OpMatrixTimesVector %v3float %466 %2159
%2163 = OpDot %float %2161 %2162
OpBranch %2134
%2134 = OpLabel
%2164 = OpPhi %float %2143 %2136 %2163 %2135
OpBranch %2126
%2127 = OpLabel
%2165 = OpFSub %float %2116 %1958
%2166 = OpFMul %float %float_7 %2165
%2167 = OpFSub %float %2123 %1958
%2168 = OpFDiv %float %2166 %2167
%2169 = OpConvertFToS %int %2168
%2170 = OpConvertSToF %float %2169
%2171 = OpFSub %float %2168 %2170
%2172 = OpAccessChain %_ptr_Function_float %534 %2169
%2173 = OpLoad %float %2172
%2174 = OpIAdd %int %2169 %int_1
%2175 = OpAccessChain %_ptr_Function_float %534 %2174
%2176 = OpLoad %float %2175
%2177 = OpIAdd %int %2169 %int_2
%2178 = OpAccessChain %_ptr_Function_float %534 %2177
%2179 = OpLoad %float %2178
%2180 = OpCompositeConstruct %v3float %2173 %2176 %2179
%2181 = OpFMul %float %2171 %2171
%2182 = OpCompositeConstruct %v3float %2181 %2171 %float_1
%2183 = OpMatrixTimesVector %v3float %466 %2180
%2184 = OpDot %float %2182 %2183
OpBranch %2126
%2126 = OpLabel
%2185 = OpPhi %float %2164 %2134 %2184 %2127
OpBranch %2118
%2119 = OpLabel
%2186 = OpExtInst %float %1 Log %float_0_00499999989
%2187 = OpFDiv %float %2186 %1091
OpBranch %2118
%2118 = OpLabel
%2188 = OpPhi %float %2185 %2126 %2187 %2119
%2189 = OpExtInst %float %1 Pow %float_10 %2188
%2190 = OpCompositeInsert %v3float %2189 %2111 2
%2191 = OpVectorTimesMatrix %v3float %2190 %602
%2192 = OpFMul %v3float %2191 %519
%2193 = OpExtInst %v3float %1 Pow %2192 %286
%2194 = OpFMul %v3float %196 %2193
%2195 = OpFAdd %v3float %195 %2194
%2196 = OpFMul %v3float %197 %2193
%2197 = OpFAdd %v3float %141 %2196
%2198 = OpFDiv %v3float %141 %2197
%2199 = OpFMul %v3float %2195 %2198
%2200 = OpExtInst %v3float %1 Pow %2199 %287
OpBranch %1342
%1342 = OpLabel
%2201 = OpPhi %v3float %1366 %1346 %2200 %2118
OpBranch %1336
%1337 = OpLabel
%2202 = OpMatrixTimesMatrix %mat3v3float %572 %423
%2203 = OpFMul %v3float %932 %285
%2204 = OpVectorTimesMatrix %v3float %2203 %2202
%2205 = OpCompositeExtract %float %2204 0
%2206 = OpCompositeExtract %float %2204 1
%2207 = OpExtInst %float %1 FMin %2205 %2206
%2208 = OpCompositeExtract %float %2204 2
%2209 = OpExtInst %float %1 FMin %2207 %2208
%2210 = OpExtInst %float %1 FMax %2205 %2206
%2211 = OpExtInst %float %1 FMax %2210 %2208
%2212 = OpExtInst %float %1 FMax %2211 %float_1_00000001en10
%2213 = OpExtInst %float %1 FMax %2209 %float_1_00000001en10
%2214 = OpFSub %float %2212 %2213
%2215 = OpExtInst %float %1 FMax %2211 %float_0_00999999978
%2216 = OpFDiv %float %2214 %2215
%2217 = OpFSub %float %2208 %2206
%2218 = OpFMul %float %2208 %2217
%2219 = OpFSub %float %2206 %2205
%2220 = OpFMul %float %2206 %2219
%2221 = OpFAdd %float %2218 %2220
%2222 = OpFSub %float %2205 %2208
%2223 = OpFMul %float %2205 %2222
%2224 = OpFAdd %float %2221 %2223
%2225 = OpExtInst %float %1 Sqrt %2224
%2226 = OpFAdd %float %2208 %2206
%2227 = OpFAdd %float %2226 %2205
%2228 = OpFMul %float %float_1_75 %2225
%2229 = OpFAdd %float %2227 %2228
%2230 = OpFMul %float %2229 %float_0_333333343
%2231 = OpFSub %float %2216 %float_0_400000006
%2232 = OpFMul %float %2231 %float_5
%2233 = OpFMul %float %2231 %float_2_5
%2234 = OpExtInst %float %1 FAbs %2233
%2235 = OpFSub %float %float_1 %2234
%2236 = OpExtInst %float %1 FMax %2235 %float_0
%2237 = OpExtInst %float %1 FSign %2232
%2238 = OpConvertFToS %int %2237
%2239 = OpConvertSToF %float %2238
%2240 = OpFMul %float %2236 %2236
%2241 = OpFSub %float %float_1 %2240
%2242 = OpFMul %float %2239 %2241
%2243 = OpFAdd %float %float_1 %2242
%2244 = OpFMul %float %2243 %float_0_0250000004
%2245 = OpFOrdLessThanEqual %bool %2230 %float_0_0533333346
OpSelectionMerge %2246 None
OpBranchConditional %2245 %2247 %2248
%2248 = OpLabel
%2249 = OpFOrdGreaterThanEqual %bool %2230 %float_0_159999996
OpSelectionMerge %2250 None
OpBranchConditional %2249 %2251 %2252
%2252 = OpLabel
%2253 = OpFDiv %float %float_0_239999995 %2229
%2254 = OpFSub %float %2253 %float_0_5
%2255 = OpFMul %float %2244 %2254
OpBranch %2250
%2251 = OpLabel
OpBranch %2250
%2250 = OpLabel
%2256 = OpPhi %float %2255 %2252 %float_0 %2251
OpBranch %2246
%2247 = OpLabel
OpBranch %2246
%2246 = OpLabel
%2257 = OpPhi %float %2256 %2250 %2244 %2247
%2258 = OpFAdd %float %float_1 %2257
%2259 = OpCompositeConstruct %v3float %2258 %2258 %2258
%2260 = OpFMul %v3float %2204 %2259
%2261 = OpCompositeExtract %float %2260 0
%2262 = OpCompositeExtract %float %2260 1
%2263 = OpFOrdEqual %bool %2261 %2262
%2264 = OpCompositeExtract %float %2260 2
%2265 = OpFOrdEqual %bool %2262 %2264
%2266 = OpLogicalAnd %bool %2263 %2265
OpSelectionMerge %2267 None
OpBranchConditional %2266 %2268 %2269
%2269 = OpLabel
%2270 = OpExtInst %float %1 Sqrt %float_3
%2271 = OpFSub %float %2262 %2264
%2272 = OpFMul %float %2270 %2271
%2273 = OpFMul %float %float_2 %2261
%2274 = OpFSub %float %2273 %2262
%2275 = OpFSub %float %2274 %2264
%2276 = OpExtInst %float %1 Atan2 %2272 %2275
%2277 = OpFMul %float %float_57_2957764 %2276
OpBranch %2267
%2268 = OpLabel
OpBranch %2267
%2267 = OpLabel
%2278 = OpPhi %float %2277 %2269 %float_0 %2268
%2279 = OpFOrdLessThan %bool %2278 %float_0
OpSelectionMerge %2280 None
OpBranchConditional %2279 %2281 %2280
%2281 = OpLabel
%2282 = OpFAdd %float %2278 %float_360
OpBranch %2280
%2280 = OpLabel
%2283 = OpPhi %float %2278 %2267 %2282 %2281
%2284 = OpExtInst %float %1 FClamp %2283 %float_0 %float_360
%2285 = OpFOrdGreaterThan %bool %2284 %float_180
OpSelectionMerge %2286 None
OpBranchConditional %2285 %2287 %2286
%2287 = OpLabel
%2288 = OpFSub %float %2284 %float_360
OpBranch %2286
%2286 = OpLabel
%2289 = OpPhi %float %2284 %2280 %2288 %2287
%2290 = OpFOrdGreaterThan %bool %2289 %float_n67_5
%2291 = OpFOrdLessThan %bool %2289 %float_67_5
%2292 = OpLogicalAnd %bool %2290 %2291
OpSelectionMerge %2293 None
OpBranchConditional %2292 %2294 %2293
%2294 = OpLabel
%2295 = OpFSub %float %2289 %float_n67_5
%2296 = OpFMul %float %2295 %float_0_0296296291
%2297 = OpConvertFToS %int %2296
%2298 = OpConvertSToF %float %2297
%2299 = OpFSub %float %2296 %2298
%2300 = OpFMul %float %2299 %2299
%2301 = OpFMul %float %2300 %2299
%2302 = OpIEqual %bool %2297 %int_3
OpSelectionMerge %2303 None
OpBranchConditional %2302 %2304 %2305
%2305 = OpLabel
%2306 = OpIEqual %bool %2297 %int_2
OpSelectionMerge %2307 None
OpBranchConditional %2306 %2308 %2309
%2309 = OpLabel
%2310 = OpIEqual %bool %2297 %int_1
OpSelectionMerge %2311 None
OpBranchConditional %2310 %2312 %2313
%2313 = OpLabel
%2314 = OpIEqual %bool %2297 %int_0
OpSelectionMerge %2315 None
OpBranchConditional %2314 %2316 %2317
%2317 = OpLabel
OpBranch %2315
%2316 = OpLabel
%2318 = OpFMul %float %2301 %float_0_166666672
OpBranch %2315
%2315 = OpLabel
%2319 = OpPhi %float %float_0 %2317 %2318 %2316
OpBranch %2311
%2312 = OpLabel
%2320 = OpFMul %float %2301 %float_n0_5
%2321 = OpFMul %float %2300 %float_0_5
%2322 = OpFAdd %float %2320 %2321
%2323 = OpFMul %float %2299 %float_0_5
%2324 = OpFAdd %float %2322 %2323
%2325 = OpFAdd %float %2324 %float_0_166666672
OpBranch %2311
%2311 = OpLabel
%2326 = OpPhi %float %2319 %2315 %2325 %2312
OpBranch %2307
%2308 = OpLabel
%2327 = OpFMul %float %2301 %float_0_5
%2328 = OpFMul %float %2300 %float_n1
%2329 = OpFAdd %float %2327 %2328
%2330 = OpFAdd %float %2329 %float_0_666666687
OpBranch %2307
%2307 = OpLabel
%2331 = OpPhi %float %2326 %2311 %2330 %2308
OpBranch %2303
%2304 = OpLabel
%2332 = OpFMul %float %2301 %float_n0_166666672
%2333 = OpFMul %float %2300 %float_0_5
%2334 = OpFAdd %float %2332 %2333
%2335 = OpFMul %float %2299 %float_n0_5
%2336 = OpFAdd %float %2334 %2335
%2337 = OpFAdd %float %2336 %float_0_166666672
OpBranch %2303
%2303 = OpLabel
%2338 = OpPhi %float %2331 %2307 %2337 %2304
OpBranch %2293
%2293 = OpLabel
%2339 = OpPhi %float %float_0 %2286 %2338 %2303
%2340 = OpFMul %float %2339 %float_1_5
%2341 = OpFMul %float %2340 %2216
%2342 = OpFSub %float %float_0_0299999993 %2261
%2343 = OpFMul %float %2341 %2342
%2344 = OpFMul %float %2343 %float_0_180000007
%2345 = OpFAdd %float %2261 %2344
%2346 = OpCompositeInsert %v3float %2345 %2260 0
%2347 = OpExtInst %v3float %1 FClamp %2346 %138 %337
%2348 = OpVectorTimesMatrix %v3float %2347 %434
%2349 = OpExtInst %v3float %1 FClamp %2348 %138 %337
%2350 = OpDot %float %2349 %73
%2351 = OpCompositeConstruct %v3float %2350 %2350 %2350
%2352 = OpExtInst %v3float %1 FMix %2351 %2349 %241
%2353 = OpCompositeExtract %float %2352 0
%2354 = OpExtInst %float %1 Exp2 %float_n15
%2355 = OpFMul %float %float_0_179999992 %2354
%2356 = OpExtInst %float %1 Exp2 %float_18
%2357 = OpFMul %float %float_0_179999992 %2356
OpStore %546 %499
OpStore %545 %500
%2358 = OpFOrdLessThanEqual %bool %2353 %float_0
%2359 = OpExtInst %float %1 Exp2 %float_n14
%2360 = OpSelect %float %2358 %2359 %2353
%2361 = OpExtInst %float %1 Log %2360
%2362 = OpFDiv %float %2361 %1091
%2363 = OpExtInst %float %1 Log %2355
%2364 = OpFDiv %float %2363 %1091
%2365 = OpFOrdLessThanEqual %bool %2362 %2364
OpSelectionMerge %2366 None
OpBranchConditional %2365 %2367 %2368
%2368 = OpLabel
%2369 = OpFOrdGreaterThan %bool %2362 %2364
%2370 = OpExtInst %float %1 Log %float_0_180000007
%2371 = OpFDiv %float %2370 %1091
%2372 = OpFOrdLessThan %bool %2362 %2371
%2373 = OpLogicalAnd %bool %2369 %2372
OpSelectionMerge %2374 None
OpBranchConditional %2373 %2375 %2376
%2376 = OpLabel
%2377 = OpFOrdGreaterThanEqual %bool %2362 %2371
%2378 = OpExtInst %float %1 Log %2357
%2379 = OpFDiv %float %2378 %1091
%2380 = OpFOrdLessThan %bool %2362 %2379
%2381 = OpLogicalAnd %bool %2377 %2380
OpSelectionMerge %2382 None
OpBranchConditional %2381 %2383 %2384
%2384 = OpLabel
%2385 = OpExtInst %float %1 Log %float_10000
%2386 = OpFDiv %float %2385 %1091
OpBranch %2382
%2383 = OpLabel
%2387 = OpFSub %float %2362 %2371
%2388 = OpFMul %float %float_3 %2387
%2389 = OpFSub %float %2379 %2371
%2390 = OpFDiv %float %2388 %2389
%2391 = OpConvertFToS %int %2390
%2392 = OpConvertSToF %float %2391
%2393 = OpFSub %float %2390 %2392
%2394 = OpAccessChain %_ptr_Function_float %545 %2391
%2395 = OpLoad %float %2394
%2396 = OpIAdd %int %2391 %int_1
%2397 = OpAccessChain %_ptr_Function_float %545 %2396
%2398 = OpLoad %float %2397
%2399 = OpIAdd %int %2391 %int_2
%2400 = OpAccessChain %_ptr_Function_float %545 %2399
%2401 = OpLoad %float %2400
%2402 = OpCompositeConstruct %v3float %2395 %2398 %2401
%2403 = OpFMul %float %2393 %2393
%2404 = OpCompositeConstruct %v3float %2403 %2393 %float_1
%2405 = OpMatrixTimesVector %v3float %466 %2402
%2406 = OpDot %float %2404 %2405
OpBranch %2382
%2382 = OpLabel
%2407 = OpPhi %float %2386 %2384 %2406 %2383
OpBranch %2374
%2375 = OpLabel
%2408 = OpFSub %float %2362 %2364
%2409 = OpFMul %float %float_3 %2408
%2410 = OpFSub %float %2371 %2364
%2411 = OpFDiv %float %2409 %2410
%2412 = OpConvertFToS %int %2411
%2413 = OpConvertSToF %float %2412
%2414 = OpFSub %float %2411 %2413
%2415 = OpAccessChain %_ptr_Function_float %546 %2412
%2416 = OpLoad %float %2415
%2417 = OpIAdd %int %2412 %int_1
%2418 = OpAccessChain %_ptr_Function_float %546 %2417
%2419 = OpLoad %float %2418
%2420 = OpIAdd %int %2412 %int_2
%2421 = OpAccessChain %_ptr_Function_float %546 %2420
%2422 = OpLoad %float %2421
%2423 = OpCompositeConstruct %v3float %2416 %2419 %2422
%2424 = OpFMul %float %2414 %2414
%2425 = OpCompositeConstruct %v3float %2424 %2414 %float_1
%2426 = OpMatrixTimesVector %v3float %466 %2423
%2427 = OpDot %float %2425 %2426
OpBranch %2374
%2374 = OpLabel
%2428 = OpPhi %float %2407 %2382 %2427 %2375
OpBranch %2366
%2367 = OpLabel
%2429 = OpExtInst %float %1 Log %float_9_99999975en05
%2430 = OpFDiv %float %2429 %1091
OpBranch %2366
%2366 = OpLabel
%2431 = OpPhi %float %2428 %2374 %2430 %2367
%2432 = OpExtInst %float %1 Pow %float_10 %2431
%2433 = OpCompositeInsert %v3float %2432 %523 0
%2434 = OpCompositeExtract %float %2352 1
OpStore %548 %499
OpStore %547 %500
%2435 = OpFOrdLessThanEqual %bool %2434 %float_0
%2436 = OpSelect %float %2435 %2359 %2434
%2437 = OpExtInst %float %1 Log %2436
%2438 = OpFDiv %float %2437 %1091
%2439 = OpFOrdLessThanEqual %bool %2438 %2364
OpSelectionMerge %2440 None
OpBranchConditional %2439 %2441 %2442
%2442 = OpLabel
%2443 = OpFOrdGreaterThan %bool %2438 %2364
%2444 = OpExtInst %float %1 Log %float_0_180000007
%2445 = OpFDiv %float %2444 %1091
%2446 = OpFOrdLessThan %bool %2438 %2445
%2447 = OpLogicalAnd %bool %2443 %2446
OpSelectionMerge %2448 None
OpBranchConditional %2447 %2449 %2450
%2450 = OpLabel
%2451 = OpFOrdGreaterThanEqual %bool %2438 %2445
%2452 = OpExtInst %float %1 Log %2357
%2453 = OpFDiv %float %2452 %1091
%2454 = OpFOrdLessThan %bool %2438 %2453
%2455 = OpLogicalAnd %bool %2451 %2454
OpSelectionMerge %2456 None
OpBranchConditional %2455 %2457 %2458
%2458 = OpLabel
%2459 = OpExtInst %float %1 Log %float_10000
%2460 = OpFDiv %float %2459 %1091
OpBranch %2456
%2457 = OpLabel
%2461 = OpFSub %float %2438 %2445
%2462 = OpFMul %float %float_3 %2461
%2463 = OpFSub %float %2453 %2445
%2464 = OpFDiv %float %2462 %2463
%2465 = OpConvertFToS %int %2464
%2466 = OpConvertSToF %float %2465
%2467 = OpFSub %float %2464 %2466
%2468 = OpAccessChain %_ptr_Function_float %547 %2465
%2469 = OpLoad %float %2468
%2470 = OpIAdd %int %2465 %int_1
%2471 = OpAccessChain %_ptr_Function_float %547 %2470
%2472 = OpLoad %float %2471
%2473 = OpIAdd %int %2465 %int_2
%2474 = OpAccessChain %_ptr_Function_float %547 %2473
%2475 = OpLoad %float %2474
%2476 = OpCompositeConstruct %v3float %2469 %2472 %2475
%2477 = OpFMul %float %2467 %2467
%2478 = OpCompositeConstruct %v3float %2477 %2467 %float_1
%2479 = OpMatrixTimesVector %v3float %466 %2476
%2480 = OpDot %float %2478 %2479
OpBranch %2456
%2456 = OpLabel
%2481 = OpPhi %float %2460 %2458 %2480 %2457
OpBranch %2448
%2449 = OpLabel
%2482 = OpFSub %float %2438 %2364
%2483 = OpFMul %float %float_3 %2482
%2484 = OpFSub %float %2445 %2364
%2485 = OpFDiv %float %2483 %2484
%2486 = OpConvertFToS %int %2485
%2487 = OpConvertSToF %float %2486
%2488 = OpFSub %float %2485 %2487
%2489 = OpAccessChain %_ptr_Function_float %548 %2486
%2490 = OpLoad %float %2489
%2491 = OpIAdd %int %2486 %int_1
%2492 = OpAccessChain %_ptr_Function_float %548 %2491
%2493 = OpLoad %float %2492
%2494 = OpIAdd %int %2486 %int_2
%2495 = OpAccessChain %_ptr_Function_float %548 %2494
%2496 = OpLoad %float %2495
%2497 = OpCompositeConstruct %v3float %2490 %2493 %2496
%2498 = OpFMul %float %2488 %2488
%2499 = OpCompositeConstruct %v3float %2498 %2488 %float_1
%2500 = OpMatrixTimesVector %v3float %466 %2497
%2501 = OpDot %float %2499 %2500
OpBranch %2448
%2448 = OpLabel
%2502 = OpPhi %float %2481 %2456 %2501 %2449
OpBranch %2440
%2441 = OpLabel
%2503 = OpExtInst %float %1 Log %float_9_99999975en05
%2504 = OpFDiv %float %2503 %1091
OpBranch %2440
%2440 = OpLabel
%2505 = OpPhi %float %2502 %2448 %2504 %2441
%2506 = OpExtInst %float %1 Pow %float_10 %2505
%2507 = OpCompositeInsert %v3float %2506 %2433 1
%2508 = OpCompositeExtract %float %2352 2
OpStore %550 %499
OpStore %549 %500
%2509 = OpFOrdLessThanEqual %bool %2508 %float_0
%2510 = OpSelect %float %2509 %2359 %2508
%2511 = OpExtInst %float %1 Log %2510
%2512 = OpFDiv %float %2511 %1091
%2513 = OpFOrdLessThanEqual %bool %2512 %2364
OpSelectionMerge %2514 None
OpBranchConditional %2513 %2515 %2516
%2516 = OpLabel
%2517 = OpFOrdGreaterThan %bool %2512 %2364
%2518 = OpExtInst %float %1 Log %float_0_180000007
%2519 = OpFDiv %float %2518 %1091
%2520 = OpFOrdLessThan %bool %2512 %2519
%2521 = OpLogicalAnd %bool %2517 %2520
OpSelectionMerge %2522 None
OpBranchConditional %2521 %2523 %2524
%2524 = OpLabel
%2525 = OpFOrdGreaterThanEqual %bool %2512 %2519
%2526 = OpExtInst %float %1 Log %2357
%2527 = OpFDiv %float %2526 %1091
%2528 = OpFOrdLessThan %bool %2512 %2527
%2529 = OpLogicalAnd %bool %2525 %2528
OpSelectionMerge %2530 None
OpBranchConditional %2529 %2531 %2532
%2532 = OpLabel
%2533 = OpExtInst %float %1 Log %float_10000
%2534 = OpFDiv %float %2533 %1091
OpBranch %2530
%2531 = OpLabel
%2535 = OpFSub %float %2512 %2519
%2536 = OpFMul %float %float_3 %2535
%2537 = OpFSub %float %2527 %2519
%2538 = OpFDiv %float %2536 %2537
%2539 = OpConvertFToS %int %2538
%2540 = OpConvertSToF %float %2539
%2541 = OpFSub %float %2538 %2540
%2542 = OpAccessChain %_ptr_Function_float %549 %2539
%2543 = OpLoad %float %2542
%2544 = OpIAdd %int %2539 %int_1
%2545 = OpAccessChain %_ptr_Function_float %549 %2544
%2546 = OpLoad %float %2545
%2547 = OpIAdd %int %2539 %int_2
%2548 = OpAccessChain %_ptr_Function_float %549 %2547
%2549 = OpLoad %float %2548
%2550 = OpCompositeConstruct %v3float %2543 %2546 %2549
%2551 = OpFMul %float %2541 %2541
%2552 = OpCompositeConstruct %v3float %2551 %2541 %float_1
%2553 = OpMatrixTimesVector %v3float %466 %2550
%2554 = OpDot %float %2552 %2553
OpBranch %2530
%2530 = OpLabel
%2555 = OpPhi %float %2534 %2532 %2554 %2531
OpBranch %2522
%2523 = OpLabel
%2556 = OpFSub %float %2512 %2364
%2557 = OpFMul %float %float_3 %2556
%2558 = OpFSub %float %2519 %2364
%2559 = OpFDiv %float %2557 %2558
%2560 = OpConvertFToS %int %2559
%2561 = OpConvertSToF %float %2560
%2562 = OpFSub %float %2559 %2561
%2563 = OpAccessChain %_ptr_Function_float %550 %2560
%2564 = OpLoad %float %2563
%2565 = OpIAdd %int %2560 %int_1
%2566 = OpAccessChain %_ptr_Function_float %550 %2565
%2567 = OpLoad %float %2566
%2568 = OpIAdd %int %2560 %int_2
%2569 = OpAccessChain %_ptr_Function_float %550 %2568
%2570 = OpLoad %float %2569
%2571 = OpCompositeConstruct %v3float %2564 %2567 %2570
%2572 = OpFMul %float %2562 %2562
%2573 = OpCompositeConstruct %v3float %2572 %2562 %float_1
%2574 = OpMatrixTimesVector %v3float %466 %2571
%2575 = OpDot %float %2573 %2574
OpBranch %2522
%2522 = OpLabel
%2576 = OpPhi %float %2555 %2530 %2575 %2523
OpBranch %2514
%2515 = OpLabel
%2577 = OpExtInst %float %1 Log %float_9_99999975en05
%2578 = OpFDiv %float %2577 %1091
OpBranch %2514
%2514 = OpLabel
%2579 = OpPhi %float %2576 %2522 %2578 %2515
%2580 = OpExtInst %float %1 Pow %float_10 %2579
%2581 = OpCompositeInsert %v3float %2580 %2507 2
%2582 = OpVectorTimesMatrix %v3float %2581 %438
%2583 = OpVectorTimesMatrix %v3float %2582 %434
%2584 = OpExtInst %float %1 Pow %float_2 %float_n12
%2585 = OpFMul %float %float_0_179999992 %2584
OpStore %558 %499
OpStore %557 %500
%2586 = OpFOrdLessThanEqual %bool %2585 %float_0
%2587 = OpSelect %float %2586 %2359 %2585
%2588 = OpExtInst %float %1 Log %2587
%2589 = OpFDiv %float %2588 %1091
%2590 = OpFOrdLessThanEqual %bool %2589 %2364
OpSelectionMerge %2591 None
OpBranchConditional %2590 %2592 %2593
%2593 = OpLabel
%2594 = OpFOrdGreaterThan %bool %2589 %2364
%2595 = OpExtInst %float %1 Log %float_0_180000007
%2596 = OpFDiv %float %2595 %1091
%2597 = OpFOrdLessThan %bool %2589 %2596
%2598 = OpLogicalAnd %bool %2594 %2597
OpSelectionMerge %2599 None
OpBranchConditional %2598 %2600 %2601
%2601 = OpLabel
%2602 = OpFOrdGreaterThanEqual %bool %2589 %2596
%2603 = OpExtInst %float %1 Log %2357
%2604 = OpFDiv %float %2603 %1091
%2605 = OpFOrdLessThan %bool %2589 %2604
%2606 = OpLogicalAnd %bool %2602 %2605
OpSelectionMerge %2607 None
OpBranchConditional %2606 %2608 %2609
%2609 = OpLabel
%2610 = OpExtInst %float %1 Log %float_10000
%2611 = OpFDiv %float %2610 %1091
OpBranch %2607
%2608 = OpLabel
%2612 = OpFSub %float %2589 %2596
%2613 = OpFMul %float %float_3 %2612
%2614 = OpFSub %float %2604 %2596
%2615 = OpFDiv %float %2613 %2614
%2616 = OpConvertFToS %int %2615
%2617 = OpConvertSToF %float %2616
%2618 = OpFSub %float %2615 %2617
%2619 = OpAccessChain %_ptr_Function_float %557 %2616
%2620 = OpLoad %float %2619
%2621 = OpIAdd %int %2616 %int_1
%2622 = OpAccessChain %_ptr_Function_float %557 %2621
%2623 = OpLoad %float %2622
%2624 = OpIAdd %int %2616 %int_2
%2625 = OpAccessChain %_ptr_Function_float %557 %2624
%2626 = OpLoad %float %2625
%2627 = OpCompositeConstruct %v3float %2620 %2623 %2626
%2628 = OpFMul %float %2618 %2618
%2629 = OpCompositeConstruct %v3float %2628 %2618 %float_1
%2630 = OpMatrixTimesVector %v3float %466 %2627
%2631 = OpDot %float %2629 %2630
OpBranch %2607
%2607 = OpLabel
%2632 = OpPhi %float %2611 %2609 %2631 %2608
OpBranch %2599
%2600 = OpLabel
%2633 = OpFSub %float %2589 %2364
%2634 = OpFMul %float %float_3 %2633
%2635 = OpFSub %float %2596 %2364
%2636 = OpFDiv %float %2634 %2635
%2637 = OpConvertFToS %int %2636
%2638 = OpConvertSToF %float %2637
%2639 = OpFSub %float %2636 %2638
%2640 = OpAccessChain %_ptr_Function_float %558 %2637
%2641 = OpLoad %float %2640
%2642 = OpIAdd %int %2637 %int_1
%2643 = OpAccessChain %_ptr_Function_float %558 %2642
%2644 = OpLoad %float %2643
%2645 = OpIAdd %int %2637 %int_2
%2646 = OpAccessChain %_ptr_Function_float %558 %2645
%2647 = OpLoad %float %2646
%2648 = OpCompositeConstruct %v3float %2641 %2644 %2647
%2649 = OpFMul %float %2639 %2639
%2650 = OpCompositeConstruct %v3float %2649 %2639 %float_1
%2651 = OpMatrixTimesVector %v3float %466 %2648
%2652 = OpDot %float %2650 %2651
OpBranch %2599
%2599 = OpLabel
%2653 = OpPhi %float %2632 %2607 %2652 %2600
OpBranch %2591
%2592 = OpLabel
%2654 = OpExtInst %float %1 Log %float_9_99999975en05
%2655 = OpFDiv %float %2654 %1091
OpBranch %2591
%2591 = OpLabel
%2656 = OpPhi %float %2653 %2599 %2655 %2592
%2657 = OpExtInst %float %1 Pow %float_10 %2656
OpStore %560 %499
OpStore %559 %500
%2658 = OpExtInst %float %1 Log %float_0_180000007
%2659 = OpFDiv %float %2658 %1091
%2660 = OpFOrdLessThanEqual %bool %2659 %2364
OpSelectionMerge %2661 None
OpBranchConditional %2660 %2662 %2663
%2663 = OpLabel
%2664 = OpFOrdGreaterThan %bool %2659 %2364
%2665 = OpFOrdLessThan %bool %2659 %2659
%2666 = OpLogicalAnd %bool %2664 %2665
OpSelectionMerge %2667 None
OpBranchConditional %2666 %2668 %2669
%2669 = OpLabel
%2670 = OpFOrdGreaterThanEqual %bool %2659 %2659
%2671 = OpExtInst %float %1 Log %2357
%2672 = OpFDiv %float %2671 %1091
%2673 = OpFOrdLessThan %bool %2659 %2672
%2674 = OpLogicalAnd %bool %2670 %2673
OpSelectionMerge %2675 None
OpBranchConditional %2674 %2676 %2677
%2677 = OpLabel
%2678 = OpExtInst %float %1 Log %float_10000
%2679 = OpFDiv %float %2678 %1091
OpBranch %2675
%2676 = OpLabel
%2680 = OpFSub %float %2659 %2659
%2681 = OpFMul %float %float_3 %2680
%2682 = OpFSub %float %2672 %2659
%2683 = OpFDiv %float %2681 %2682
%2684 = OpConvertFToS %int %2683
%2685 = OpConvertSToF %float %2684
%2686 = OpFSub %float %2683 %2685
%2687 = OpAccessChain %_ptr_Function_float %559 %2684
%2688 = OpLoad %float %2687
%2689 = OpIAdd %int %2684 %int_1
%2690 = OpAccessChain %_ptr_Function_float %559 %2689
%2691 = OpLoad %float %2690
%2692 = OpIAdd %int %2684 %int_2
%2693 = OpAccessChain %_ptr_Function_float %559 %2692
%2694 = OpLoad %float %2693
%2695 = OpCompositeConstruct %v3float %2688 %2691 %2694
%2696 = OpFMul %float %2686 %2686
%2697 = OpCompositeConstruct %v3float %2696 %2686 %float_1
%2698 = OpMatrixTimesVector %v3float %466 %2695
%2699 = OpDot %float %2697 %2698
OpBranch %2675
%2675 = OpLabel
%2700 = OpPhi %float %2679 %2677 %2699 %2676
OpBranch %2667
%2668 = OpLabel
%2701 = OpAccessChain %_ptr_Function_float %560 %int_3
%2702 = OpLoad %float %2701
%2703 = OpAccessChain %_ptr_Function_float %560 %int_4
%2704 = OpLoad %float %2703
%2705 = OpAccessChain %_ptr_Function_float %560 %int_5
%2706 = OpLoad %float %2705
%2707 = OpCompositeConstruct %v3float %2702 %2704 %2706
%2708 = OpMatrixTimesVector %v3float %466 %2707
%2709 = OpCompositeExtract %float %2708 2
OpBranch %2667
%2667 = OpLabel
%2710 = OpPhi %float %2700 %2675 %2709 %2668
OpBranch %2661
%2662 = OpLabel
%2711 = OpExtInst %float %1 Log %float_9_99999975en05
%2712 = OpFDiv %float %2711 %1091
OpBranch %2661
%2661 = OpLabel
%2713 = OpPhi %float %2710 %2667 %2712 %2662
%2714 = OpExtInst %float %1 Pow %float_10 %2713
%2715 = OpExtInst %float %1 Pow %float_2 %float_10
%2716 = OpFMul %float %float_0_179999992 %2715
OpStore %562 %499
OpStore %561 %500
%2717 = OpFOrdLessThanEqual %bool %2716 %float_0
%2718 = OpSelect %float %2717 %2359 %2716
%2719 = OpExtInst %float %1 Log %2718
%2720 = OpFDiv %float %2719 %1091
%2721 = OpFOrdLessThanEqual %bool %2720 %2364
OpSelectionMerge %2722 None
OpBranchConditional %2721 %2723 %2724
%2724 = OpLabel
%2725 = OpFOrdGreaterThan %bool %2720 %2364
%2726 = OpFOrdLessThan %bool %2720 %2659
%2727 = OpLogicalAnd %bool %2725 %2726
OpSelectionMerge %2728 None
OpBranchConditional %2727 %2729 %2730
%2730 = OpLabel
%2731 = OpFOrdGreaterThanEqual %bool %2720 %2659
%2732 = OpExtInst %float %1 Log %2357
%2733 = OpFDiv %float %2732 %1091
%2734 = OpFOrdLessThan %bool %2720 %2733
%2735 = OpLogicalAnd %bool %2731 %2734
OpSelectionMerge %2736 None
OpBranchConditional %2735 %2737 %2738
%2738 = OpLabel
%2739 = OpExtInst %float %1 Log %float_10000
%2740 = OpFDiv %float %2739 %1091
OpBranch %2736
%2737 = OpLabel
%2741 = OpFSub %float %2720 %2659
%2742 = OpFMul %float %float_3 %2741
%2743 = OpFSub %float %2733 %2659
%2744 = OpFDiv %float %2742 %2743
%2745 = OpConvertFToS %int %2744
%2746 = OpConvertSToF %float %2745
%2747 = OpFSub %float %2744 %2746
%2748 = OpAccessChain %_ptr_Function_float %561 %2745
%2749 = OpLoad %float %2748
%2750 = OpIAdd %int %2745 %int_1
%2751 = OpAccessChain %_ptr_Function_float %561 %2750
%2752 = OpLoad %float %2751
%2753 = OpIAdd %int %2745 %int_2
%2754 = OpAccessChain %_ptr_Function_float %561 %2753
%2755 = OpLoad %float %2754
%2756 = OpCompositeConstruct %v3float %2749 %2752 %2755
%2757 = OpFMul %float %2747 %2747
%2758 = OpCompositeConstruct %v3float %2757 %2747 %float_1
%2759 = OpMatrixTimesVector %v3float %466 %2756
%2760 = OpDot %float %2758 %2759
OpBranch %2736
%2736 = OpLabel
%2761 = OpPhi %float %2740 %2738 %2760 %2737
OpBranch %2728
%2729 = OpLabel
%2762 = OpFSub %float %2720 %2364
%2763 = OpFMul %float %float_3 %2762
%2764 = OpFSub %float %2659 %2364
%2765 = OpFDiv %float %2763 %2764
%2766 = OpConvertFToS %int %2765
%2767 = OpConvertSToF %float %2766
%2768 = OpFSub %float %2765 %2767
%2769 = OpAccessChain %_ptr_Function_float %562 %2766
%2770 = OpLoad %float %2769
%2771 = OpIAdd %int %2766 %int_1
%2772 = OpAccessChain %_ptr_Function_float %562 %2771
%2773 = OpLoad %float %2772
%2774 = OpIAdd %int %2766 %int_2
%2775 = OpAccessChain %_ptr_Function_float %562 %2774
%2776 = OpLoad %float %2775
%2777 = OpCompositeConstruct %v3float %2770 %2773 %2776
%2778 = OpFMul %float %2768 %2768
%2779 = OpCompositeConstruct %v3float %2778 %2768 %float_1
%2780 = OpMatrixTimesVector %v3float %466 %2777
%2781 = OpDot %float %2779 %2780
OpBranch %2728
%2728 = OpLabel
%2782 = OpPhi %float %2761 %2736 %2781 %2729
OpBranch %2722
%2723 = OpLabel
%2783 = OpExtInst %float %1 Log %float_9_99999975en05
%2784 = OpFDiv %float %2783 %1091
OpBranch %2722
%2722 = OpLabel
%2785 = OpPhi %float %2782 %2728 %2784 %2723
%2786 = OpExtInst %float %1 Pow %float_10 %2785
%2787 = OpCompositeExtract %float %2583 0
OpStore %556 %503
OpStore %555 %504
%2788 = OpFOrdLessThanEqual %bool %2787 %float_0
%2789 = OpSelect %float %2788 %float_9_99999975en05 %2787
%2790 = OpExtInst %float %1 Log %2789
%2791 = OpFDiv %float %2790 %1091
%2792 = OpExtInst %float %1 Log %2657
%2793 = OpFDiv %float %2792 %1091
%2794 = OpFOrdLessThanEqual %bool %2791 %2793
OpSelectionMerge %2795 None
OpBranchConditional %2794 %2796 %2797
%2797 = OpLabel
%2798 = OpFOrdGreaterThan %bool %2791 %2793
%2799 = OpExtInst %float %1 Log %2714
%2800 = OpFDiv %float %2799 %1091
%2801 = OpFOrdLessThan %bool %2791 %2800
%2802 = OpLogicalAnd %bool %2798 %2801
OpSelectionMerge %2803 None
OpBranchConditional %2802 %2804 %2805
%2805 = OpLabel
%2806 = OpFOrdGreaterThanEqual %bool %2791 %2800
%2807 = OpExtInst %float %1 Log %2786
%2808 = OpFDiv %float %2807 %1091
%2809 = OpFOrdLessThan %bool %2791 %2808
%2810 = OpLogicalAnd %bool %2806 %2809
OpSelectionMerge %2811 None
OpBranchConditional %2810 %2812 %2813
%2813 = OpLabel
%2814 = OpFMul %float %2791 %float_0_0599999987
%2815 = OpExtInst %float %1 Log %float_1000
%2816 = OpFDiv %float %2815 %1091
%2817 = OpFMul %float %float_0_0599999987 %2807
%2818 = OpFDiv %float %2817 %1091
%2819 = OpFSub %float %2816 %2818
%2820 = OpFAdd %float %2814 %2819
OpBranch %2811
%2812 = OpLabel
%2821 = OpFSub %float %2791 %2800
%2822 = OpFMul %float %float_7 %2821
%2823 = OpFSub %float %2808 %2800
%2824 = OpFDiv %float %2822 %2823
%2825 = OpConvertFToS %int %2824
%2826 = OpConvertSToF %float %2825
%2827 = OpFSub %float %2824 %2826
%2828 = OpAccessChain %_ptr_Function_float %555 %2825
%2829 = OpLoad %float %2828
%2830 = OpIAdd %int %2825 %int_1
%2831 = OpAccessChain %_ptr_Function_float %555 %2830
%2832 = OpLoad %float %2831
%2833 = OpIAdd %int %2825 %int_2
%2834 = OpAccessChain %_ptr_Function_float %555 %2833
%2835 = OpLoad %float %2834
%2836 = OpCompositeConstruct %v3float %2829 %2832 %2835
%2837 = OpFMul %float %2827 %2827
%2838 = OpCompositeConstruct %v3float %2837 %2827 %float_1
%2839 = OpMatrixTimesVector %v3float %466 %2836
%2840 = OpDot %float %2838 %2839
OpBranch %2811
%2811 = OpLabel
%2841 = OpPhi %float %2820 %2813 %2840 %2812
OpBranch %2803
%2804 = OpLabel
%2842 = OpFSub %float %2791 %2793
%2843 = OpFMul %float %float_7 %2842
%2844 = OpFSub %float %2800 %2793
%2845 = OpFDiv %float %2843 %2844
%2846 = OpConvertFToS %int %2845
%2847 = OpConvertSToF %float %2846
%2848 = OpFSub %float %2845 %2847
%2849 = OpAccessChain %_ptr_Function_float %556 %2846
%2850 = OpLoad %float %2849
%2851 = OpIAdd %int %2846 %int_1
%2852 = OpAccessChain %_ptr_Function_float %556 %2851
%2853 = OpLoad %float %2852
%2854 = OpIAdd %int %2846 %int_2
%2855 = OpAccessChain %_ptr_Function_float %556 %2854
%2856 = OpLoad %float %2855
%2857 = OpCompositeConstruct %v3float %2850 %2853 %2856
%2858 = OpFMul %float %2848 %2848
%2859 = OpCompositeConstruct %v3float %2858 %2848 %float_1
%2860 = OpMatrixTimesVector %v3float %466 %2857
%2861 = OpDot %float %2859 %2860
OpBranch %2803
%2803 = OpLabel
%2862 = OpPhi %float %2841 %2811 %2861 %2804
OpBranch %2795
%2796 = OpLabel
%2863 = OpFMul %float %2791 %float_3
%2864 = OpExtInst %float %1 Log %float_9_99999975en05
%2865 = OpFDiv %float %2864 %1091
%2866 = OpFMul %float %float_3 %2792
%2867 = OpFDiv %float %2866 %1091
%2868 = OpFSub %float %2865 %2867
%2869 = OpFAdd %float %2863 %2868
OpBranch %2795
%2795 = OpLabel
%2870 = OpPhi %float %2862 %2803 %2869 %2796
%2871 = OpExtInst %float %1 Pow %float_10 %2870
%2872 = OpCompositeInsert %v3float %2871 %523 0
%2873 = OpCompositeExtract %float %2583 1
OpStore %554 %503
OpStore %553 %504
%2874 = OpFOrdLessThanEqual %bool %2873 %float_0
%2875 = OpSelect %float %2874 %float_9_99999975en05 %2873
%2876 = OpExtInst %float %1 Log %2875
%2877 = OpFDiv %float %2876 %1091
%2878 = OpFOrdLessThanEqual %bool %2877 %2793
OpSelectionMerge %2879 None
OpBranchConditional %2878 %2880 %2881
%2881 = OpLabel
%2882 = OpFOrdGreaterThan %bool %2877 %2793
%2883 = OpExtInst %float %1 Log %2714
%2884 = OpFDiv %float %2883 %1091
%2885 = OpFOrdLessThan %bool %2877 %2884
%2886 = OpLogicalAnd %bool %2882 %2885
OpSelectionMerge %2887 None
OpBranchConditional %2886 %2888 %2889
%2889 = OpLabel
%2890 = OpFOrdGreaterThanEqual %bool %2877 %2884
%2891 = OpExtInst %float %1 Log %2786
%2892 = OpFDiv %float %2891 %1091
%2893 = OpFOrdLessThan %bool %2877 %2892
%2894 = OpLogicalAnd %bool %2890 %2893
OpSelectionMerge %2895 None
OpBranchConditional %2894 %2896 %2897
%2897 = OpLabel
%2898 = OpFMul %float %2877 %float_0_0599999987
%2899 = OpExtInst %float %1 Log %float_1000
%2900 = OpFDiv %float %2899 %1091
%2901 = OpFMul %float %float_0_0599999987 %2891
%2902 = OpFDiv %float %2901 %1091
%2903 = OpFSub %float %2900 %2902
%2904 = OpFAdd %float %2898 %2903
OpBranch %2895
%2896 = OpLabel
%2905 = OpFSub %float %2877 %2884
%2906 = OpFMul %float %float_7 %2905
%2907 = OpFSub %float %2892 %2884
%2908 = OpFDiv %float %2906 %2907
%2909 = OpConvertFToS %int %2908
%2910 = OpConvertSToF %float %2909
%2911 = OpFSub %float %2908 %2910
%2912 = OpAccessChain %_ptr_Function_float %553 %2909
%2913 = OpLoad %float %2912
%2914 = OpIAdd %int %2909 %int_1
%2915 = OpAccessChain %_ptr_Function_float %553 %2914
%2916 = OpLoad %float %2915
%2917 = OpIAdd %int %2909 %int_2
%2918 = OpAccessChain %_ptr_Function_float %553 %2917
%2919 = OpLoad %float %2918
%2920 = OpCompositeConstruct %v3float %2913 %2916 %2919
%2921 = OpFMul %float %2911 %2911
%2922 = OpCompositeConstruct %v3float %2921 %2911 %float_1
%2923 = OpMatrixTimesVector %v3float %466 %2920
%2924 = OpDot %float %2922 %2923
OpBranch %2895
%2895 = OpLabel
%2925 = OpPhi %float %2904 %2897 %2924 %2896
OpBranch %2887
%2888 = OpLabel
%2926 = OpFSub %float %2877 %2793
%2927 = OpFMul %float %float_7 %2926
%2928 = OpFSub %float %2884 %2793
%2929 = OpFDiv %float %2927 %2928
%2930 = OpConvertFToS %int %2929
%2931 = OpConvertSToF %float %2930
%2932 = OpFSub %float %2929 %2931
%2933 = OpAccessChain %_ptr_Function_float %554 %2930
%2934 = OpLoad %float %2933
%2935 = OpIAdd %int %2930 %int_1
%2936 = OpAccessChain %_ptr_Function_float %554 %2935
%2937 = OpLoad %float %2936
%2938 = OpIAdd %int %2930 %int_2
%2939 = OpAccessChain %_ptr_Function_float %554 %2938
%2940 = OpLoad %float %2939
%2941 = OpCompositeConstruct %v3float %2934 %2937 %2940
%2942 = OpFMul %float %2932 %2932
%2943 = OpCompositeConstruct %v3float %2942 %2932 %float_1
%2944 = OpMatrixTimesVector %v3float %466 %2941
%2945 = OpDot %float %2943 %2944
OpBranch %2887
%2887 = OpLabel
%2946 = OpPhi %float %2925 %2895 %2945 %2888
OpBranch %2879
%2880 = OpLabel
%2947 = OpFMul %float %2877 %float_3
%2948 = OpExtInst %float %1 Log %float_9_99999975en05
%2949 = OpFDiv %float %2948 %1091
%2950 = OpFMul %float %float_3 %2792
%2951 = OpFDiv %float %2950 %1091
%2952 = OpFSub %float %2949 %2951
%2953 = OpFAdd %float %2947 %2952
OpBranch %2879
%2879 = OpLabel
%2954 = OpPhi %float %2946 %2887 %2953 %2880
%2955 = OpExtInst %float %1 Pow %float_10 %2954
%2956 = OpCompositeInsert %v3float %2955 %2872 1
%2957 = OpCompositeExtract %float %2583 2
OpStore %552 %503
OpStore %551 %504
%2958 = OpFOrdLessThanEqual %bool %2957 %float_0
%2959 = OpSelect %float %2958 %float_9_99999975en05 %2957
%2960 = OpExtInst %float %1 Log %2959
%2961 = OpFDiv %float %2960 %1091
%2962 = OpFOrdLessThanEqual %bool %2961 %2793
OpSelectionMerge %2963 None
OpBranchConditional %2962 %2964 %2965
%2965 = OpLabel
%2966 = OpFOrdGreaterThan %bool %2961 %2793
%2967 = OpExtInst %float %1 Log %2714
%2968 = OpFDiv %float %2967 %1091
%2969 = OpFOrdLessThan %bool %2961 %2968
%2970 = OpLogicalAnd %bool %2966 %2969
OpSelectionMerge %2971 None
OpBranchConditional %2970 %2972 %2973
%2973 = OpLabel
%2974 = OpFOrdGreaterThanEqual %bool %2961 %2968
%2975 = OpExtInst %float %1 Log %2786
%2976 = OpFDiv %float %2975 %1091
%2977 = OpFOrdLessThan %bool %2961 %2976
%2978 = OpLogicalAnd %bool %2974 %2977
OpSelectionMerge %2979 None
OpBranchConditional %2978 %2980 %2981
%2981 = OpLabel
%2982 = OpFMul %float %2961 %float_0_0599999987
%2983 = OpExtInst %float %1 Log %float_1000
%2984 = OpFDiv %float %2983 %1091
%2985 = OpFMul %float %float_0_0599999987 %2975
%2986 = OpFDiv %float %2985 %1091
%2987 = OpFSub %float %2984 %2986
%2988 = OpFAdd %float %2982 %2987
OpBranch %2979
%2980 = OpLabel
%2989 = OpFSub %float %2961 %2968
%2990 = OpFMul %float %float_7 %2989
%2991 = OpFSub %float %2976 %2968
%2992 = OpFDiv %float %2990 %2991
%2993 = OpConvertFToS %int %2992
%2994 = OpConvertSToF %float %2993
%2995 = OpFSub %float %2992 %2994
%2996 = OpAccessChain %_ptr_Function_float %551 %2993
%2997 = OpLoad %float %2996
%2998 = OpIAdd %int %2993 %int_1
%2999 = OpAccessChain %_ptr_Function_float %551 %2998
%3000 = OpLoad %float %2999
%3001 = OpIAdd %int %2993 %int_2
%3002 = OpAccessChain %_ptr_Function_float %551 %3001
%3003 = OpLoad %float %3002
%3004 = OpCompositeConstruct %v3float %2997 %3000 %3003
%3005 = OpFMul %float %2995 %2995
%3006 = OpCompositeConstruct %v3float %3005 %2995 %float_1
%3007 = OpMatrixTimesVector %v3float %466 %3004
%3008 = OpDot %float %3006 %3007
OpBranch %2979
%2979 = OpLabel
%3009 = OpPhi %float %2988 %2981 %3008 %2980
OpBranch %2971
%2972 = OpLabel
%3010 = OpFSub %float %2961 %2793
%3011 = OpFMul %float %float_7 %3010
%3012 = OpFSub %float %2968 %2793
%3013 = OpFDiv %float %3011 %3012
%3014 = OpConvertFToS %int %3013
%3015 = OpConvertSToF %float %3014
%3016 = OpFSub %float %3013 %3015
%3017 = OpAccessChain %_ptr_Function_float %552 %3014
%3018 = OpLoad %float %3017
%3019 = OpIAdd %int %3014 %int_1
%3020 = OpAccessChain %_ptr_Function_float %552 %3019
%3021 = OpLoad %float %3020
%3022 = OpIAdd %int %3014 %int_2
%3023 = OpAccessChain %_ptr_Function_float %552 %3022
%3024 = OpLoad %float %3023
%3025 = OpCompositeConstruct %v3float %3018 %3021 %3024
%3026 = OpFMul %float %3016 %3016
%3027 = OpCompositeConstruct %v3float %3026 %3016 %float_1
%3028 = OpMatrixTimesVector %v3float %466 %3025
%3029 = OpDot %float %3027 %3028
OpBranch %2971
%2971 = OpLabel
%3030 = OpPhi %float %3009 %2979 %3029 %2972
OpBranch %2963
%2964 = OpLabel
%3031 = OpFMul %float %2961 %float_3
%3032 = OpExtInst %float %1 Log %float_9_99999975en05
%3033 = OpFDiv %float %3032 %1091
%3034 = OpFMul %float %float_3 %2792
%3035 = OpFDiv %float %3034 %1091
%3036 = OpFSub %float %3033 %3035
%3037 = OpFAdd %float %3031 %3036
OpBranch %2963
%2963 = OpLabel
%3038 = OpPhi %float %3030 %2971 %3037 %2964
%3039 = OpExtInst %float %1 Pow %float_10 %3038
%3040 = OpCompositeInsert %v3float %3039 %2956 2
%3041 = OpFSub %v3float %3040 %361
%3042 = OpVectorTimesMatrix %v3float %3041 %602
%3043 = OpFMul %v3float %3042 %519
%3044 = OpExtInst %v3float %1 Pow %3043 %286
%3045 = OpFMul %v3float %196 %3044
%3046 = OpFAdd %v3float %195 %3045
%3047 = OpFMul %v3float %197 %3044
%3048 = OpFAdd %v3float %141 %3047
%3049 = OpFDiv %v3float %141 %3048
%3050 = OpFMul %v3float %3046 %3049
%3051 = OpExtInst %v3float %1 Pow %3050 %287
OpBranch %1336
%1336 = OpLabel
%3052 = OpPhi %v3float %2201 %1342 %3051 %2963
OpBranch %1330
%1331 = OpLabel
%3053 = OpVectorTimesMatrix %v3float %1324 %573
%3054 = OpVectorTimesMatrix %v3float %3053 %602
%3055 = OpExtInst %v3float %1 FMax %263 %3054
%3056 = OpFMul %v3float %3055 %275
%3057 = OpExtInst %v3float %1 FMax %3055 %277
%3058 = OpExtInst %v3float %1 Pow %3057 %279
%3059 = OpFMul %v3float %3058 %281
%3060 = OpFSub %v3float %3059 %283
%3061 = OpExtInst %v3float %1 FMin %3056 %3060
OpBranch %1330
%1330 = OpLabel
%3062 = OpPhi %v3float %3052 %1336 %3061 %1331
OpBranch %1326
%1327 = OpLabel
%3063 = OpCompositeExtract %float %1324 0
OpBranch %3064
%3064 = OpLabel
OpLoopMerge %3065 %3066 None
OpBranch %3067
%3067 = OpLabel
%3068 = OpFOrdLessThan %bool %3063 %float_0_00313066994
OpSelectionMerge %3069 None
OpBranchConditional %3068 %3070 %3069
%3070 = OpLabel
%3071 = OpFMul %float %3063 %float_12_9200001
OpBranch %3065
%3069 = OpLabel
%3072 = OpExtInst %float %1 Pow %3063 %float_0_416666657
%3073 = OpFMul %float %3072 %float_1_05499995
%3074 = OpFSub %float %3073 %float_0_0549999997
OpBranch %3065
%3066 = OpLabel
OpBranch %3064
%3065 = OpLabel
%3075 = OpPhi %float %3071 %3070 %3074 %3069
%3076 = OpCompositeExtract %float %1324 1
OpBranch %3077
%3077 = OpLabel
OpLoopMerge %3078 %3079 None
OpBranch %3080
%3080 = OpLabel
%3081 = OpFOrdLessThan %bool %3076 %float_0_00313066994
OpSelectionMerge %3082 None
OpBranchConditional %3081 %3083 %3082
%3083 = OpLabel
%3084 = OpFMul %float %3076 %float_12_9200001
OpBranch %3078
%3082 = OpLabel
%3085 = OpExtInst %float %1 Pow %3076 %float_0_416666657
%3086 = OpFMul %float %3085 %float_1_05499995
%3087 = OpFSub %float %3086 %float_0_0549999997
OpBranch %3078
%3079 = OpLabel
OpBranch %3077
%3078 = OpLabel
%3088 = OpPhi %float %3084 %3083 %3087 %3082
%3089 = OpCompositeExtract %float %1324 2
OpBranch %3090
%3090 = OpLabel
OpLoopMerge %3091 %3092 None
OpBranch %3093
%3093 = OpLabel
%3094 = OpFOrdLessThan %bool %3089 %float_0_00313066994
OpSelectionMerge %3095 None
OpBranchConditional %3094 %3096 %3095
%3096 = OpLabel
%3097 = OpFMul %float %3089 %float_12_9200001
OpBranch %3091
%3095 = OpLabel
%3098 = OpExtInst %float %1 Pow %3089 %float_0_416666657
%3099 = OpFMul %float %3098 %float_1_05499995
%3100 = OpFSub %float %3099 %float_0_0549999997
OpBranch %3091
%3092 = OpLabel
OpBranch %3090
%3091 = OpLabel
%3101 = OpPhi %float %3097 %3096 %3100 %3095
%3102 = OpCompositeConstruct %v3float %3075 %3088 %3101
OpBranch %1326
%1326 = OpLabel
%3103 = OpPhi %v3float %3062 %1330 %3102 %3091
%3104 = OpFMul %v3float %3103 %522
%3105 = OpVectorShuffle %v4float %135 %3104 4 5 6 3
%3106 = OpCompositeInsert %v4float %float_0 %3105 3
OpStore %out_var_SV_Target0 %3106
OpReturn
OpFunctionEnd