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