HairBSDF, Mp, lower

Time bar (total: 33.8s)

start0.0ms (0.0%)

analyze1.4s (4.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%3.0%97.0%0.0%0.0%0.0%0
0.0%0.0%3.0%97.0%0.0%0.0%0.0%1
0.0%0.0%3.0%97.0%0.0%0.0%0.0%2
0.0%0.0%3.0%97.0%0.0%0.0%0.0%3
0.0%0.0%3.0%97.0%0.0%0.0%0.0%4
0.0%0.0%3.0%97.0%0.0%0.0%0.0%5
0.0%0.0%1.5%97.0%0.0%1.5%0.0%6
0.0%0.0%1.5%97.0%0.0%1.5%0.0%7
0.0%0.0%1.5%97.0%0.0%1.5%0.0%8
0.0%0.0%1.5%97.0%0.0%1.5%0.0%9
0.0%0.0%1.5%97.0%0.0%1.5%0.0%10
0.0%0.0%1.5%97.0%0.0%1.5%0.0%11
0.0%0.0%1.5%97.0%0.0%1.5%0.0%12
Compiler

Compiled 65 to 44 computations (32.3% saved)

sample5.8s (17.3%)

Samples
4.8s8 255×0valid
44.0ms135×0invalid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 2.6s
ival-div!: 763.0ms (29.6% of total, 61.1 MiB)
ival-mult!: 511.0ms (19.8% of total, 39.5 MiB)
ival-log!: 381.0ms (14.8% of total, 23.5 MiB)
ival-add!: 266.0ms (10.3% of total, 22.2 MiB)
ival-exp!: 256.0ms (9.9% of total, 16.6 MiB)
ival-sub!: 256.0ms (9.9% of total, 21.9 MiB)
adjust: 57.0ms (2.2% of total, 1.8 MiB)
ival-and: 43.0ms (1.7% of total, 7.6 MiB)
ival-<=: 43.0ms (1.7% of total, 4.7 MiB)
ival-assert: 5.0ms (0.2% of total, 2.7 MiB)
const: 0.0ms (0.0% of total, 0.0 MiB)
Bogosity

preprocess164.0ms (0.5%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0164460
11209393
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
Symmetry

(sort cosTheta_i cosTheta_O)

(sort sinTheta_i sinTheta_O)

Compiler

Compiled 2 to 42 computations (-2000.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series998.0ms (3.0%)

Counts
21 → 93
Calls
Call 1
Inputs
%2 = (*.f32 cosTheta_i cosTheta_O)
%4 = (/.f32 %2 v)
%7 = (*.f32 sinTheta_i sinTheta_O)
%8 = (/.f32 %7 v)
%9 = (-.f32 %4 %8)
%11 = (/.f32 #s(literal 1 binary32) v)
%12 = (-.f32 %9 %11)
%14 = (+.f32 %12 #s(literal 6931/10000 binary32))
%16 = (*.f32 #s(literal 2 binary32) v)
%17 = (/.f32 #s(literal 1 binary32) %16)
%18 = (log.f32 %17)
%19 = (+.f32 %14 %18)
cosTheta_i
cosTheta_O
%2
v
%4
sinTheta_i
sinTheta_O
%7
%8
%9
#s(literal 1 binary32)
%11
%12
#s(literal 6931/10000 binary32)
%14
#s(literal 2 binary32)
%16
%17
%18
%19
(exp.f32 %19)
Outputs
%5 = (* cosTheta_i cosTheta_O)
%6 = (*.f32 cosTheta_O cosTheta_i)
%9 = (/ %5 v)
%10 = (/.f32 %6 v)
%14 = (* sinTheta_i sinTheta_O)
%15 = (/ %14 v)
%16 = (- %9 %15)
%18 = (*.f32 sinTheta_O sinTheta_i)
%19 = (/.f32 %18 v)
%25 = (/ 1 v)
%26 = (- %16 %25)
%28 = (/.f32 #s(literal 1 binary32) v)
%29 = (+.f32 %28 %19)
%35 = (+ %26 6931/10000)
%37 = (-.f32 #s(literal 6931/10000 binary32) %29)
%39 = (+.f32 #s(literal 6931/10000 binary32) %10)
%43 = (* 2 v)
%44 = (/ 1 %43)
%45 = (log %44)
%46 = (+ %35 %45)
%48 = (/.f32 #s(literal 1/2 binary32) v)
%49 = (log.f32 %48)
%51 = (-.f32 (+.f32 #s(literal 6931/10000 binary32) %49) %29)
%54 = (+.f32 #s(literal 6931/10000 binary32) (+.f32 %49 %10))
%55 = (-.f32 %54 %29)
%57 = (exp %46)
%58 = (exp.f32 %51)
%60 = (*.f32 cosTheta_i %58)
%66 = (pow.f32 cosTheta_O #s(literal 2 binary32))
%68 = (pow.f32 v #s(literal 2 binary32))
%71 = (/.f32 (*.f32 cosTheta_O %58) v)
%80 = (pow.f32 v #s(literal 3 binary32))
%90 = (*.f32 cosTheta_i v)
%91 = (/.f32 %18 %90)
%92 = (/.f32 cosTheta_O v)
%100 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%103 = (+.f32 (/.f32 #s(literal 1 binary32) %90) %91)
%137 = (*.f32 (pow.f32 cosTheta_i #s(literal 2 binary32)) %58)
%140 = (/.f32 %60 v)
%156 = (*.f32 cosTheta_O v)
%157 = (/.f32 %18 %156)
%158 = (/.f32 cosTheta_i v)
%166 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%169 = (+.f32 (/.f32 #s(literal 1 binary32) %156) %157)
%202 = (fma.f32 #s(literal -1 binary32) %19 %10)
%204 = (-.f32 %10 %28)
%208 = (-.f32 %39 %28)
%213 = (-.f32 %54 %28)
%219 = (exp.f32 %213)
%221 = (*.f32 sinTheta_i %219)
%228 = (/.f32 (*.f32 sinTheta_O %219) v)
%229 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%250 = (*.f32 sinTheta_i v)
%251 = (/.f32 %6 %250)
%252 = (/.f32 sinTheta_O v)
%257 = (+.f32 (/.f32 #s(literal 1 binary32) %250) %252)
%261 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%273 = (*.f32 #s(literal -1 binary32) %252)
%297 = (/.f32 %221 v)
%299 = (*.f32 (pow.f32 sinTheta_i #s(literal 2 binary32)) %219)
%319 = (*.f32 sinTheta_O v)
%320 = (/.f32 %6 %319)
%321 = (/.f32 sinTheta_i v)
%326 = (+.f32 (/.f32 #s(literal 1 binary32) %319) %321)
%330 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%342 = (*.f32 #s(literal -1 binary32) %321)
%370 = (+.f32 #s(literal 1 binary32) %18)
%371 = (-.f32 %6 %370)
%381 = (log.f32 #s(literal 1/2 binary32))
%384 = (+.f32 %381 (*.f32 #s(literal -1 binary32) (log.f32 v)))
%393 = (log.f32 %28)
%394 = (+.f32 %381 %393)
%396 = (+.f32 #s(literal 6931/10000 binary32) %394)
%403 = (exp.f32 %396)
%406 = (/.f32 (*.f32 %403 %371) v)
%412 = (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %403 (pow.f32 %371 #s(literal 2 binary32))) %68) %406)
%421 = (*.f32 #s(literal -1 binary32) %6)
%422 = (*.f32 #s(literal -1 binary32) %18)
%428 = (-.f32 (+.f32 #s(literal 1 binary32) %421) %422)
%430 = (*.f32 #s(literal -1 binary32) (/.f32 %428 v))
%438 = (*.f32 %403 %428)
%445 = (*.f32 %403 (pow.f32 %428 #s(literal 2 binary32)))
(approx cosTheta_i #s(literal 0 binary32))
(approx cosTheta_i cosTheta_i)
(approx %5 %6)
(approx %9 %10)
(approx %16 (*.f32 #s(literal -1 binary32) %19))
(approx %16 (-.f32 %10 %19))
(approx %26 (*.f32 #s(literal -1 binary32) %29))
(approx %26 (-.f32 %10 %29))
(approx %35 %37)
(approx %35 (-.f32 %39 %29))
(approx %46 %51)
(approx %46 %55)
(approx %57 %58)
(approx %57 (+.f32 %58 (/.f32 (*.f32 cosTheta_O %60) v)))
(approx %57 (+.f32 %58 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %66 %60) %68) %71))))
(approx %57 (+.f32 %58 (*.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 (pow.f32 cosTheta_O #s(literal 3 binary32)) %60) %80) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %66 %58) %68))) %71))))
(approx %16 (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %91 %92)))
(approx %26 (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) (/.f32 %29 cosTheta_i) %92)))
(approx %35 (*.f32 cosTheta_i (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %100 %92) %103)))
(approx %46 (*.f32 cosTheta_i (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %100 (+.f32 %92 (/.f32 %49 cosTheta_i))) %103)))
(approx %57 (exp.f32 %55))
(approx %16 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %92 %91))))
(approx %26 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %92 %103))))
(approx %35 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %92 (*.f32 #s(literal -1 binary32) (/.f32 %37 cosTheta_i))))))
(approx %46 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %92 (*.f32 #s(literal -1 binary32) (/.f32 %51 cosTheta_i))))))
(approx cosTheta_O cosTheta_O)
(approx %57 (+.f32 %58 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O %137) %68) %140))))
(approx %57 (+.f32 %58 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 (pow.f32 cosTheta_i #s(literal 3 binary32)) %58)) %80) (*.f32 #s(literal 1/2 binary32) (/.f32 %137 %68))) %140))))
(approx %16 (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %157 %158)))
(approx %26 (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) (/.f32 %29 cosTheta_O) %158)))
(approx %35 (*.f32 cosTheta_O (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %166 %158) %169)))
(approx %46 (*.f32 cosTheta_O (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %166 (+.f32 %158 (/.f32 %49 cosTheta_O))) %169)))
(approx %16 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %158 %157))))
(approx %26 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %158 %169))))
(approx %35 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %158 (*.f32 #s(literal -1 binary32) (/.f32 %37 cosTheta_O))))))
(approx %46 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %158 (*.f32 #s(literal -1 binary32) (/.f32 %51 cosTheta_O))))))
(approx sinTheta_i sinTheta_i)
(approx %14 %18)
(approx %15 %19)
(approx %16 %202)
(approx %26 %204)
(approx %26 (-.f32 %202 %28))
(approx %35 %208)
(approx %35 (-.f32 (+.f32 #s(literal 6931/10000 binary32) %202) %28))
(approx %46 %213)
(approx %46 (-.f32 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %49 %202)) %28))
(approx %57 %219)
(approx %57 (+.f32 %219 (*.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %221) v))))
(approx %57 (+.f32 %219 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %228 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %229 %221) %68))))))
(approx %57 (+.f32 %219 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %228 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 (pow.f32 sinTheta_O #s(literal 3 binary32)) %221) %80) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %229 %219) %68))))))))
(approx %16 (*.f32 sinTheta_i (-.f32 %251 %252)))
(approx %26 (*.f32 sinTheta_i (-.f32 %251 %257)))
(approx %35 (*.f32 sinTheta_i (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %261 %251) %257)))
(approx %46 (*.f32 sinTheta_i (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %261 (+.f32 (/.f32 %49 sinTheta_i) %251)) %257)))
(approx %16 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) %251) %273))))
(approx %26 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %204 sinTheta_i)) %273))))
(approx %35 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %208 sinTheta_i)) %273))))
(approx %46 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %213 sinTheta_i)) %273))))
(approx sinTheta_O sinTheta_O)
(approx %57 (+.f32 %219 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %297 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 sinTheta_O %299) %68))))))
(approx %57 (+.f32 %219 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %297 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 (pow.f32 sinTheta_i #s(literal 3 binary32)) %219)) %80) (*.f32 #s(literal 1/2 binary32) (/.f32 %299 %68))))))))
(approx %16 (*.f32 sinTheta_O (-.f32 %320 %321)))
(approx %26 (*.f32 sinTheta_O (-.f32 %320 %326)))
(approx %35 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %330 %320) %326)))
(approx %46 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %330 (+.f32 (/.f32 %49 sinTheta_O) %320)) %326)))
(approx %16 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) %320) %342))))
(approx %26 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %204 sinTheta_O)) %342))))
(approx %35 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %208 sinTheta_O)) %342))))
(approx %46 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %213 sinTheta_O)) %342))))
(approx v v)
(approx %16 (/.f32 (-.f32 %6 %18) v))
(approx %25 %28)
(approx %26 (/.f32 %371 v))
(approx %35 (/.f32 (-.f32 (fma.f32 #s(literal 6931/10000 binary32) v %6) %370) v))
(approx %43 (*.f32 #s(literal 2 binary32) v))
(approx %44 %48)
(approx %45 %384)
(approx %46 (/.f32 (-.f32 (fma.f32 cosTheta_O cosTheta_i (*.f32 v (+.f32 #s(literal 6931/10000 binary32) %384))) %370) v))
(approx %35 #s(literal 6931/10000 binary32))
(approx %45 %394)
(approx %46 %396)
(approx %46 (-.f32 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %381 (+.f32 %393 %10))) %29))
(approx %57 %403)
(approx %57 (+.f32 %403 %406))
(approx %57 (+.f32 %403 %412))
(approx %57 (+.f32 %403 (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %403 (pow.f32 %371 #s(literal 3 binary32))) %80) %412)))
(approx %16 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 %421 %422) v)))
(approx %26 %430)
(approx %35 (+.f32 #s(literal 6931/10000 binary32) %430))
(approx %46 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %381 (+.f32 %393 %430))))
(approx %57 (+.f32 %403 (*.f32 #s(literal -1 binary32) (/.f32 %438 v))))
(approx %57 (+.f32 %403 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %445 v) %438) v))))
(approx %57 (+.f32 %403 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 %403 (pow.f32 %428 #s(literal 3 binary32))) v) (*.f32 #s(literal 1/2 binary32) %445)) v) %438) v))))
Calls

15 calls:

TimeVariablePoint
46.0ms
cosTheta_i
0
24.0ms
v
0
18.0ms
v
inf
11.0ms
sinTheta_O
0
10.0ms
sinTheta_O
-inf

rewrite1.4s (4.1%)

Counts
21 → 296
Calls
Call 1
Inputs
%2 = (*.f32 cosTheta_i cosTheta_O)
%4 = (/.f32 %2 v)
%7 = (*.f32 sinTheta_i sinTheta_O)
%8 = (/.f32 %7 v)
%9 = (-.f32 %4 %8)
%11 = (/.f32 #s(literal 1 binary32) v)
%12 = (-.f32 %9 %11)
%14 = (+.f32 %12 #s(literal 6931/10000 binary32))
%16 = (*.f32 #s(literal 2 binary32) v)
%17 = (/.f32 #s(literal 1 binary32) %16)
%18 = (log.f32 %17)
%19 = (+.f32 %14 %18)
cosTheta_i
cosTheta_O
%2
v
%4
sinTheta_i
sinTheta_O
%7
%8
%9
#s(literal 1 binary32)
%11
%12
#s(literal 6931/10000 binary32)
%14
#s(literal 2 binary32)
%16
%17
%18
%19
(exp.f32 %19)
Outputs
%2 = (*.f32 cosTheta_i cosTheta_O)
%5 = (/.f32 %2 v)
%6 = (/.f32 cosTheta_O v)
%8 = (/.f32 cosTheta_i v)
%12 = (*.f32 (neg.f32 cosTheta_i) cosTheta_O)
%13 = (neg.f32 v)
%20 = (*.f32 %2 #s(literal 1 binary32))
%22 = (/.f32 #s(literal 1 binary32) v)
%23 = (*.f32 cosTheta_i %22)
%30 = (neg.f32 %13)
%35 = (/.f32 #s(literal -1 binary32) v)
%42 = (*.f32 sinTheta_i sinTheta_O)
%44 = (/.f32 %42 v)
%45 = (/.f32 sinTheta_O v)
%50 = (neg.f32 sinTheta_i)
%51 = (*.f32 %50 sinTheta_O)
%53 = (*.f32 %50 %45)
%55 = (*.f32 %42 #s(literal 1 binary32))
%71 = (-.f32 %2 %42)
%72 = (/.f32 %71 v)
%74 = (/.f32 (-.f32 %42 %2) v)
%94 = (*.f32 %5 v)
%95 = (-.f32 %94 %42)
%104 = (*.f32 %2 v)
%106 = (*.f32 (*.f32 v sinTheta_i) sinTheta_O)
%107 = (-.f32 %104 %106)
%108 = (*.f32 v v)
%132 = (*.f32 v %13)
%134 = (/.f32 #s(literal 1 binary32) %108)
%171 = (/.f32 #s(literal 1/2 binary32) v)
%182 = (/.f32 (-.f32 %71 #s(literal 1 binary32)) v)
%184 = (/.f32 (-.f32 #s(literal 1 binary32) %71) v)
%187 = (/.f32 (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32)) v)
%189 = (neg.f32 %187)
%201 = (fma.f32 %72 v #s(literal -1 binary32))
%212 = (fma.f32 %50 %45 %35)
%218 = (-.f32 %53 %22)
%229 = (*.f32 v #s(literal 1 binary32))
%243 = (*.f32 v #s(literal -1 binary32))
%277 = (-.f32 %182 #s(literal -6931/10000 binary32))
%287 = (-.f32 %35 #s(literal -6931/10000 binary32))
%289 = (+.f32 %35 #s(literal 6931/10000 binary32))
%291 = (+.f32 #s(literal 6931/10000 binary32) %72)
%293 = (-.f32 %22 #s(literal 6931/10000 binary32))
%296 = (neg.f32 %293)
%308 = (-.f32 %53 %293)
%337 = (cosh.f32 (/.f32 #s(literal 0 binary32) #s(literal 2 binary32)))
%340 = (+.f32 v v)
%345 = (*.f32 #s(literal 1 binary32) v)
%354 = (*.f32 #s(literal -2 binary32) v)
%368 = (/.f32 #s(literal 1 binary32) %354)
%380 = (log.f32 %340)
%381 = (neg.f32 %380)
%383 = (exp.f32 %380)
%387 = (fabs.f32 %340)
%388 = (log.f32 %387)
%409 = (-.f32 #s(literal 6931/10000 binary32) %380)
%416 = (-.f32 %277 %380)
%421 = (+.f32 %381 %182)
%439 = (+.f32 %35 %409)
%454 = (exp.f32 %277)
%456 = (*.f32 %454 %171)
%467 = (sinh.f32 %416)
%468 = (cosh.f32 %416)
cosTheta_i
cosTheta_O
%2
(*.f32 cosTheta_O cosTheta_i)
v
%5
(*.f32 cosTheta_i %6)
(*.f32 cosTheta_O %8)
(*.f32 %6 cosTheta_i)
(/.f32 %12 %13)
(neg.f32 (/.f32 %2 %13))
(neg.f32 (/.f32 %12 v))
(/.f32 %20 v)
(*.f32 cosTheta_O %23)
(*.f32 %2 %22)
(*.f32 %22 %2)
(/.f32 #s(literal 1 binary32) (/.f32 v %2))
(/.f32 (neg.f32 %12) %30)
(/.f32 (*.f32 %2 #s(literal -1 binary32)) %13)
(*.f32 %12 %35)
(/.f32 #s(literal 1 binary32) (/.f32 %13 %12))
(*.f32 %20 %22)
sinTheta_i
sinTheta_O
%42
(*.f32 sinTheta_O sinTheta_i)
%44
(*.f32 sinTheta_i %45)
(*.f32 sinTheta_O (/.f32 sinTheta_i v))
(*.f32 %45 sinTheta_i)
(/.f32 %51 %13)
(neg.f32 %53)
(/.f32 %55 v)
(*.f32 sinTheta_O (*.f32 sinTheta_i %22))
(*.f32 %42 %22)
(*.f32 %22 %42)
(/.f32 #s(literal 1 binary32) (/.f32 v %42))
(/.f32 (neg.f32 %51) %30)
(/.f32 (*.f32 %42 #s(literal -1 binary32)) %13)
(*.f32 %51 %35)
(/.f32 #s(literal 1 binary32) (/.f32 %13 %51))
(*.f32 %55 %22)
%72
(neg.f32 %74)
(/.f32 (neg.f32 %71) %13)
(/.f32 (-.f32 %12 %51) %13)
(*.f32 %22 %71)
(*.f32 %71 %22)
(/.f32 #s(literal 1 binary32) (/.f32 v %71))
(-.f32 %5 %44)
(fma.f32 cosTheta_i %6 %53)
(fma.f32 cosTheta_O %8 %53)
(fma.f32 sinTheta_i (neg.f32 %45) %5)
(fma.f32 %50 %45 %5)
(fma.f32 %6 cosTheta_i %53)
(+.f32 %5 %53)
(+.f32 %53 %5)
(fma.f32 %42 %35 %5)
(/.f32 %95 v)
(fma.f32 cosTheta_O %23 %53)
(fma.f32 %2 %22 %53)
(fma.f32 %22 %2 %53)
(fma.f32 %51 %22 %5)
(fma.f32 %12 %35 %53)
(/.f32 (neg.f32 %95) %13)
(/.f32 %107 %108)
(/.f32 (-.f32 (*.f32 %5 %13) %51) %13)
(/.f32 (/.f32 %107 v) v)
(*.f32 %95 %22)
(fma.f32 %20 %22 %53)
(/.f32 #s(literal 1 binary32) (/.f32 v %95))
(-.f32 (/.f32 %94 v) %44)
(/.f32 (neg.f32 %107) (neg.f32 %108))
(/.f32 (-.f32 (*.f32 %12 v) (*.f32 %13 %42)) (*.f32 %13 v))
(/.f32 (-.f32 (*.f32 %2 %13) (*.f32 v %51)) %132)
(*.f32 %107 %134)
(/.f32 #s(literal 1 binary32) (/.f32 %108 %107))
(/.f32 (-.f32 (*.f32 %12 %13) (*.f32 %13 %51)) %108)
(-.f32 (/.f32 %104 %108) (/.f32 %106 %108))
#s(literal 1 binary32)
(fabs.f32 #s(literal 1 binary32))
(fabs.f32 #s(literal -1 binary32))
(neg.f32 #s(literal -1 binary32))
(sqrt.f32 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 0 binary32))
(+.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 2 binary32))
(/.f32 #s(literal 2 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/4 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 0 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
%22
(/.f32 #s(literal -1 binary32) %13)
(neg.f32 %35)
(/.f32 #s(literal 1 binary32) %30)
(*.f32 #s(literal 1 binary32) %22)
(*.f32 %22 #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) %171)
(*.f32 #s(literal -1 binary32) %35)
(/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 1 binary32)))
(/.f32 #s(literal 1 binary32) (/.f32 %13 #s(literal -1 binary32)))
(pow.f32 v #s(literal -1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 v #s(literal 1 binary32)))
%182
(neg.f32 %184)
(-.f32 %5 %187)
(fma.f32 cosTheta_i %6 %189)
(fma.f32 cosTheta_O %8 %189)
(fma.f32 %6 cosTheta_i %189)
(+.f32 %72 %35)
(+.f32 %35 %72)
(-.f32 %72 %22)
(+.f32 %5 %189)
(neg.f32 (-.f32 %187 %5))
(neg.f32 (+.f32 %74 %22))
(/.f32 %201 v)
(fma.f32 #s(literal 1 binary32) %35 %72)
(fma.f32 %22 %71 %35)
(fma.f32 #s(literal -1 binary32) %22 %72)
(fma.f32 %71 %22 %35)
(fma.f32 cosTheta_O %23 %189)
(fma.f32 %2 %22 %189)
(fma.f32 %22 %2 %189)
(/.f32 (-.f32 %95 #s(literal 1 binary32)) v)
(fma.f32 cosTheta_i %6 %212)
(fma.f32 cosTheta_O %8 %212)
(fma.f32 %6 cosTheta_i %212)
(fma.f32 %12 %35 %189)
(+.f32 %5 %212)
(fma.f32 cosTheta_i %6 %218)
(fma.f32 cosTheta_O %8 %218)
(fma.f32 %6 cosTheta_i %218)
(/.f32 (neg.f32 %201) %13)
(+.f32 %5 %218)
(/.f32 (-.f32 (*.f32 %72 %13) #s(literal -1 binary32)) %13)
(/.f32 (-.f32 (*.f32 %71 v) %229) %108)
(*.f32 %201 %22)
(fma.f32 %20 %22 %189)
(/.f32 #s(literal 1 binary32) (/.f32 v %201))
(fma.f32 cosTheta_O %23 %212)
(fma.f32 %2 %22 %212)
(fma.f32 %22 %2 %212)
(-.f32 (/.f32 (*.f32 %72 v) v) %22)
(/.f32 (-.f32 (*.f32 %71 %13) %243) %132)
(fma.f32 cosTheta_O %23 %218)
(fma.f32 %2 %22 %218)
(fma.f32 %22 %2 %218)
(fma.f32 %12 %35 %212)
(fma.f32 %12 %35 %218)
(fma.f32 %95 %22 %35)
(fma.f32 %20 %22 %212)
(fma.f32 %20 %22 %218)
(fma.f32 %107 %134 %35)
(/.f32 (-.f32 (*.f32 %95 v) %229) %108)
(/.f32 (-.f32 (*.f32 %95 %13) %243) %132)
(/.f32 (-.f32 (*.f32 %107 v) (*.f32 %108 #s(literal 1 binary32))) (*.f32 %108 v))
(/.f32 (-.f32 (*.f32 %107 %13) (*.f32 %108 #s(literal -1 binary32))) (*.f32 %108 %13))
#s(literal 6931/10000 binary32)
(neg.f32 #s(literal -6931/10000 binary32))
(+.f32 #s(literal 6931/10000 binary32) #s(literal 0 binary32))
(+.f32 %182 #s(literal 6931/10000 binary32))
(+.f32 #s(literal 6931/10000 binary32) %182)
%277
(-.f32 #s(literal 6931/10000 binary32) %184)
(neg.f32 (-.f32 #s(literal -6931/10000 binary32) %182))
(-.f32 %5 (+.f32 %187 #s(literal -6931/10000 binary32)))
(-.f32 %5 (-.f32 %187 #s(literal 6931/10000 binary32)))
(-.f32 (+.f32 #s(literal 6931/10000 binary32) %5) %187)
(+.f32 %72 %287)
(+.f32 %72 %289)
(+.f32 %291 %35)
(-.f32 %72 %293)
(-.f32 %291 %22)
(+.f32 %72 %296)
(neg.f32 (-.f32 %293 %72))
(fma.f32 %22 %71 %287)
(fma.f32 %22 %71 %289)
(fma.f32 %71 %22 %287)
(fma.f32 %71 %22 %289)
(-.f32 %5 (fma.f32 sinTheta_i %45 %293))
(fma.f32 %22 %71 %296)
(fma.f32 %71 %22 %296)
(fma.f32 cosTheta_i %6 %308)
(fma.f32 cosTheta_O %8 %308)
(fma.f32 %6 cosTheta_i %308)
(+.f32 %5 %308)
(/.f32 (fma.f32 #s(literal 6931/10000 binary32) v %201) v)
(fma.f32 %201 %22 #s(literal 6931/10000 binary32))
(fma.f32 cosTheta_O %23 %308)
(fma.f32 %2 %22 %308)
(fma.f32 %22 %2 %308)
(fma.f32 %12 %35 %308)
(fma.f32 %95 %22 %287)
(fma.f32 %95 %22 %289)
(fma.f32 %20 %22 %308)
(fma.f32 %95 %22 %296)
(fma.f32 %107 %134 %287)
(fma.f32 %107 %134 %289)
(fma.f32 %107 %134 %296)
#s(literal 2 binary32)
(fabs.f32 #s(literal 2 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 4 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) (*.f32 %337 %337))
%340
(*.f32 v #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) v)
(-.f32 v %13)
(fma.f32 v #s(literal 1 binary32) %229)
(fma.f32 #s(literal 1 binary32) v %345)
(+.f32 %229 %229)
(+.f32 %345 %345)
%171
(/.f32 #s(literal -1/2 binary32) %13)
(fabs.f32 %171)
(/.f32 #s(literal 1 binary32) %340)
(/.f32 #s(literal -1 binary32) %354)
(*.f32 #s(literal 1 binary32) %171)
(*.f32 %171 #s(literal 1 binary32))
(*.f32 #s(literal 1/2 binary32) %22)
(*.f32 (/.f32 #s(literal 2 binary32) v) #s(literal 1/4 binary32))
(neg.f32 (/.f32 #s(literal -1 binary32) %340))
(/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 1/2 binary32)))
(/.f32 %22 #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) (neg.f32 %354))
(neg.f32 %368)
(*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) %340))
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %171))
(*.f32 #s(literal -1 binary32) %368)
(/.f32 #s(literal 1 binary32) (/.f32 %340 #s(literal 1 binary32)))
(/.f32 #s(literal 1 binary32) (/.f32 %354 #s(literal -1 binary32)))
(pow.f32 %340 #s(literal -1 binary32))
(exp.f32 %381)
(/.f32 #s(literal 1 binary32) %383)
(/.f32 #s(literal 1 binary32) (pow.f32 %340 #s(literal 1 binary32)))
(/.f32 #s(literal 1 binary32) (exp.f32 %388))
(-.f32 (cosh.f32 %380) (sinh.f32 %380))
(+.f32 (cosh.f32 %381) (sinh.f32 %381))
%381
(log.f32 %171)
(+.f32 #s(literal 0 binary32) %381)
(-.f32 #s(literal 0 binary32) %388)
(*.f32 #s(literal -1 binary32) %388)
(+.f32 #s(literal 0 binary32) (neg.f32 %388))
(log.f32 (/.f32 #s(literal 1 binary32) %387))
(-.f32 (log.f32 #s(literal 1/2 binary32)) (log.f32 (fabs.f32 v)))
(+.f32 %182 %409)
(+.f32 #s(literal 6931/10000 binary32) (-.f32 %182 %380))
(+.f32 %409 %182)
(-.f32 %182 (+.f32 #s(literal -6931/10000 binary32) %380))
%416
(+.f32 #s(literal 6931/10000 binary32) (+.f32 %182 %381))
(+.f32 %277 %381)
(+.f32 %381 %277)
(+.f32 %421 #s(literal 6931/10000 binary32))
(neg.f32 (-.f32 %380 %277))
(-.f32 %182 (-.f32 #s(literal -6931/10000 binary32) %381))
(-.f32 %182 (neg.f32 %409))
(-.f32 %421 #s(literal -6931/10000 binary32))
(-.f32 %381 (neg.f32 %277))
(-.f32 %5 (-.f32 %187 %409))
(fma.f32 #s(literal -1 binary32) %388 %277)
(-.f32 #s(literal 0 binary32) (-.f32 %388 %277))
(-.f32 (+.f32 %277 #s(literal 0 binary32)) %388)
(+.f32 %72 %439)
(-.f32 %72 (+.f32 %293 %380))
(-.f32 %72 (-.f32 %22 %409))
(-.f32 %72 (-.f32 %293 %381))
(-.f32 (+.f32 %381 %72) %293)
(fma.f32 %22 %71 %439)
(fma.f32 %71 %22 %439)
(fma.f32 %201 %22 %409)
(fma.f32 %95 %22 %439)
(fma.f32 %107 %134 %439)
(*.f32 %171 %454)
%456
(fabs.f32 %456)
(fabs.f32 (neg.f32 %456))
(exp.f32 %416)
(*.f32 (exp.f32 %182) (exp.f32 %409))
(/.f32 %454 %383)
(sqrt.f32 (*.f32 %456 %456))
(+.f32 %467 %468)
(+.f32 %468 %467)
(-.f32 %468 (neg.f32 %467))

reconstruct224.0ms (0.7%)

Counts
389 → 129
Compiler

Compiled 389 to 804 computations (-106.7% saved)

eval96.0ms (0.3%)

Compiler

Compiled 122 to 721 computations (-491.0% saved)

prune17.0ms (0.0%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1166122
Fresh000
Picked101
Done000
Total1176123
Accuracy
99.7%
Counts
123 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(/.f32 (exp.f32 (-.f32 (/.f32 (-.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) #s(literal 1 binary32)) v) #s(literal -6931/10000 binary32))) (exp.f32 (log.f32 (+.f32 v v))))
99.7%
(*.f32 (exp.f32 (/.f32 (-.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) #s(literal 1 binary32)) v)) (exp.f32 (-.f32 #s(literal 6931/10000 binary32) (log.f32 (+.f32 v v)))))
99.7%
(*.f32 (exp.f32 (-.f32 (/.f32 (-.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) #s(literal 1 binary32)) v) #s(literal -6931/10000 binary32))) (/.f32 #s(literal 1/2 binary32) v))
4.7%
(exp.f32 (+.f32 (approx (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
99.6%
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (-.f32 (+.f32 #s(literal 6931/10000 binary32) (+.f32 (log.f32 (/.f32 #s(literal 1/2 binary32) v)) (/.f32 (*.f32 cosTheta_O cosTheta_i) v))) (/.f32 #s(literal 1 binary32) v))))
4.7%
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (+.f32 #s(literal 6931/10000 binary32) (+.f32 (log.f32 #s(literal 1/2 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) v))))))
Compiler

Compiled 6 to 45 computations (-650.0% saved)

sample1.0ms (0.0%)

Calls
Call 1
Inputs
(log 1/2)
Outputs
#s(literal -1453635/2097152 binary32)
Samples
0.0ms0valid
Compiler

Compiled 4 to 4 computations (0.0% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
adjust: 0.0ms (0.0% of total, 0.0 MiB)

series1.8s (5.3%)

Counts
48 → 212
Calls
Call 1
Inputs
%2 = (*.f32 cosTheta_i cosTheta_O)
%6 = (*.f32 sinTheta_i sinTheta_O)
%8 = (/.f32 #s(literal 1 binary32) v)
%11 = (*.f32 #s(literal 2 binary32) v)
%12 = (/.f32 #s(literal 1 binary32) %11)
%13 = (log.f32 %12)
%14 = (*.f32 cosTheta_O cosTheta_i)
%15 = (/.f32 %14 v)
%17 = (/.f32 #s(literal 1/2 binary32) v)
%18 = (log.f32 %17)
%19 = (+.f32 %18 %15)
%20 = (+.f32 #s(literal 6931/10000 binary32) %19)
%21 = (-.f32 %20 %8)
%31 = (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000)
%36 = (+ %31 (log (/ 1 (* 2 v))))
%37 = (approx %36 %21)
%38 = (log.f32 #s(literal 1/2 binary32))
%39 = (approx %31 #s(literal 6931/10000 binary32))
%40 = (log.f32 %8)
%41 = (+.f32 %38 %40)
%42 = (+.f32 #s(literal 6931/10000 binary32) %41)
%43 = (approx %36 %42)
%44 = (-.f32 %2 %6)
%45 = (-.f32 %44 #s(literal 1 binary32))
%46 = (/.f32 %45 v)
%48 = (-.f32 %46 #s(literal -6931/10000 binary32))
%49 = (+.f32 v v)
%50 = (log.f32 %49)
%51 = (exp.f32 %50)
%52 = (-.f32 #s(literal 6931/10000 binary32) %50)
%53 = (exp.f32 %48)
%55 = (exp.f32 %46)
%56 = (exp.f32 %52)
%59 = (+.f32 %39 %13)
cosTheta_i
cosTheta_O
%2
v
sinTheta_i
sinTheta_O
%6
#s(literal 1 binary32)
%8
#s(literal 6931/10000 binary32)
#s(literal 2 binary32)
%11
%12
%13
%14
%15
#s(literal 1/2 binary32)
%17
%18
%19
%20
%21
%37
%38
%39
%40
%41
%42
%43
%44
%45
%46
#s(literal -6931/10000 binary32)
%48
%49
%50
%51
%52
%53
(*.f32 %53 %17)
%55
%56
(*.f32 %55 %56)
(/.f32 %53 %51)
%59
(exp.f32 %59)
(exp.f32 %37)
(exp.f32 %43)
Outputs
%5 = (* cosTheta_i cosTheta_O)
%6 = (*.f32 cosTheta_O cosTheta_i)
%10 = (/ (* cosTheta_O cosTheta_i) v)
%11 = (/.f32 %6 v)
%14 = (/ 1/2 v)
%16 = (+ (log %14) %10)
%18 = (/.f32 #s(literal 1/2 binary32) v)
%19 = (log.f32 %18)
%21 = (+.f32 %19 %11)
%24 = (+ 6931/10000 %16)
%26 = (+.f32 #s(literal 6931/10000 binary32) %19)
%28 = (+.f32 #s(literal 6931/10000 binary32) %21)
%31 = (/ 1 v)
%32 = (- %24 %31)
%34 = (/.f32 #s(literal 1 binary32) v)
%35 = (-.f32 %26 %34)
%37 = (-.f32 %28 %34)
%42 = (* sinTheta_i sinTheta_O)
%46 = (+ (- (- (/ %5 v) (/ %42 v)) %31) 6931/10000)
%48 = (* 2 v)
%49 = (/ 1 %48)
%50 = (log %49)
%51 = (+ %46 %50)
%52 = (*.f32 sinTheta_O sinTheta_i)
%53 = (/.f32 %52 v)
%54 = (+.f32 %34 %53)
%55 = (-.f32 %26 %54)
%57 = (-.f32 %28 %54)
%59 = (-.f32 #s(literal 6931/10000 binary32) %54)
%61 = (+.f32 #s(literal 6931/10000 binary32) %11)
%62 = (-.f32 %61 %54)
%64 = (- %5 %42)
%66 = (*.f32 #s(literal -1 binary32) %52)
%70 = (- %64 1)
%71 = (+.f32 #s(literal 1 binary32) %52)
%74 = (-.f32 %6 %71)
%76 = (/ %70 v)
%77 = (/.f32 %71 v)
%78 = (*.f32 #s(literal -1 binary32) %77)
%84 = (exp (- %76 -6931/10000))
%85 = (exp.f32 %59)
%87 = (*.f32 cosTheta_i %85)
%88 = (*.f32 cosTheta_O %87)
%93 = (pow.f32 cosTheta_O #s(literal 2 binary32))
%94 = (*.f32 %93 %87)
%95 = (pow.f32 v #s(literal 2 binary32))
%97 = (*.f32 cosTheta_O %85)
%98 = (/.f32 %97 v)
%105 = (pow.f32 cosTheta_O #s(literal 3 binary32))
%106 = (*.f32 %105 %87)
%107 = (pow.f32 v #s(literal 3 binary32))
%109 = (*.f32 %93 %85)
%117 = (* %84 %14)
%118 = (/.f32 %85 v)
%127 = (/.f32 %97 %95)
%135 = (pow.f32 v #s(literal 4 binary32))
%145 = (exp %76)
%146 = (exp.f32 %78)
%148 = (*.f32 cosTheta_i %146)
%156 = (/.f32 (*.f32 cosTheta_O %146) v)
%172 = (log (+ v v))
%173 = (- 6931/10000 %172)
%174 = (exp %173)
%175 = (* %145 %174)
%176 = (*.f32 #s(literal 2 binary32) v)
%179 = (exp.f32 (-.f32 #s(literal 6931/10000 binary32) (log.f32 %176)))
%180 = (*.f32 %146 %179)
%182 = (*.f32 cosTheta_i %180)
%190 = (/.f32 (*.f32 cosTheta_O %180) v)
%203 = (exp %51)
%204 = (exp.f32 %55)
%206 = (*.f32 cosTheta_i %204)
%214 = (/.f32 (*.f32 cosTheta_O %204) v)
%229 = (/.f32 cosTheta_O v)
%230 = (/.f32 %19 cosTheta_i)
%231 = (+.f32 %229 %230)
%234 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%235 = (fma.f32 #s(literal 6931/10000 binary32) %234 %231)
%238 = (*.f32 cosTheta_i v)
%239 = (/.f32 #s(literal 1 binary32) %238)
%244 = (+.f32 %239 (/.f32 %52 %238))
%252 = (/.f32 %52 cosTheta_i)
%266 = (exp.f32 %62)
%271 = (/.f32 %74 v)
%272 = (exp.f32 %271)
%321 = (pow.f32 cosTheta_i #s(literal 2 binary32))
%322 = (*.f32 %321 %85)
%323 = (*.f32 cosTheta_O %322)
%325 = (/.f32 %87 v)
%330 = (pow.f32 cosTheta_i #s(literal 3 binary32))
%332 = (*.f32 cosTheta_O (*.f32 %330 %85))
%342 = (/.f32 %87 %95)
%357 = (*.f32 %321 %146)
%360 = (/.f32 %148 v)
%375 = (*.f32 %321 %180)
%378 = (/.f32 %182 v)
%391 = (*.f32 %321 %204)
%394 = (/.f32 %206 v)
%409 = (/.f32 cosTheta_i v)
%410 = (/.f32 %19 cosTheta_O)
%411 = (+.f32 %409 %410)
%414 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%415 = (fma.f32 #s(literal 6931/10000 binary32) %414 %411)
%418 = (*.f32 cosTheta_O v)
%419 = (/.f32 #s(literal 1 binary32) %418)
%424 = (+.f32 %419 (/.f32 %52 %418))
%432 = (/.f32 %52 cosTheta_O)
%490 = (fma.f32 #s(literal -1 binary32) %53 %11)
%495 = (-.f32 %61 %34)
%500 = (fma.f32 #s(literal -1 binary32) %52 %6)
%502 = (-.f32 %6 #s(literal 1 binary32))
%506 = (/.f32 %502 v)
%510 = (exp.f32 %495)
%512 = (*.f32 sinTheta_i %510)
%513 = (*.f32 sinTheta_O %512)
%518 = (*.f32 sinTheta_O %510)
%519 = (/.f32 %518 v)
%520 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%521 = (*.f32 %520 %512)
%529 = (pow.f32 sinTheta_O #s(literal 3 binary32))
%530 = (*.f32 %529 %512)
%532 = (*.f32 %520 %510)
%541 = (/.f32 %510 v)
%542 = (*.f32 #s(literal 1/2 binary32) %541)
%548 = (/.f32 %518 %95)
%565 = (exp.f32 %506)
%567 = (*.f32 sinTheta_i %565)
%574 = (/.f32 (*.f32 sinTheta_O %565) v)
%593 = (*.f32 %179 %565)
%595 = (*.f32 sinTheta_i %593)
%601 = (/.f32 (*.f32 sinTheta_O %593) v)
%618 = (exp.f32 %37)
%620 = (*.f32 sinTheta_i %618)
%627 = (/.f32 (*.f32 sinTheta_O %618) v)
%648 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%650 = (*.f32 sinTheta_i v)
%651 = (/.f32 %6 %650)
%654 = (/.f32 #s(literal 1 binary32) %650)
%655 = (/.f32 sinTheta_O v)
%656 = (+.f32 %654 %655)
%664 = (/.f32 %6 sinTheta_i)
%678 = (*.f32 #s(literal -1 binary32) %655)
%690 = (*.f32 #s(literal -1 binary32) sinTheta_O)
%701 = (-.f32 %11 %34)
%708 = (/.f32 %512 v)
%709 = (pow.f32 sinTheta_i #s(literal 2 binary32))
%710 = (*.f32 %709 %510)
%711 = (*.f32 sinTheta_O %710)
%718 = (pow.f32 sinTheta_i #s(literal 3 binary32))
%720 = (*.f32 sinTheta_O (*.f32 %718 %510))
%730 = (/.f32 %512 %95)
%746 = (/.f32 %567 v)
%747 = (*.f32 %709 %565)
%766 = (/.f32 %595 v)
%767 = (*.f32 %709 %593)
%784 = (/.f32 %620 v)
%785 = (*.f32 %709 %618)
%804 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%806 = (*.f32 sinTheta_O v)
%807 = (/.f32 %6 %806)
%810 = (/.f32 #s(literal 1 binary32) %806)
%811 = (/.f32 sinTheta_i v)
%812 = (+.f32 %810 %811)
%820 = (/.f32 %6 sinTheta_O)
%834 = (*.f32 #s(literal -1 binary32) %811)
%846 = (*.f32 #s(literal -1 binary32) sinTheta_i)
%866 = (log.f32 #s(literal 1/2 binary32))
%867 = (log.f32 v)
%868 = (*.f32 #s(literal -1 binary32) %867)
%869 = (+.f32 %866 %868)
%875 = (+.f32 #s(literal 6931/10000 binary32) %869)
%877 = (fma.f32 cosTheta_O cosTheta_i (*.f32 v %875))
%891 = (log %31)
%897 = (log.f32 #s(literal 2 binary32))
%898 = (+.f32 %897 %867)
%900 = (-.f32 #s(literal 6931/10000 binary32) %898)
%902 = (exp.f32 %900)
%906 = (log.f32 %34)
%907 = (+.f32 %866 %906)
%910 = (+.f32 %866 (+.f32 %906 %11))
%912 = (+.f32 #s(literal 6931/10000 binary32) %907)
%914 = (+.f32 #s(literal 6931/10000 binary32) %910)
%923 = (+.f32 %897 (*.f32 #s(literal -1 binary32) %906))
%925 = (-.f32 #s(literal 6931/10000 binary32) %923)
%927 = (exp.f32 #s(literal 6931/10000 binary32))
%929 = (*.f32 %927 %74)
%930 = (/.f32 %929 v)
%933 = (pow.f32 %74 #s(literal 2 binary32))
%934 = (*.f32 %927 %933)
%935 = (/.f32 %934 %95)
%936 = (fma.f32 #s(literal 1/2 binary32) %935 %930)
%939 = (pow.f32 %74 #s(literal 3 binary32))
%940 = (*.f32 %927 %939)
%941 = (/.f32 %940 %107)
%949 = (fma.f32 #s(literal 1/2 binary32) %927 (*.f32 #s(literal 1/2 binary32) %930))
%952 = (fma.f32 #s(literal 1/4 binary32) %935 %949)
%963 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %933 %95) %11)
%972 = (exp.f32 %925)
%974 = (*.f32 %972 %74)
%975 = (/.f32 %974 v)
%978 = (*.f32 %972 %933)
%980 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %978 %95) %975)
%983 = (*.f32 %972 %939)
%988 = (exp.f32 %912)
%991 = (/.f32 (*.f32 %988 %74) v)
%996 = (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %988 %933) %95) %991)
%1005 = (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) %6))
%1012 = (-.f32 %1005 %66)
%1014 = (*.f32 #s(literal -1 binary32) (/.f32 %1012 v))
%1021 = (/.f32 %934 v)
%1028 = (/.f32 %940 v)
%1043 = (*.f32 #s(literal 1/2 binary32) %929)
%1046 = (*.f32 #s(literal -1/2 binary32) %927)
%1095 = (*.f32 %988 %1012)
%1101 = (*.f32 %988 (pow.f32 %1012 #s(literal 2 binary32)))
(approx cosTheta_i #s(literal 0 binary32))
(approx cosTheta_i cosTheta_i)
(approx %5 %6)
(approx %10 %11)
(approx %16 %19)
(approx %16 %21)
(approx %24 %26)
(approx %24 %28)
(approx %32 %35)
(approx %32 %37)
(approx %51 %55)
(approx %51 %57)
(approx %46 %59)
(approx %46 %62)
(approx %64 %66)
(approx %64 (-.f32 %6 %52))
(approx %70 (*.f32 #s(literal -1 binary32) %71))
(approx %70 %74)
(approx %76 %78)
(approx %76 (fma.f32 #s(literal -1 binary32) %77 %11))
(approx %84 %85)
(approx %84 (+.f32 %85 (/.f32 %88 v)))
(approx %84 (+.f32 %85 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 %94 %95) %98))))
(approx %84 (+.f32 %85 (*.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 %106 %107) (*.f32 #s(literal 1/2 binary32) (/.f32 %109 %95))) %98))))
(approx %117 (*.f32 #s(literal 1/2 binary32) %118))
(approx %117 (fma.f32 #s(literal 1/2 binary32) %118 (*.f32 #s(literal 1/2 binary32) (/.f32 %88 %95))))
(approx %117 (fma.f32 #s(literal 1/2 binary32) %118 (*.f32 cosTheta_i (fma.f32 #s(literal 1/4 binary32) (/.f32 %94 %107) (*.f32 #s(literal 1/2 binary32) %127)))))
(approx %117 (fma.f32 #s(literal 1/2 binary32) %118 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) %127 (*.f32 cosTheta_i (fma.f32 #s(literal 1/12 binary32) (/.f32 %106 %135) (*.f32 #s(literal 1/4 binary32) (/.f32 %109 %107))))))))
(approx %145 %146)
(approx %145 (+.f32 %146 (/.f32 (*.f32 cosTheta_O %148) v)))
(approx %145 (+.f32 %146 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %93 %148) %95) %156))))
(approx %145 (+.f32 %146 (*.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %105 %148) %107) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %93 %146) %95))) %156))))
(approx %175 %180)
(approx %175 (fma.f32 %146 %179 (/.f32 (*.f32 cosTheta_O %182) v)))
(approx %175 (fma.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %93 %182) %95) %190) %180))
(approx %175 (fma.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %105 %182) %107) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %93 %180) %95))) %190) %180))
(approx %203 %204)
(approx %203 (+.f32 %204 (/.f32 (*.f32 cosTheta_O %206) v)))
(approx %203 (+.f32 %204 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %93 %206) %95) %214))))
(approx %203 (+.f32 %204 (*.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %105 %206) %107) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %93 %204) %95))) %214))))
(approx %16 (*.f32 cosTheta_i %231))
(approx %24 (*.f32 cosTheta_i %235))
(approx %32 (*.f32 cosTheta_i (-.f32 %235 %239)))
(approx %51 (*.f32 cosTheta_i (-.f32 %235 %244)))
(approx %46 (*.f32 cosTheta_i (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %234 %229) %244)))
(approx %64 (*.f32 cosTheta_i (+.f32 cosTheta_O (*.f32 #s(literal -1 binary32) %252))))
(approx %70 (*.f32 cosTheta_i (+.f32 cosTheta_O (*.f32 #s(literal -1 binary32) (/.f32 %71 cosTheta_i)))))
(approx %76 (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) (/.f32 %71 %238) %229)))
(approx %84 %266)
(approx %117 (*.f32 #s(literal 1/2 binary32) (/.f32 %266 v)))
(approx %145 %272)
(approx %175 (*.f32 %179 %272))
(approx %203 (exp.f32 %57))
(approx %16 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %229 (*.f32 #s(literal -1 binary32) %230)))))
(approx %24 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %229 (*.f32 #s(literal -1 binary32) (/.f32 %26 cosTheta_i))))))
(approx %32 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %229 (*.f32 #s(literal -1 binary32) (/.f32 %35 cosTheta_i))))))
(approx %51 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %229 (*.f32 #s(literal -1 binary32) (/.f32 %55 cosTheta_i))))))
(approx %46 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %229 (*.f32 #s(literal -1 binary32) (/.f32 %59 cosTheta_i))))))
(approx %64 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) cosTheta_O %252))))
(approx %70 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) cosTheta_O (+.f32 %234 %252)))))
(approx %76 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %229 %244))))
(approx cosTheta_O cosTheta_O)
(approx %84 (+.f32 %85 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 %323 %95) %325))))
(approx %84 (+.f32 %85 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 %332 %107) (*.f32 #s(literal 1/2 binary32) (/.f32 %322 %95))) %325))))
(approx %117 (fma.f32 #s(literal 1/2 binary32) %118 (*.f32 cosTheta_O (fma.f32 #s(literal 1/4 binary32) (/.f32 %323 %107) (*.f32 #s(literal 1/2 binary32) %342)))))
(approx %117 (fma.f32 #s(literal 1/2 binary32) %118 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) %342 (*.f32 cosTheta_O (fma.f32 #s(literal 1/12 binary32) (/.f32 %332 %135) (*.f32 #s(literal 1/4 binary32) (/.f32 %322 %107))))))))
(approx %145 (+.f32 %146 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O %357) %95) %360))))
(approx %145 (+.f32 %146 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %330 %146)) %107) (*.f32 #s(literal 1/2 binary32) (/.f32 %357 %95))) %360))))
(approx %175 (fma.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O %375) %95) %378) %180))
(approx %175 (fma.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %330 %180)) %107) (*.f32 #s(literal 1/2 binary32) (/.f32 %375 %95))) %378) %180))
(approx %203 (+.f32 %204 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O %391) %95) %394))))
(approx %203 (+.f32 %204 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %330 %204)) %107) (*.f32 #s(literal 1/2 binary32) (/.f32 %391 %95))) %394))))
(approx %16 (*.f32 cosTheta_O %411))
(approx %24 (*.f32 cosTheta_O %415))
(approx %32 (*.f32 cosTheta_O (-.f32 %415 %419)))
(approx %51 (*.f32 cosTheta_O (-.f32 %415 %424)))
(approx %46 (*.f32 cosTheta_O (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %414 %409) %424)))
(approx %64 (*.f32 cosTheta_O (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) %432))))
(approx %70 (*.f32 cosTheta_O (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) (/.f32 %71 cosTheta_O)))))
(approx %76 (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) (/.f32 %71 %418) %409)))
(approx %16 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %409 (*.f32 #s(literal -1 binary32) %410)))))
(approx %24 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %409 (*.f32 #s(literal -1 binary32) (/.f32 %26 cosTheta_O))))))
(approx %32 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %409 (*.f32 #s(literal -1 binary32) (/.f32 %35 cosTheta_O))))))
(approx %51 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %409 (*.f32 #s(literal -1 binary32) (/.f32 %55 cosTheta_O))))))
(approx %46 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %409 (*.f32 #s(literal -1 binary32) (/.f32 %59 cosTheta_O))))))
(approx %64 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) cosTheta_i %432))))
(approx %70 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) cosTheta_i (+.f32 %414 %432)))))
(approx %76 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %409 %424))))
(approx sinTheta_i sinTheta_i)
(approx %42 %52)
(approx %51 (-.f32 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %19 %490)) %34))
(approx %46 %495)
(approx %46 (-.f32 (+.f32 #s(literal 6931/10000 binary32) %490) %34))
(approx %64 %500)
(approx %70 %502)
(approx %70 (-.f32 %500 #s(literal 1 binary32)))
(approx %76 %506)
(approx %76 (-.f32 %490 %34))
(approx %84 %510)
(approx %84 (+.f32 %510 (*.f32 #s(literal -1 binary32) (/.f32 %513 v))))
(approx %84 (+.f32 %510 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %519 (*.f32 #s(literal 1/2 binary32) (/.f32 %521 %95))))))
(approx %84 (+.f32 %510 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %519 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %530 %107) (*.f32 #s(literal 1/2 binary32) (/.f32 %532 %95))))))))
(approx %117 %542)
(approx %117 (fma.f32 #s(literal -1/2 binary32) (/.f32 %513 %95) %542))
(approx %117 (fma.f32 #s(literal 1/2 binary32) %541 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %548 (*.f32 #s(literal 1/4 binary32) (/.f32 %521 %107))))))
(approx %117 (fma.f32 #s(literal 1/2 binary32) %541 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %548 (*.f32 sinTheta_i (fma.f32 #s(literal -1/12 binary32) (/.f32 %530 %135) (*.f32 #s(literal 1/4 binary32) (/.f32 %532 %107))))))))
(approx %145 %565)
(approx %145 (+.f32 %565 (*.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %567) v))))
(approx %145 (+.f32 %565 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %574 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %520 %567) %95))))))
(approx %145 (+.f32 %565 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %574 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 %529 %567) %107) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %520 %565) %95))))))))
(approx %175 %593)
(approx %175 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %595) v) %593))
(approx %175 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %601 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %520 %595) %95))) %593))
(approx %175 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %601 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 %529 %595) %107) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %520 %593) %95))))) %593))
(approx %203 %618)
(approx %203 (+.f32 %618 (*.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %620) v))))
(approx %203 (+.f32 %618 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %627 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %520 %620) %95))))))
(approx %203 (+.f32 %618 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %627 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 %529 %620) %107) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %520 %618) %95))))))))
(approx %51 (*.f32 #s(literal -1 binary32) %53))
(approx %51 (*.f32 sinTheta_i (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %648 (+.f32 (/.f32 %19 sinTheta_i) %651)) %656)))
(approx %46 (*.f32 sinTheta_i (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %648 %651) %656)))
(approx %64 (*.f32 sinTheta_i (-.f32 %664 sinTheta_O)))
(approx %70 (*.f32 sinTheta_i (-.f32 %664 (+.f32 sinTheta_O %648))))
(approx %76 (*.f32 sinTheta_i (-.f32 (fma.f32 #s(literal -1 binary32) %655 %651) %654)))
(approx %51 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %37 sinTheta_i)) %678))))
(approx %46 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %495 sinTheta_i)) %678))))
(approx %64 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) %664) %690))))
(approx %70 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %502 sinTheta_i)) %690))))
(approx %76 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) (/.f32 %701 sinTheta_i) %655))))
(approx sinTheta_O sinTheta_O)
(approx %84 (+.f32 %510 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %708 (*.f32 #s(literal 1/2 binary32) (/.f32 %711 %95))))))
(approx %84 (+.f32 %510 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %708 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %720 %107) (*.f32 #s(literal 1/2 binary32) (/.f32 %710 %95))))))))
(approx %117 (fma.f32 #s(literal 1/2 binary32) %541 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %730 (*.f32 #s(literal 1/4 binary32) (/.f32 %711 %107))))))
(approx %117 (fma.f32 #s(literal 1/2 binary32) %541 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %730 (*.f32 sinTheta_O (fma.f32 #s(literal -1/12 binary32) (/.f32 %720 %135) (*.f32 #s(literal 1/4 binary32) (/.f32 %710 %107))))))))
(approx %145 (+.f32 %565 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %746 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 sinTheta_O %747) %95))))))
(approx %145 (+.f32 %565 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %746 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %718 %565)) %107) (*.f32 #s(literal 1/2 binary32) (/.f32 %747 %95))))))))
(approx %175 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %766 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 sinTheta_O %767) %95))) %593))
(approx %175 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %766 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %718 %593)) %107) (*.f32 #s(literal 1/2 binary32) (/.f32 %767 %95))))) %593))
(approx %203 (+.f32 %618 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %784 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 sinTheta_O %785) %95))))))
(approx %203 (+.f32 %618 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %784 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %718 %618)) %107) (*.f32 #s(literal 1/2 binary32) (/.f32 %785 %95))))))))
(approx %51 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %804 (+.f32 (/.f32 %19 sinTheta_O) %807)) %812)))
(approx %46 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %804 %807) %812)))
(approx %64 (*.f32 sinTheta_O (-.f32 %820 sinTheta_i)))
(approx %70 (*.f32 sinTheta_O (-.f32 %820 (+.f32 sinTheta_i %804))))
(approx %76 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal -1 binary32) %811 %807) %810)))
(approx %51 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %37 sinTheta_O)) %834))))
(approx %46 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %495 sinTheta_O)) %834))))
(approx %64 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) %820) %846))))
(approx %70 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %502 sinTheta_O)) %846))))
(approx %76 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) (/.f32 %701 sinTheta_O) %811))))
(approx v v)
(approx %31 %34)
(approx %48 %176)
(approx %49 %18)
(approx %50 %869)
(approx %16 (/.f32 (fma.f32 cosTheta_O cosTheta_i (*.f32 v %869)) v))
(approx %24 (/.f32 %877 v))
(approx %32 (/.f32 (-.f32 %877 #s(literal 1 binary32)) v))
(approx %51 %271)
(approx %51 (/.f32 (-.f32 %877 %71) v))
(approx %46 (/.f32 (-.f32 (fma.f32 #s(literal 6931/10000 binary32) v %6) %71) v))
(approx %891 %868)
(approx (+ 6931/10000 (+ (log 1/2) %891)) %875)
(approx %172 %898)
(approx %173 %900)
(approx %174 %902)
(approx %175 (*.f32 %902 %272))
(approx %50 %907)
(approx %16 %910)
(approx %24 %912)
(approx %24 %914)
(approx %32 (-.f32 %914 %34))
(approx %51 (-.f32 %914 %54))
(approx %46 #s(literal 6931/10000 binary32))
(approx %891 %906)
(approx %172 %923)
(approx %173 %925)
(approx %84 %927)
(approx %84 (+.f32 %927 %930))
(approx %84 (+.f32 %927 %936))
(approx %84 (+.f32 %927 (fma.f32 #s(literal 1/6 binary32) %941 %936)))
(approx %117 (*.f32 #s(literal 1/2 binary32) (/.f32 %927 v)))
(approx %117 (/.f32 %949 v))
(approx %117 (/.f32 %952 v))
(approx %117 (/.f32 (fma.f32 #s(literal 1/12 binary32) %941 %952) v))
(approx %145 #s(literal 1 binary32))
(approx %145 (-.f32 (+.f32 #s(literal 1 binary32) %11) %54))
(approx %145 (-.f32 (+.f32 #s(literal 1 binary32) %963) %54))
(approx %145 (-.f32 (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal 1/6 binary32) (/.f32 %939 %107) %963)) %54))
(approx %174 %972)
(approx %175 (+.f32 %972 %975))
(approx %175 (+.f32 %972 %980))
(approx %175 (+.f32 %972 (fma.f32 #s(literal 1/6 binary32) (/.f32 %983 %107) %980)))
(approx %203 %988)
(approx %203 (+.f32 %988 %991))
(approx %203 (+.f32 %988 %996))
(approx %203 (+.f32 %988 (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %988 %939) %107) %996)))
(approx %32 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %866 (+.f32 %906 (*.f32 #s(literal -1 binary32) (/.f32 %1005 v))))))
(approx %51 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %866 (+.f32 %906 %1014))))
(approx %46 (+.f32 #s(literal 6931/10000 binary32) %1014))
(approx %84 (+.f32 %927 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %929 (*.f32 #s(literal -1/2 binary32) %1021)) v))))
(approx %84 (+.f32 %927 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %929 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) %1028 (*.f32 #s(literal 1/2 binary32) %934)) v))) v))))
(approx %117 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %927 (*.f32 #s(literal -1/2 binary32) %930)) v)))
(approx %117 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/4 binary32) %1021 %1043) v) %1046) v)))
(approx %117 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) %934 (*.f32 #s(literal -1/12 binary32) %1028)) v) %1043) v) %1046) v)))
(approx %145 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %74 (*.f32 #s(literal -1/2 binary32) (/.f32 %933 v))) v))))
(approx %145 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %74 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) (/.f32 %939 v) (*.f32 #s(literal 1/2 binary32) %933)) v))) v))))
(approx %175 (+.f32 %972 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %974 (*.f32 #s(literal -1/2 binary32) (/.f32 %978 v))) v))))
(approx %175 (+.f32 %972 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %974 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) (/.f32 %983 v) (*.f32 #s(literal 1/2 binary32) %978)) v))) v))))
(approx %203 (+.f32 %988 (*.f32 #s(literal -1 binary32) (/.f32 %1095 v))))
(approx %203 (+.f32 %988 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1101 v) %1095) v))))
(approx %203 (+.f32 %988 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 %988 (pow.f32 %1012 #s(literal 3 binary32))) v) (*.f32 #s(literal 1/2 binary32) %1101)) v) %1095) v))))
Calls

15 calls:

TimeVariablePoint
27.0ms
cosTheta_O
inf
20.0ms
sinTheta_i
inf
12.0ms
cosTheta_O
0
11.0ms
sinTheta_O
0
11.0ms
sinTheta_i
0

rewrite1.9s (5.6%)

Counts
48 → 765
Calls
Call 1
Inputs
%2 = (*.f32 cosTheta_i cosTheta_O)
%6 = (*.f32 sinTheta_i sinTheta_O)
%8 = (/.f32 #s(literal 1 binary32) v)
%11 = (*.f32 #s(literal 2 binary32) v)
%12 = (/.f32 #s(literal 1 binary32) %11)
%13 = (log.f32 %12)
%14 = (*.f32 cosTheta_O cosTheta_i)
%15 = (/.f32 %14 v)
%17 = (/.f32 #s(literal 1/2 binary32) v)
%18 = (log.f32 %17)
%19 = (+.f32 %18 %15)
%20 = (+.f32 #s(literal 6931/10000 binary32) %19)
%21 = (-.f32 %20 %8)
%31 = (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000)
%36 = (+ %31 (log (/ 1 (* 2 v))))
%37 = (approx %36 %21)
%38 = (log.f32 #s(literal 1/2 binary32))
%39 = (approx %31 #s(literal 6931/10000 binary32))
%40 = (log.f32 %8)
%41 = (+.f32 %38 %40)
%42 = (+.f32 #s(literal 6931/10000 binary32) %41)
%43 = (approx %36 %42)
%44 = (-.f32 %2 %6)
%45 = (-.f32 %44 #s(literal 1 binary32))
%46 = (/.f32 %45 v)
%48 = (-.f32 %46 #s(literal -6931/10000 binary32))
%49 = (+.f32 v v)
%50 = (log.f32 %49)
%51 = (exp.f32 %50)
%52 = (-.f32 #s(literal 6931/10000 binary32) %50)
%53 = (exp.f32 %48)
%55 = (exp.f32 %46)
%56 = (exp.f32 %52)
%59 = (+.f32 %39 %13)
cosTheta_i
cosTheta_O
%2
v
sinTheta_i
sinTheta_O
%6
#s(literal 1 binary32)
%8
#s(literal 6931/10000 binary32)
#s(literal 2 binary32)
%11
%12
%13
%14
%15
#s(literal 1/2 binary32)
%17
%18
%19
%20
%21
%37
%38
%39
%40
%41
%42
%43
%44
%45
%46
#s(literal -6931/10000 binary32)
%48
%49
%50
%51
%52
%53
(*.f32 %53 %17)
%55
%56
(*.f32 %55 %56)
(/.f32 %53 %51)
%59
(exp.f32 %59)
(exp.f32 %37)
(exp.f32 %43)
Outputs
%2 = (*.f32 cosTheta_i cosTheta_O)
%3 = (*.f32 cosTheta_O cosTheta_i)
%7 = (*.f32 sinTheta_i sinTheta_O)
%33 = (/.f32 #s(literal 1 binary32) v)
%34 = (neg.f32 v)
%36 = (/.f32 #s(literal -1 binary32) v)
%38 = (neg.f32 %34)
%42 = (/.f32 #s(literal 1/2 binary32) v)
%66 = (cosh.f32 (/.f32 #s(literal 0 binary32) #s(literal 2 binary32)))
%69 = (+.f32 v v)
%70 = (*.f32 v #s(literal 2 binary32))
%71 = (*.f32 #s(literal 2 binary32) v)
%72 = (fabs.f32 %69)
%73 = (-.f32 v %34)
%75 = (*.f32 #s(literal -2 binary32) v)
%76 = (fabs.f32 %75)
%77 = (fabs.f32 v)
%78 = (*.f32 #s(literal 2 binary32) %77)
%79 = (*.f32 %77 #s(literal 2 binary32))
%80 = (neg.f32 %75)
%81 = (+.f32 v %38)
%82 = (*.f32 v #s(literal 1 binary32))
%83 = (fma.f32 v #s(literal 1 binary32) %82)
%84 = (*.f32 #s(literal 1 binary32) v)
%85 = (fma.f32 #s(literal 1 binary32) v %84)
%86 = (+.f32 %82 %82)
%87 = (+.f32 %84 %84)
%89 = (sqrt.f32 (*.f32 %69 %69))
%90 = (log.f32 %69)
%91 = (exp.f32 %90)
%93 = (/.f32 (-.f32 %69 %42) #s(literal 2 binary32))
%95 = (/.f32 (fma.f32 v #s(literal 2 binary32) %42) #s(literal 2 binary32))
%96 = (+.f32 %93 %95)
%97 = (+.f32 %95 %93)
%99 = (-.f32 %95 (neg.f32 %93))
%101 = (/.f32 #s(literal -1/2 binary32) %34)
%102 = (fabs.f32 %42)
%104 = (neg.f32 (/.f32 #s(literal -1/2 binary32) v))
%105 = (/.f32 #s(literal 1/2 binary32) %38)
%107 = (neg.f32 (/.f32 #s(literal 1/2 binary32) %34))
%108 = (/.f32 #s(literal 1 binary32) %69)
%109 = (/.f32 #s(literal -1 binary32) %75)
%110 = (*.f32 #s(literal 1 binary32) %42)
%111 = (*.f32 %33 #s(literal 1/2 binary32))
%112 = (*.f32 %42 #s(literal 1 binary32))
%113 = (*.f32 #s(literal 1/2 binary32) %33)
%114 = (*.f32 #s(literal -1/2 binary32) %36)
%116 = (*.f32 (/.f32 #s(literal 2 binary32) v) #s(literal 1/4 binary32))
%118 = (neg.f32 (/.f32 #s(literal -1 binary32) %69))
%120 = (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 1/2 binary32)))
%121 = (/.f32 %33 #s(literal 2 binary32))
%122 = (/.f32 #s(literal 1 binary32) %75)
%123 = (neg.f32 %122)
%125 = (/.f32 #s(literal 1 binary32) (/.f32 %34 #s(literal -1/2 binary32)))
%127 = (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) %69))
%129 = (*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %42))
%130 = (*.f32 #s(literal -1 binary32) %122)
%132 = (/.f32 #s(literal 1 binary32) (/.f32 %69 #s(literal 1 binary32)))
%134 = (/.f32 #s(literal 1 binary32) (/.f32 %75 #s(literal -1 binary32)))
%135 = (pow.f32 %69 #s(literal -1 binary32))
%136 = (neg.f32 %90)
%137 = (exp.f32 %136)
%139 = (exp.f32 (*.f32 %90 #s(literal -1 binary32)))
%141 = (/.f32 #s(literal 1 binary32) (pow.f32 %69 #s(literal 1 binary32)))
%142 = (-.f32 %95 %93)
%143 = (log.f32 #s(literal 1/2 binary32))
%144 = (exp.f32 %143)
%145 = (log.f32 v)
%147 = (/.f32 %144 (exp.f32 %145))
%148 = (neg.f32 %145)
%149 = (exp.f32 %148)
%150 = (*.f32 %144 %149)
%151 = (*.f32 %149 %144)
%152 = (log.f32 %77)
%154 = (/.f32 %144 (exp.f32 %152))
%156 = (+.f32 %95 (sinh.f32 %136))
%157 = (log.f32 %42)
%159 = (log.f32 (/.f32 #s(literal 1/2 binary32) %77))
%160 = (-.f32 #s(literal 0 binary32) %90)
%161 = (*.f32 #s(literal -1 binary32) %90)
%162 = (+.f32 #s(literal 0 binary32) %136)
%163 = (-.f32 %143 %145)
%164 = (+.f32 %143 %148)
%165 = (+.f32 %148 %143)
%166 = (-.f32 %143 %152)
%167 = (neg.f32 %152)
%168 = (+.f32 %143 %167)
%169 = (neg.f32 %143)
%170 = (-.f32 %148 %169)
%171 = (fma.f32 #s(literal -1 binary32) %152 %143)
%173 = (-.f32 (+.f32 %143 #s(literal 0 binary32)) %152)
%175 = (log.f32 (fabs.f32 %33))
%176 = (+.f32 %143 %175)
%177 = (/.f32 %2 v)
%178 = (/.f32 cosTheta_O v)
%180 = (/.f32 cosTheta_i v)
%184 = (neg.f32 cosTheta_i)
%185 = (*.f32 %184 cosTheta_O)
%187 = (*.f32 %184 %178)
%189 = (*.f32 %2 #s(literal 1 binary32))
%215 = (-.f32 %177 %90)
%223 = (fma.f32 cosTheta_i (neg.f32 %178) %90)
%229 = (-.f32 %90 %177)
%232 = (fma.f32 %136 v %2)
%237 = (fma.f32 %180 cosTheta_O %143)
%251 = (+.f32 %148 %177)
%253 = (+.f32 %143 %177)
%266 = (-.f32 %143 %187)
%272 = (-.f32 #s(literal 6931/10000 binary32) %90)
%273 = (fma.f32 cosTheta_i %178 %272)
%283 = (fma.f32 %180 cosTheta_O #s(literal 6931/10000 binary32))
%286 = (+.f32 #s(literal 6931/10000 binary32) %177)
%307 = (+.f32 %143 #s(literal 6931/10000 binary32))
%313 = (-.f32 %273 %33)
%315 = (/.f32 (-.f32 %232 #s(literal 1 binary32)) v)
%318 = (-.f32 #s(literal 6931/10000 binary32) %33)
%320 = (+.f32 #s(literal 6931/10000 binary32) %36)
%332 = (fma.f32 %273 v #s(literal -1 binary32))
%356 = (+ (/ (+ (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) -1) v) 6931/10000)
%360 = (+ %356 (log (/ 1/2 v)))
%361 = (approx %360 %313)
%362 = (log.f32 #s(literal 2 binary32))
%365 = (approx %356 #s(literal 6931/10000 binary32))
%373 = (+.f32 #s(literal 6931/10000 binary32) %136)
%374 = (+.f32 %136 #s(literal 6931/10000 binary32))
%375 = (-.f32 %90 #s(literal 6931/10000 binary32))
%376 = (neg.f32 %375)
%378 = (neg.f32 (+.f32 #s(literal -6931/10000 binary32) %90))
%379 = (-.f32 %136 #s(literal -6931/10000 binary32))
%380 = (fma.f32 #s(literal -1 binary32) %90 #s(literal 6931/10000 binary32))
%381 = (-.f32 #s(literal 0 binary32) %375)
%383 = (-.f32 %143 (-.f32 %145 #s(literal 6931/10000 binary32)))
%384 = (-.f32 %307 %145)
%386 = (+.f32 %143 (+.f32 %148 #s(literal 6931/10000 binary32)))
%387 = (+.f32 %148 %307)
%388 = (+.f32 %307 %148)
%390 = (+.f32 (+.f32 #s(literal 6931/10000 binary32) %148) %143)
%392 = (-.f32 %143 (-.f32 %152 #s(literal 6931/10000 binary32)))
%393 = (-.f32 %307 %152)
%394 = (fma.f32 #s(literal -1 binary32) %152 %307)
%396 = (-.f32 (+.f32 %307 #s(literal 0 binary32)) %152)
%397 = (approx %360 %272)
%398 = (-.f32 %2 %7)
%399 = (neg.f32 sinTheta_i)
%400 = (*.f32 %399 sinTheta_O)
%403 = (neg.f32 sinTheta_O)
%410 = (-.f32 %7 %2)
%417 = (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))
%418 = (-.f32 %2 %417)
%419 = (neg.f32 %417)
%421 = (fma.f32 %399 sinTheta_O #s(literal -1 binary32))
%430 = (-.f32 %400 #s(literal 1 binary32))
%433 = (-.f32 %417 %2)
%439 = (/.f32 %418 v)
%441 = (/.f32 %433 v)
%446 = (*.f32 %418 #s(literal 1 binary32))
%453 = (/.f32 %417 v)
%457 = (*.f32 %433 %33)
%459 = (neg.f32 %453)
%464 = (/.f32 %398 v)
%477 = (fma.f32 %464 v #s(literal -1 binary32))
%486 = (-.f32 (*.f32 %177 v) %7)
%489 = (/.f32 sinTheta_O v)
%490 = (fma.f32 %399 %489 %36)
%497 = (*.f32 %399 %489)
%498 = (-.f32 %497 %33)
%511 = (*.f32 v v)
%523 = (*.f32 v #s(literal -1 binary32))
%525 = (*.f32 v %34)
%537 = (-.f32 (*.f32 %2 v) (*.f32 (*.f32 v sinTheta_i) sinTheta_O))
%538 = (/.f32 #s(literal 1 binary32) %511)
%560 = (-.f32 %439 #s(literal -6931/10000 binary32))
%561 = (-.f32 #s(literal -6931/10000 binary32) %439)
%576 = (-.f32 %36 #s(literal -6931/10000 binary32))
%578 = (+.f32 %36 #s(literal 6931/10000 binary32))
%580 = (+.f32 #s(literal 6931/10000 binary32) %464)
%584 = (-.f32 %33 #s(literal 6931/10000 binary32))
%587 = (neg.f32 %584)
%600 = (-.f32 %497 %584)
%629 = (exp.f32 %560)
%631 = (neg.f32 %629)
%635 = (exp.f32 %439)
%636 = (exp.f32 #s(literal 6931/10000 binary32))
%639 = (exp.f32 #s(literal -6931/10000 binary32))
%641 = (neg.f32 %635)
%646 = (exp.f32 %464)
%649 = (sinh.f32 %560)
%650 = (cosh.f32 %560)
%659 = (cosh.f32 %439)
%661 = (sinh.f32 %439)
%664 = (/.f32 %629 %69)
%665 = (*.f32 %629 #s(literal 1/2 binary32))
%666 = (/.f32 %665 v)
%667 = (*.f32 %42 %629)
%668 = (*.f32 %629 %42)
%669 = (fabs.f32 %664)
%671 = (/.f32 (/.f32 %629 v) #s(literal 2 binary32))
%673 = (/.f32 (*.f32 %629 #s(literal -1/2 binary32)) %34)
%675 = (/.f32 (*.f32 #s(literal -1/2 binary32) %629) %34)
%676 = (/.f32 %631 %75)
%678 = (neg.f32 (/.f32 %629 %75))
%680 = (/.f32 (neg.f32 %631) %69)
%682 = (fabs.f32 (neg.f32 %664))
%684 = (neg.f32 (/.f32 %631 %69))
%686 = (/.f32 (neg.f32 %665) %34)
%687 = (*.f32 %629 #s(literal 1 binary32))
%688 = (/.f32 %687 %69)
%690 = (/.f32 (*.f32 #s(literal 1 binary32) %629) %69)
%691 = (*.f32 #s(literal 1 binary32) %664)
%693 = (/.f32 (*.f32 %629 #s(literal -1 binary32)) %75)
%695 = (/.f32 (*.f32 #s(literal -1 binary32) %629) %75)
%697 = (*.f32 #s(literal 1/2 binary32) (*.f32 %33 %629))
%698 = (*.f32 %665 %33)
%699 = (*.f32 %687 %42)
%701 = (/.f32 #s(literal 1 binary32) (/.f32 %69 %629))
%703 = (/.f32 #s(literal 1 binary32) (/.f32 v %665))
%704 = (*.f32 %631 %122)
%705 = (-.f32 %439 %375)
%706 = (exp.f32 %705)
%708 = (/.f32 #s(literal 1 binary32) (/.f32 %75 %631))
%709 = (*.f32 %639 %69)
%710 = (/.f32 %635 %709)
%711 = (/.f32 %636 %69)
%712 = (*.f32 %635 %711)
%713 = (*.f32 %711 %635)
%716 = (/.f32 (*.f32 %635 #s(literal 1/2 binary32)) (*.f32 %639 v))
%719 = (/.f32 (*.f32 #s(literal 1/2 binary32) %635) (*.f32 v %639))
%721 = (/.f32 (*.f32 %635 %42) %639)
%723 = (/.f32 (*.f32 %42 %635) %639)
%726 = (/.f32 (*.f32 %635 #s(literal -1/2 binary32)) (*.f32 %639 %34))
%729 = (/.f32 (*.f32 #s(literal -1/2 binary32) %635) (*.f32 %34 %639))
%731 = (/.f32 (*.f32 %635 #s(literal 1 binary32)) %709)
%734 = (/.f32 (*.f32 #s(literal 1 binary32) %635) (*.f32 %69 %639))
%737 = (/.f32 (*.f32 %635 #s(literal -1 binary32)) (*.f32 %639 %75))
%740 = (/.f32 (*.f32 #s(literal -1 binary32) %635) (*.f32 %75 %639))
%743 = (+.f32 (/.f32 %650 %69) (/.f32 %649 %69))
%744 = (*.f32 %42 %649)
%745 = (fma.f32 %42 %650 %744)
%746 = (*.f32 %649 %42)
%747 = (fma.f32 %650 %42 %746)
%749 = (sqrt.f32 (*.f32 %664 %664))
%751 = (+.f32 (*.f32 %650 %42) %746)
%753 = (+.f32 (*.f32 %42 %650) %744)
%754 = (sinh.f32 %705)
%755 = (cosh.f32 %705)
%756 = (+.f32 %754 %755)
%757 = (+.f32 %755 %754)
%759 = (-.f32 %755 (neg.f32 %754))
%760 = (*.f32 %711 %661)
%761 = (fma.f32 %711 %659 %760)
%762 = (*.f32 %661 %711)
%763 = (fma.f32 %659 %711 %762)
%765 = (+.f32 (*.f32 %711 %659) %760)
%767 = (+.f32 (*.f32 %659 %711) %762)
%768 = (cosh.f32 %272)
%769 = (sinh.f32 %272)
%770 = (*.f32 %635 %769)
%771 = (fma.f32 %635 %768 %770)
%772 = (*.f32 %769 %635)
%773 = (fma.f32 %768 %635 %772)
%775 = (+.f32 (*.f32 %635 %768) %770)
%777 = (+.f32 (*.f32 %768 %635) %772)
%825 = (+.f32 %365 %136)
cosTheta_i
cosTheta_O
%2
%3
v
sinTheta_i
sinTheta_O
%7
(*.f32 sinTheta_O sinTheta_i)
#s(literal 1 binary32)
(fabs.f32 #s(literal 1 binary32))
(fabs.f32 #s(literal -1 binary32))
(neg.f32 #s(literal -1 binary32))
(sqrt.f32 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 0 binary32))
(+.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 2 binary32))
(/.f32 #s(literal 2 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/4 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 0 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
%33
(/.f32 #s(literal -1 binary32) %34)
(neg.f32 %36)
(/.f32 #s(literal 1 binary32) %38)
(*.f32 #s(literal 1 binary32) %33)
(*.f32 %33 #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) %42)
(*.f32 #s(literal -1 binary32) %36)
(/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 1 binary32)))
(/.f32 #s(literal 1 binary32) (/.f32 %34 #s(literal -1 binary32)))
(pow.f32 v #s(literal -1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 v #s(literal 1 binary32)))
#s(literal 6931/10000 binary32)
(neg.f32 #s(literal -6931/10000 binary32))
(+.f32 #s(literal 6931/10000 binary32) #s(literal 0 binary32))
#s(literal 2 binary32)
(fabs.f32 #s(literal 2 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 4 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) (*.f32 %66 %66))
%69
%70
%71
%72
%73
%76
%78
%79
%80
%81
%83
%85
%86
%87
%89
%91
%96
%97
%99
%42
%101
%102
%104
%105
%107
%108
%109
%110
%111
%112
%113
%114
%116
%118
%120
%121
%123
%125
%127
%129
%130
%132
%134
%135
%137
%139
%141
%142
%147
%150
%151
%154
%156
%136
%157
%159
%160
%161
%162
%163
%164
%165
%166
%168
%170
%171
%173
%176
%2
%3
%177
(*.f32 cosTheta_i %178)
(*.f32 cosTheta_O %180)
(*.f32 %180 cosTheta_O)
(*.f32 %178 cosTheta_i)
(/.f32 %185 %34)
(neg.f32 %187)
(/.f32 %189 v)
(*.f32 %2 %33)
(*.f32 %33 %2)
(/.f32 #s(literal 1 binary32) (/.f32 v %2))
(/.f32 (neg.f32 %185) %38)
(/.f32 (*.f32 %2 #s(literal -1 binary32)) %34)
(*.f32 %185 %36)
(/.f32 #s(literal 1 binary32) (/.f32 %34 %185))
(*.f32 %189 %33)
#s(literal 1/2 binary32)
(fabs.f32 #s(literal 1/2 binary32))
(fabs.f32 #s(literal -1/2 binary32))
(neg.f32 #s(literal -1/2 binary32))
(sqrt.f32 #s(literal 1/4 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/4 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) #s(literal 2 binary32))
(/.f32 #s(literal -1 binary32) #s(literal -2 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) #s(literal 1 binary32)))
(pow.f32 #s(literal 2 binary32) #s(literal -1 binary32))
%42
%101
%102
%104
%105
%107
%108
%109
%110
%111
%112
%113
%114
%116
%118
%120
%121
%123
%125
%127
%129
%130
%132
%134
%135
%137
%139
%141
%142
%147
%150
%151
%154
%156
%136
%157
%159
%160
%161
%162
%163
%164
%165
%166
%168
%170
%171
%173
%176
%215
(fma.f32 cosTheta_i %178 %136)
(fma.f32 cosTheta_O %180 %136)
(fma.f32 %180 cosTheta_O %136)
(fma.f32 %178 cosTheta_i %136)
(+.f32 %136 %177)
(+.f32 %177 %136)
(neg.f32 %223)
(-.f32 %136 %187)
(-.f32 (fma.f32 %180 cosTheta_O #s(literal 0 binary32)) %90)
(fma.f32 #s(literal -1 binary32) %90 %177)
(-.f32 #s(literal 0 binary32) %229)
(-.f32 #s(literal 0 binary32) %223)
(/.f32 %232 v)
(fma.f32 %2 %33 %136)
(fma.f32 %33 %2 %136)
(fma.f32 %185 %36 %136)
(-.f32 %237 %145)
(/.f32 (neg.f32 %232) %34)
(-.f32 %143 (-.f32 %145 %177))
(+.f32 %237 %148)
(+.f32 (fma.f32 cosTheta_i %178 %148) %143)
(-.f32 %237 %152)
(/.f32 (fma.f32 %136 %34 %185) %34)
(fma.f32 %189 %33 %136)
(*.f32 %232 %33)
(+.f32 %143 %251)
(+.f32 %148 %253)
(-.f32 %143 (-.f32 %152 %177))
(-.f32 %143 (+.f32 %145 %187))
(/.f32 #s(literal 1 binary32) (/.f32 v %232))
(+.f32 (/.f32 (*.f32 %136 v) v) %177)
(+.f32 %143 (-.f32 %148 %187))
(+.f32 %148 %266)
(-.f32 %143 (+.f32 %152 %187))
(fma.f32 #s(literal -1 binary32) %152 %253)
(fma.f32 #s(literal -1 binary32) %152 %266)
%273
(fma.f32 cosTheta_O %180 %272)
(fma.f32 %180 cosTheta_O %272)
(fma.f32 %178 cosTheta_i %272)
(+.f32 #s(literal 6931/10000 binary32) %215)
(+.f32 %177 %272)
(+.f32 %215 #s(literal 6931/10000 binary32))
(+.f32 %272 %177)
(-.f32 #s(literal 6931/10000 binary32) %229)
(-.f32 %215 #s(literal -6931/10000 binary32))
(+.f32 %136 %283)
(-.f32 #s(literal 6931/10000 binary32) %223)
(+.f32 %136 %286)
(+.f32 %286 %136)
(-.f32 %272 %187)
(neg.f32 (-.f32 %223 #s(literal 6931/10000 binary32)))
(fma.f32 #s(literal -1 binary32) %90 %283)
(-.f32 %136 (-.f32 %187 #s(literal 6931/10000 binary32)))
(/.f32 (fma.f32 %272 v %2) v)
(fma.f32 %2 %33 %272)
(fma.f32 %33 %2 %272)
(fma.f32 #s(literal -1 binary32) %90 %286)
(fma.f32 %185 %36 %272)
(/.f32 (fma.f32 %272 %34 %185) %34)
(fma.f32 %189 %33 %272)
(/.f32 (fma.f32 #s(literal 6931/10000 binary32) v %232) v)
(fma.f32 %232 %33 #s(literal 6931/10000 binary32))
(+.f32 %307 %251)
(+.f32 %273 %36)
(+.f32 %272 (fma.f32 %180 cosTheta_O %36))
(+.f32 %36 %273)
%313
(+.f32 #s(literal 6931/10000 binary32) %315)
(+.f32 %315 #s(literal 6931/10000 binary32))
(+.f32 %215 %318)
(+.f32 %215 %320)
(+.f32 %272 (-.f32 %177 %33))
(neg.f32 (-.f32 %33 %273))
(-.f32 #s(literal 6931/10000 binary32) (-.f32 %223 %36))
(-.f32 #s(literal 6931/10000 binary32) (+.f32 %223 %33))
(-.f32 #s(literal 6931/10000 binary32) (neg.f32 %315))
(/.f32 %332 v)
(fma.f32 #s(literal 1 binary32) %36 %273)
(fma.f32 #s(literal -1 binary32) %33 %273)
(/.f32 (neg.f32 %332) %34)
(/.f32 (-.f32 (*.f32 %273 %34) #s(literal -1 binary32)) %34)
(*.f32 %332 %33)
(/.f32 #s(literal 1 binary32) (/.f32 v %332))
(fma.f32 %232 %33 %318)
(fma.f32 %232 %33 %320)
(-.f32 (/.f32 (*.f32 %273 v) v) %33)
%361
%143
(neg.f32 %362)
(-.f32 #s(literal 0 binary32) %362)
%365
%148
(-.f32 #s(literal 0 binary32) %152)
(log.f32 %33)
(*.f32 #s(literal -1 binary32) %152)
(+.f32 #s(literal 0 binary32) %167)
(log.f32 (/.f32 #s(literal 1 binary32) %77))
(+.f32 #s(literal 0 binary32) %175)
%136
%157
%159
%160
%161
%162
%163
%164
%165
%166
%168
%170
%171
%173
%176
%272
%373
%374
%376
%378
%379
%380
%381
%383
%384
%386
%387
%388
%390
%392
%393
%394
%396
%397
%398
(fma.f32 cosTheta_i cosTheta_O %400)
(fma.f32 cosTheta_O cosTheta_i %400)
(fma.f32 sinTheta_i %403 %2)
(fma.f32 sinTheta_O %399 %2)
(fma.f32 %399 sinTheta_O %2)
(fma.f32 %403 sinTheta_i %2)
(+.f32 %2 %400)
(+.f32 %400 %2)
(neg.f32 %410)
(-.f32 %2 (*.f32 (neg.f32 %399) sinTheta_O))
(-.f32 %2 (neg.f32 %400))
%418
(fma.f32 cosTheta_i cosTheta_O %419)
(fma.f32 cosTheta_i cosTheta_O %421)
(fma.f32 cosTheta_O cosTheta_i %419)
(fma.f32 cosTheta_O cosTheta_i %421)
(+.f32 %398 #s(literal -1 binary32))
(+.f32 #s(literal -1 binary32) %398)
(-.f32 %398 #s(literal 1 binary32))
(+.f32 %2 %419)
(+.f32 %2 %421)
(fma.f32 cosTheta_i cosTheta_O %430)
(fma.f32 cosTheta_O cosTheta_i %430)
(neg.f32 %433)
(+.f32 %2 %430)
(fma.f32 #s(literal 1 binary32) #s(literal -1 binary32) %398)
(fma.f32 #s(literal 2 binary32) #s(literal -1/2 binary32) %398)
(fma.f32 #s(literal -2 binary32) #s(literal 1/2 binary32) %398)
%439
(/.f32 %433 %34)
(neg.f32 %441)
(/.f32 %418 %38)
(neg.f32 (/.f32 %418 %34))
(/.f32 %446 v)
(*.f32 %33 %418)
(*.f32 %418 %33)
(*.f32 %433 %36)
(/.f32 #s(literal 1 binary32) (/.f32 v %418))
(-.f32 %177 %453)
(/.f32 (*.f32 %418 #s(literal -1 binary32)) %34)
(neg.f32 %457)
(fma.f32 cosTheta_i %178 %459)
(fma.f32 cosTheta_O %180 %459)
(fma.f32 %180 cosTheta_O %459)
(fma.f32 %178 cosTheta_i %459)
(+.f32 %36 %464)
(+.f32 %464 %36)
(-.f32 %464 %33)
(+.f32 %177 %459)
(/.f32 #s(literal 1 binary32) (/.f32 %34 %433))
(neg.f32 (-.f32 %453 %177))
(neg.f32 (+.f32 (/.f32 %410 v) %33))
(*.f32 %446 %33)
(/.f32 %477 v)
(fma.f32 #s(literal 1 binary32) %36 %464)
(fma.f32 %33 %398 %36)
(fma.f32 %398 %33 %36)
(fma.f32 #s(literal -1 binary32) %33 %464)
(fma.f32 %2 %33 %459)
(fma.f32 %33 %2 %459)
(/.f32 (-.f32 %486 #s(literal 1 binary32)) v)
(fma.f32 cosTheta_i %178 %490)
(fma.f32 cosTheta_O %180 %490)
(fma.f32 %180 cosTheta_O %490)
(fma.f32 %178 cosTheta_i %490)
(fma.f32 %185 %36 %459)
(+.f32 %177 %490)
(fma.f32 cosTheta_i %178 %498)
(fma.f32 cosTheta_O %180 %498)
(fma.f32 %180 cosTheta_O %498)
(fma.f32 %178 cosTheta_i %498)
(/.f32 (neg.f32 %477) %34)
(+.f32 %177 %498)
(/.f32 (-.f32 (*.f32 %464 %34) #s(literal -1 binary32)) %34)
(/.f32 (-.f32 (*.f32 %398 v) %82) %511)
(*.f32 %477 %33)
(fma.f32 %189 %33 %459)
(/.f32 #s(literal 1 binary32) (/.f32 v %477))
(fma.f32 %2 %33 %490)
(fma.f32 %33 %2 %490)
(-.f32 (/.f32 (*.f32 %464 v) v) %33)
(/.f32 (-.f32 (*.f32 %398 %34) %523) %525)
(fma.f32 %2 %33 %498)
(fma.f32 %33 %2 %498)
(fma.f32 %185 %36 %490)
(fma.f32 %185 %36 %498)
(fma.f32 %486 %33 %36)
(fma.f32 %189 %33 %490)
(fma.f32 %189 %33 %498)
(fma.f32 %537 %538 %36)
(/.f32 (-.f32 (*.f32 %486 v) %82) %511)
(/.f32 (-.f32 (*.f32 %486 %34) %523) %525)
(/.f32 (-.f32 (*.f32 %537 v) (*.f32 %511 #s(literal 1 binary32))) (*.f32 %511 v))
(/.f32 (-.f32 (*.f32 %537 %34) (*.f32 %511 #s(literal -1 binary32))) (*.f32 %511 %34))
#s(literal -6931/10000 binary32)
(neg.f32 #s(literal 6931/10000 binary32))
(+.f32 #s(literal 6931/10000 binary32) %439)
(+.f32 %439 #s(literal 6931/10000 binary32))
(-.f32 #s(literal 6931/10000 binary32) %441)
%560
(neg.f32 %561)
(neg.f32 (+.f32 %441 #s(literal -6931/10000 binary32)))
(/.f32 (fma.f32 #s(literal 6931/10000 binary32) v %418) v)
(fma.f32 %33 %418 #s(literal 6931/10000 binary32))
(fma.f32 %418 %33 #s(literal 6931/10000 binary32))
(fma.f32 %433 %36 #s(literal 6931/10000 binary32))
(-.f32 #s(literal 6931/10000 binary32) %457)
(-.f32 %177 (+.f32 %453 #s(literal -6931/10000 binary32)))
(-.f32 %177 (-.f32 %453 #s(literal 6931/10000 binary32)))
(-.f32 %286 %453)
(+.f32 %464 %576)
(+.f32 %464 %578)
(+.f32 %580 %36)
(/.f32 (fma.f32 #s(literal 6931/10000 binary32) %34 %433) %34)
(-.f32 %464 %584)
(-.f32 %580 %33)
(+.f32 %464 %587)
(neg.f32 (-.f32 %584 %464))
(fma.f32 %446 %33 #s(literal 6931/10000 binary32))
(fma.f32 %33 %398 %576)
(fma.f32 %33 %398 %578)
(fma.f32 %398 %33 %576)
(fma.f32 %398 %33 %578)
(-.f32 %177 (fma.f32 sinTheta_i %489 %584))
(fma.f32 %33 %398 %587)
(fma.f32 %398 %33 %587)
(fma.f32 cosTheta_i %178 %600)
(fma.f32 cosTheta_O %180 %600)
(fma.f32 %180 cosTheta_O %600)
(fma.f32 %178 cosTheta_i %600)
(+.f32 %177 %600)
(/.f32 (fma.f32 #s(literal 6931/10000 binary32) v %477) v)
(fma.f32 %477 %33 #s(literal 6931/10000 binary32))
(fma.f32 %2 %33 %600)
(fma.f32 %33 %2 %600)
(fma.f32 %185 %36 %600)
(fma.f32 %486 %33 %576)
(fma.f32 %486 %33 %578)
(fma.f32 %189 %33 %600)
(fma.f32 %486 %33 %587)
(fma.f32 %537 %538 %576)
(fma.f32 %537 %538 %578)
(fma.f32 %537 %538 %587)
%69
%70
%71
%72
%73
%76
%78
%79
%80
%81
%83
%85
%86
%87
%89
%91
%96
%97
%99
%90
(neg.f32 %136)
(-.f32 %90 #s(literal 0 binary32))
(log.f32 (/.f32 #s(literal 1 binary32) %42))
(-.f32 %145 %143)
(+.f32 %145 %169)
(+.f32 %362 %152)
(+.f32 %169 %145)
(+.f32 %152 %362)
(-.f32 %152 %143)
%69
%70
%71
%72
%73
%76
%78
%79
%80
%81
%83
%85
%86
%87
%89
%91
%96
%97
%99
%272
%373
%374
%376
%378
%379
%380
%381
%383
%384
%386
%387
%388
%390
%392
%393
%394
%396
%629
(fabs.f32 %629)
(fabs.f32 %631)
(/.f32 #s(literal 1 binary32) (exp.f32 %561))
(*.f32 %635 %636)
(*.f32 %636 %635)
(/.f32 %635 %639)
(/.f32 %641 (neg.f32 %639))
(/.f32 #s(literal 1 binary32) (/.f32 %639 %635))
(/.f32 %646 (exp.f32 %584))
(+.f32 %649 %650)
(+.f32 %650 %649)
(-.f32 %650 (sinh.f32 %561))
(sqrt.f32 (*.f32 %629 %629))
(-.f32 %650 (neg.f32 %649))
(+.f32 (/.f32 %659 %639) (/.f32 %661 %639))
%664
%666
%667
%668
%669
%671
%673
%675
%676
%678
%680
%682
%684
%686
%688
%690
%691
%693
%695
%697
%698
%699
%701
%703
%704
%706
%708
%710
%712
%713
%716
%719
%721
%723
%726
%729
%731
%734
%737
%740
%743
%745
%747
%749
%751
%753
%756
%757
%759
%761
%763
%765
%767
%771
%773
%775
%777
%635
(fabs.f32 %635)
(fabs.f32 %641)
(/.f32 #s(literal 1 binary32) (exp.f32 %441))
(*.f32 %646 (exp.f32 %36))
(/.f32 (exp.f32 %177) (exp.f32 %453))
(/.f32 %646 (exp.f32 %33))
(pow.f32 (exp.f32 %418) %33)
(+.f32 %661 %659)
(+.f32 %659 %661)
(-.f32 %659 (sinh.f32 %441))
(sqrt.f32 (*.f32 %635 %635))
(-.f32 %659 (neg.f32 %661))
%711
(*.f32 %42 %636)
(*.f32 %636 %42)
(fabs.f32 %711)
(/.f32 (/.f32 %636 v) #s(literal 2 binary32))
(/.f32 (/.f32 %636 #s(literal 2 binary32)) v)
(/.f32 (neg.f32 %636) %75)
(fabs.f32 (neg.f32 %711))
(/.f32 #s(literal 1 binary32) (/.f32 %69 %636))
(exp.f32 %272)
(/.f32 #s(literal 1 binary32) (exp.f32 %375))
(sqrt.f32 (*.f32 %711 %711))
(*.f32 (exp.f32 %307) %149)
(+.f32 %769 %768)
(+.f32 %768 %769)
(-.f32 %768 (sinh.f32 %375))
(-.f32 %768 (neg.f32 %769))
%664
%666
%667
%668
%669
%671
%673
%675
%676
%678
%680
%682
%684
%686
%688
%690
%691
%693
%695
%697
%698
%699
%701
%703
%704
%706
%708
%710
%712
%713
%716
%719
%721
%723
%726
%729
%731
%734
%737
%740
%743
%745
%747
%749
%751
%753
%756
%757
%759
%761
%763
%765
%767
%771
%773
%775
%777
%664
%666
%667
%668
%669
%671
%673
%675
%676
%678
%680
%682
%684
%686
%688
%690
%691
%693
%695
%697
%698
%699
%701
%703
%704
%706
%708
%710
%712
%713
%716
%719
%721
%723
%726
%729
%731
%734
%737
%740
%743
%745
%747
%749
%751
%753
%756
%757
%759
%761
%763
%765
%767
%771
%773
%775
%777
%825
(exp.f32 %825)
(exp.f32 %361)
(exp.f32 %397)

reconstruct506.0ms (1.5%)

Counts
978 → 314
Compiler

Compiled 978 to 1 652 computations (-68.9% saved)

eval176.0ms (0.5%)

Compiler

Compiled 383 to 1 453 computations (-279.4% saved)

prune46.0ms (0.1%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New36815383
Fresh000
Picked606
Done000
Total37415389
Accuracy
99.7%
Counts
389 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
8.7%
%56 = (/.f32 #s(literal 1/2 binary32) v)
(/.f32 (exp.f32 (-.f32 (/.f32 (-.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) #s(literal 1 binary32)) v) #s(literal -6931/10000 binary32))) (+.f32 (/.f32 (-.f32 (+.f32 v v) %56) #s(literal 2 binary32)) (/.f32 (fma.f32 v #s(literal 2 binary32) %56) #s(literal 2 binary32))))
99.7%
(/.f32 (exp.f32 (-.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (-.f32 (*.f32 cosTheta_O cosTheta_i) #s(literal 1 binary32))) v) #s(literal -6931/10000 binary32))) (exp.f32 (log.f32 (+.f32 v v))))
99.6%
(*.f32 (pow.f32 (exp.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32)))) (/.f32 #s(literal 1 binary32) v)) (exp.f32 (-.f32 #s(literal 6931/10000 binary32) (log.f32 (+.f32 v v)))))
99.7%
(*.f32 (exp.f32 (/.f32 (-.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) #s(literal 1 binary32)) v)) (*.f32 (exp.f32 (+.f32 (log.f32 #s(literal 1/2 binary32)) #s(literal 6931/10000 binary32))) (exp.f32 (neg.f32 (log.f32 v)))))
99.7%
(*.f32 (exp.f32 (/.f32 (-.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) #s(literal 1 binary32)) v)) (exp.f32 (-.f32 (log.f32 #s(literal 1/2 binary32)) (-.f32 (log.f32 v) #s(literal 6931/10000 binary32)))))
99.7%
(*.f32 (exp.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))) v)) (/.f32 (exp.f32 #s(literal 6931/10000 binary32)) (+.f32 v v)))
99.7%
(*.f32 (exp.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (-.f32 (*.f32 cosTheta_O cosTheta_i) #s(literal 1 binary32))) v)) (exp.f32 (-.f32 #s(literal 6931/10000 binary32) (log.f32 (+.f32 v v)))))
99.7%
(*.f32 (exp.f32 (-.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (-.f32 (*.f32 cosTheta_O cosTheta_i) #s(literal 1 binary32))) v) #s(literal -6931/10000 binary32))) (/.f32 #s(literal 1/2 binary32) v))
4.7%
(*.f32 (approx (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) (exp.f32 #s(literal 6931/10000 binary32))) (/.f32 #s(literal 1/2 binary32) v))
4.7%
(exp.f32 (approx (+ (+ (/ (+ (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) -1) v) 6931/10000) (log (/ 1/2 v))) (-.f32 #s(literal 6931/10000 binary32) (log.f32 (+.f32 v v)))))
97.2%
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (/.f32 (-.f32 (*.f32 cosTheta_O cosTheta_i) (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O sinTheta_i))) v)))
99.6%
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (-.f32 (+.f32 #s(literal 6931/10000 binary32) (approx (+ (log (/ 1/2 v)) (/ (* cosTheta_O cosTheta_i) v)) (log.f32 (/.f32 #s(literal 1/2 binary32) v)))) (/.f32 #s(literal 1 binary32) v))))
99.6%
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (+.f32 #s(literal 6931/10000 binary32) (/.f32 (-.f32 (fma.f32 (neg.f32 (log.f32 (+.f32 v v))) v (*.f32 cosTheta_i cosTheta_O)) #s(literal 1 binary32)) v))))
9.9%
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (*.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) v))))
4.7%
(approx (* (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) (/ 1/2 v)) (*.f32 #s(literal 1/2 binary32) (/.f32 (exp.f32 #s(literal 6931/10000 binary32)) v)))
Compiler

Compiled 15 to 85 computations (-466.7% saved)

sample7.0ms (0.0%)

Calls
Call 1
Inputs
%1 = (log 1/2)
%4 = (+ %1 6931/10000)
%1
(exp 6931/10000)
%4
(exp %4)
Outputs
#s(literal -1453635/2097152 binary32)
#s(literal 2097053/1048576 binary32)
#s(literal -6484447/137438953472 binary32)
#s(literal 2097053/2097152 binary32)
Samples
0.0ms1valid
Compiler

Compiled 15 to 8 computations (46.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-exp!: 0.0ms (0.0% of total, 0.0 MiB)
adjust: 0.0ms (0.0% of total, 0.0 MiB)
ival-log!: 0.0ms (0.0% of total, 0.0 MiB)
ival-add!: 0.0ms (0.0% of total, 0.0 MiB)
const: 0.0ms (0.0% of total, 0.0 MiB)

series3.4s (9.9%)

Counts
94 → 380
Calls
Call 1
Inputs
%2 = (*.f32 cosTheta_i cosTheta_O)
%6 = (*.f32 sinTheta_i sinTheta_O)
%8 = (/.f32 #s(literal 1 binary32) v)
%11 = (*.f32 cosTheta_O cosTheta_i)
%13 = (*.f32 sinTheta_O sinTheta_i)
%14 = (/.f32 %13 v)
%15 = (*.f32 #s(literal -1 binary32) %14)
%17 = (/.f32 #s(literal 1/2 binary32) v)
%18 = (log.f32 %17)
%19 = (+.f32 #s(literal 1 binary32) %13)
%20 = (-.f32 %11 %19)
%21 = (/.f32 %20 v)
%22 = (log.f32 #s(literal 1/2 binary32))
%23 = (log.f32 v)
%24 = (-.f32 %2 %6)
%25 = (-.f32 %24 #s(literal 1 binary32))
%26 = (/.f32 %25 v)
%27 = (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))
%29 = (-.f32 %26 #s(literal -6931/10000 binary32))
%30 = (+.f32 v v)
%31 = (log.f32 %30)
%32 = (neg.f32 %31)
%33 = (exp.f32 %31)
%34 = (-.f32 #s(literal 6931/10000 binary32) %31)
%35 = (exp.f32 %29)
%36 = (exp.f32 %26)
%37 = (exp.f32 %34)
%39 = (/ 1/2 v)
%40 = (log %39)
%44 = (approx (+ %40 (/ (* cosTheta_O cosTheta_i) v)) %18)
%45 = (-.f32 %11 #s(literal 1 binary32))
%46 = (* cosTheta_i cosTheta_O)
%47 = (* sinTheta_i sinTheta_O)
%48 = (- %46 %47)
%50 = (- %48 1)
%51 = (approx %50 %45)
%63 = (+ (+ (- (- (/ %46 v) (/ %47 v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v))))
%64 = (approx %63 %15)
%65 = (approx %63 %21)
%66 = (exp.f32 #s(literal 6931/10000 binary32))
%70 = (exp (- (/ %50 v) -6931/10000))
%71 = (approx %70 %66)
%72 = (/.f32 %66 v)
%73 = (*.f32 #s(literal 1/2 binary32) %72)
%76 = (-.f32 %30 %17)
%77 = (/.f32 %76 #s(literal 2 binary32))
%78 = (fma.f32 v #s(literal 2 binary32) %17)
%79 = (/.f32 %78 #s(literal 2 binary32))
%80 = (+.f32 %77 %79)
%81 = (neg.f32 %23)
%82 = (exp.f32 %81)
%83 = (fma.f32 %32 v %2)
%84 = (+.f32 %22 #s(literal 6931/10000 binary32))
%85 = (-.f32 %83 #s(literal 1 binary32))
%86 = (/.f32 %85 v)
%87 = (+.f32 #s(literal 6931/10000 binary32) %86)
%88 = (-.f32 %23 #s(literal 6931/10000 binary32))
%89 = (-.f32 %22 %88)
%95 = (approx (+ (+ (/ (+ %48 -1) v) 6931/10000) %40) %34)
%96 = (-.f32 %2 %27)
%97 = (/.f32 %96 v)
%98 = (exp.f32 %97)
%99 = (/.f32 %66 %30)
%101 = (exp.f32 %96)
%102 = (pow.f32 %101 %8)
%103 = (exp.f32 %84)
%104 = (*.f32 %103 %82)
%108 = (/.f32 %51 v)
%109 = (-.f32 %108 #s(literal -6931/10000 binary32))
%110 = (exp.f32 %109)
%112 = (exp.f32 %108)
%115 = (+.f32 #s(literal 6931/10000 binary32) %44)
%116 = (-.f32 %115 %8)
%117 = (approx %63 %116)
%119 = (approx %63 %87)
%124 = (exp.f32 %89)
cosTheta_i
cosTheta_O
%2
v
sinTheta_i
sinTheta_O
%6
#s(literal 1 binary32)
%8
#s(literal 6931/10000 binary32)
#s(literal 2 binary32)
%11
#s(literal -1 binary32)
%13
%14
%15
#s(literal 1/2 binary32)
%17
%18
%19
%20
%21
%22
%23
%24
%25
%26
%27
#s(literal -6931/10000 binary32)
%29
%30
%31
%32
%33
%34
%35
%36
%37
%44
%45
%51
%64
%65
%66
%71
%72
%73
(approx (* %70 %39) %73)
%76
%77
%78
%79
%80
%81
%82
%83
%84
%85
%86
%87
%88
%89
%95
%96
%97
%98
%99
(*.f32 %98 %99)
%101
%102
%103
%104
(exp.f32 %95)
(*.f32 %102 %37)
(*.f32 %36 %104)
%108
%109
%110
(*.f32 %110 %17)
%112
(*.f32 %112 %37)
(/.f32 %110 %33)
%115
%116
%117
(exp.f32 %117)
%119
(exp.f32 %119)
(exp.f32 %64)
(exp.f32 %65)
(*.f32 %71 %17)
%124
(*.f32 %36 %124)
(/.f32 %35 %80)
Outputs
%5 = (* cosTheta_i cosTheta_O)
%6 = (*.f32 cosTheta_O cosTheta_i)
%8 = (* cosTheta_O cosTheta_i)
%12 = (* sinTheta_O sinTheta_i)
%13 = (+ 1 %12)
%14 = (- %8 %13)
%17 = (*.f32 sinTheta_O sinTheta_i)
%18 = (+.f32 #s(literal 1 binary32) %17)
%19 = (*.f32 #s(literal -1 binary32) %18)
%21 = (-.f32 %6 %18)
%24 = (/ %14 v)
%25 = (/.f32 %18 v)
%26 = (*.f32 #s(literal -1 binary32) %25)
%28 = (/.f32 %6 v)
%31 = (* sinTheta_i sinTheta_O)
%32 = (- %5 %31)
%33 = (*.f32 #s(literal -1 binary32) %17)
%38 = (/ (- %32 1) v)
%40 = (- %38 -6931/10000)
%42 = (/.f32 #s(literal 1 binary32) v)
%43 = (/.f32 %17 v)
%44 = (+.f32 %42 %43)
%45 = (-.f32 #s(literal 6931/10000 binary32) %44)
%47 = (+.f32 #s(literal 6931/10000 binary32) %28)
%48 = (-.f32 %47 %44)
%50 = (exp %40)
%51 = (exp.f32 %45)
%53 = (*.f32 cosTheta_i %51)
%54 = (*.f32 cosTheta_O %53)
%60 = (pow.f32 cosTheta_O #s(literal 2 binary32))
%61 = (*.f32 %60 %53)
%62 = (pow.f32 v #s(literal 2 binary32))
%64 = (*.f32 cosTheta_O %51)
%65 = (/.f32 %64 v)
%72 = (pow.f32 cosTheta_O #s(literal 3 binary32))
%73 = (*.f32 %72 %53)
%74 = (pow.f32 v #s(literal 3 binary32))
%76 = (*.f32 %60 %51)
%84 = (exp %38)
%85 = (exp.f32 %26)
%87 = (*.f32 cosTheta_i %85)
%95 = (/.f32 (*.f32 cosTheta_O %85) v)
%111 = (/ 1/2 v)
%112 = (log %111)
%114 = (+ %112 (/ %8 v))
%115 = (/.f32 #s(literal 1/2 binary32) v)
%116 = (log.f32 %115)
%118 = (+.f32 %116 %28)
%120 = (- %8 1)
%122 = (-.f32 %6 #s(literal 1 binary32))
%127 = (/ 1 v)
%135 = (+ (+ (- (- (/ %5 v) (/ %31 v)) %127) 6931/10000) (log (/ 1 (* 2 v))))
%136 = (+.f32 #s(literal 6931/10000 binary32) %116)
%137 = (-.f32 %136 %44)
%139 = (+.f32 #s(literal 6931/10000 binary32) %118)
%140 = (-.f32 %139 %44)
%142 = (* %50 %111)
%143 = (/.f32 %51 v)
%152 = (/.f32 %64 %62)
%160 = (pow.f32 v #s(literal 4 binary32))
%170 = (+ v v)
%171 = (log %170)
%172 = (neg %171)
%174 = (+ (* %172 v) %5)
%175 = (*.f32 #s(literal 2 binary32) v)
%176 = (log.f32 %175)
%177 = (*.f32 v %176)
%178 = (*.f32 #s(literal -1 binary32) %177)
%180 = (fma.f32 #s(literal -1 binary32) %177 %6)
%182 = (- %174 1)
%183 = (-.f32 %178 #s(literal 1 binary32))
%187 = (/ %182 v)
%190 = (fma.f32 #s(literal -1 binary32) %176 %28)
%193 = (+ 6931/10000 %187)
%194 = (*.f32 #s(literal -1 binary32) %176)
%196 = (-.f32 (+.f32 #s(literal 6931/10000 binary32) %194) %42)
%202 = (- %5 (+ %31 1))
%205 = (exp 6931/10000)
%207 = (* (exp (/ %202 v)) (/ %205 %170))
%208 = (exp.f32 #s(literal 6931/10000 binary32))
%209 = (*.f32 %208 %85)
%210 = (/.f32 %209 v)
%211 = (*.f32 #s(literal 1/2 binary32) %210)
%213 = (*.f32 cosTheta_i %209)
%221 = (/.f32 (*.f32 cosTheta_O %209) %62)
%238 = (exp %202)
%240 = (exp.f32 (neg.f32 %18))
%242 = (*.f32 cosTheta_i %240)
%253 = (*.f32 %60 %240)
%261 = (pow %238 %127)
%262 = (*.f32 %240 %85)
%263 = (*.f32 cosTheta_i %262)
%265 = (exp.f32 %19)
%266 = (*.f32 v %265)
%270 = (pow.f32 %240 #s(literal 2 binary32))
%271 = (*.f32 %60 %270)
%273 = (*.f32 %62 (pow.f32 %265 #s(literal 2 binary32)))
%277 = (exp.f32 (*.f32 #s(literal -2 binary32) %18))
%280 = (fma.f32 #s(literal -1 binary32) (/.f32 %271 %277) (/.f32 %253 %265))
%283 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %271 %273) (*.f32 #s(literal 1/2 binary32) (/.f32 %280 v)))
%284 = (*.f32 %85 %283)
%286 = (/.f32 (*.f32 cosTheta_O %262) %266)
%291 = (pow.f32 %240 #s(literal 3 binary32))
%292 = (*.f32 %72 %291)
%294 = (*.f32 %74 (pow.f32 %265 #s(literal 3 binary32)))
%300 = (exp.f32 (*.f32 #s(literal -3 binary32) %18))
%309 = (*.f32 %62 %265)
%313 = (fma.f32 #s(literal 1/6 binary32) (/.f32 %292 %294) (fma.f32 #s(literal 1/6 binary32) (/.f32 (fma.f32 #s(literal -3 binary32) (/.f32 (*.f32 %72 %270) %277) (fma.f32 #s(literal 2 binary32) (/.f32 %292 %300) (/.f32 (*.f32 %72 %240) %265))) v) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %240 %280)) %309))))
%325 = (exp (+ (+ (/ (+ %32 -1) v) 6931/10000) %112))
%326 = (exp.f32 %137)
%328 = (*.f32 cosTheta_i %326)
%336 = (/.f32 (*.f32 cosTheta_O %326) v)
%351 = (- 6931/10000 %171)
%352 = (exp %351)
%353 = (* %261 %352)
%355 = (exp.f32 (-.f32 #s(literal 6931/10000 binary32) %176))
%356 = (*.f32 %85 %355)
%358 = (*.f32 %240 %356)
%359 = (*.f32 cosTheta_i %358)
%365 = (*.f32 %85 (*.f32 %355 %283))
%367 = (/.f32 (*.f32 cosTheta_O %358) %266)
%377 = (log 1/2)
%380 = (log v)
%381 = (neg %380)
%382 = (exp %381)
%383 = (* (exp (+ %377 6931/10000)) %382)
%384 = (* %84 %383)
%385 = (log.f32 v)
%387 = (exp.f32 (neg.f32 %385))
%388 = (log.f32 #s(literal 1/2 binary32))
%389 = (+.f32 #s(literal 6931/10000 binary32) %388)
%390 = (exp.f32 %389)
%391 = (*.f32 %85 %390)
%392 = (*.f32 %387 %391)
%394 = (*.f32 cosTheta_i %392)
%402 = (/.f32 (*.f32 cosTheta_O %392) v)
%415 = (* %84 %352)
%416 = (*.f32 cosTheta_i %356)
%424 = (/.f32 (*.f32 cosTheta_O %356) v)
%437 = (+ 6931/10000 %114)
%440 = (- %437 %127)
%441 = (-.f32 %136 %42)
%443 = (-.f32 %139 %42)
%445 = (- %380 6931/10000)
%446 = (- %377 %445)
%447 = (exp %446)
%448 = (* %84 %447)
%449 = (-.f32 %389 %385)
%450 = (exp.f32 %449)
%451 = (*.f32 %85 %450)
%453 = (*.f32 cosTheta_i %451)
%461 = (/.f32 (*.f32 cosTheta_O %451) v)
%474 = (- %170 %111)
%475 = (/ %474 2)
%477 = (+ (* v 2) %111)
%478 = (/ %477 2)
%480 = (/ %50 (+ %475 %478))
%481 = (*.f32 #s(literal 1/2 binary32) %42)
%485 = (fma.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal 2 binary32) v %481) (*.f32 #s(literal 1/2 binary32) (-.f32 %175 %481)))
%486 = (/.f32 %51 %485)
%488 = (*.f32 v %485)
%492 = (*.f32 %62 %485)
%494 = (/.f32 %64 %488)
%498 = (*.f32 %74 %485)
%512 = (*.f32 cosTheta_i v)
%514 = (/.f32 cosTheta_O v)
%518 = (/.f32 %17 cosTheta_i)
%523 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%524 = (fma.f32 #s(literal 6931/10000 binary32) %523 %514)
%525 = (/.f32 #s(literal 1 binary32) %512)
%527 = (+.f32 %525 (/.f32 %17 %512))
%531 = (exp.f32 %48)
%533 = (/.f32 %21 v)
%534 = (exp.f32 %533)
%536 = (/.f32 %116 cosTheta_i)
%537 = (+.f32 %514 %536)
%543 = (fma.f32 #s(literal 6931/10000 binary32) %523 %537)
%550 = (/.f32 %177 cosTheta_i)
%552 = (+.f32 cosTheta_O (*.f32 #s(literal -1 binary32) %550))
%558 = (/.f32 %176 cosTheta_i)
%633 = (-.f32 %194 %42)
%659 = (pow.f32 cosTheta_i #s(literal 2 binary32))
%660 = (*.f32 %659 %51)
%661 = (*.f32 cosTheta_O %660)
%663 = (/.f32 %53 v)
%668 = (pow.f32 cosTheta_i #s(literal 3 binary32))
%670 = (*.f32 cosTheta_O (*.f32 %668 %51))
%679 = (*.f32 %659 %85)
%682 = (/.f32 %87 v)
%698 = (/.f32 %53 %62)
%713 = (*.f32 %659 %209)
%716 = (/.f32 %213 %62)
%733 = (*.f32 %659 %240)
%739 = (*.f32 %668 %240)
%747 = (*.f32 %659 %270)
%751 = (fma.f32 #s(literal -1 binary32) (/.f32 %747 %277) (/.f32 %733 %265))
%754 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %747 %273) (*.f32 #s(literal 1/2 binary32) (/.f32 %751 v)))
%755 = (*.f32 %85 %754)
%756 = (/.f32 %263 %266)
%761 = (*.f32 %668 %291)
%775 = (fma.f32 #s(literal 1/6 binary32) (/.f32 %761 %294) (fma.f32 #s(literal 1/6 binary32) (/.f32 (fma.f32 #s(literal -3 binary32) (/.f32 (*.f32 %668 %270) %277) (fma.f32 #s(literal 2 binary32) (/.f32 %761 %300) (/.f32 %739 %265))) v) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_i (*.f32 %240 %751)) %309))))
%782 = (*.f32 %659 %326)
%785 = (/.f32 %328 v)
%801 = (*.f32 %85 (*.f32 %355 %754))
%802 = (/.f32 %359 %266)
%812 = (*.f32 %659 %392)
%815 = (/.f32 %394 v)
%828 = (*.f32 %659 %356)
%831 = (/.f32 %416 v)
%844 = (*.f32 %659 %451)
%847 = (/.f32 %453 v)
%861 = (/.f32 %53 %488)
%877 = (*.f32 cosTheta_O v)
%879 = (/.f32 cosTheta_i v)
%883 = (/.f32 %17 cosTheta_O)
%888 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%889 = (fma.f32 #s(literal 6931/10000 binary32) %888 %879)
%890 = (/.f32 #s(literal 1 binary32) %877)
%892 = (+.f32 %890 (/.f32 %17 %877))
%896 = (/.f32 %116 cosTheta_O)
%897 = (+.f32 %879 %896)
%903 = (fma.f32 #s(literal 6931/10000 binary32) %888 %897)
%907 = (/.f32 %177 cosTheta_O)
%909 = (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) %907))
%915 = (/.f32 %176 cosTheta_O)
%999 = (/ %12 v)
%1006 = (fma.f32 #s(literal -1 binary32) %17 %6)
%1009 = (/.f32 %122 v)
%1011 = (fma.f32 #s(literal -1 binary32) %43 %28)
%1015 = (-.f32 %47 %42)
%1020 = (exp.f32 %1015)
%1022 = (*.f32 sinTheta_i %1020)
%1023 = (*.f32 sinTheta_O %1022)
%1028 = (*.f32 sinTheta_O %1020)
%1029 = (/.f32 %1028 v)
%1030 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%1031 = (*.f32 %1030 %1022)
%1039 = (pow.f32 sinTheta_O #s(literal 3 binary32))
%1040 = (*.f32 %1039 %1022)
%1042 = (*.f32 %1030 %1020)
%1051 = (exp.f32 %1009)
%1053 = (*.f32 sinTheta_i %1051)
%1060 = (/.f32 (*.f32 sinTheta_O %1051) v)
%1083 = (/.f32 %1020 v)
%1084 = (*.f32 #s(literal 1/2 binary32) %1083)
%1090 = (/.f32 %1028 %62)
%1107 = (*.f32 %208 %1051)
%1108 = (/.f32 %1107 v)
%1109 = (*.f32 #s(literal 1/2 binary32) %1108)
%1111 = (*.f32 sinTheta_i %1107)
%1117 = (/.f32 (*.f32 sinTheta_O %1107) %62)
%1136 = (exp.f32 %122)
%1138 = (*.f32 sinTheta_i %1136)
%1143 = (*.f32 sinTheta_O %1136)
%1159 = (pow.f32 %1136 #s(literal 2 binary32))
%1162 = (exp.f32 (*.f32 #s(literal 2 binary32) %122))
%1164 = (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 %1030 %1159) %1162) %1030)
%1169 = (*.f32 %1051 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1164 v) (*.f32 #s(literal 1/2 binary32) (/.f32 %1030 %62))))
%1178 = (pow.f32 %1136 #s(literal 3 binary32))
%1181 = (exp.f32 (*.f32 #s(literal 3 binary32) %122))
%1192 = (*.f32 %1051 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 sinTheta_O %1164) %62) (fma.f32 #s(literal -1/6 binary32) (/.f32 %1039 %74) (*.f32 #s(literal 1/6 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) (/.f32 (*.f32 %1039 %1178) %1181) (fma.f32 #s(literal -1 binary32) %1039 (*.f32 #s(literal 3 binary32) (/.f32 (*.f32 %1039 %1159) %1162)))) v)))))
%1199 = (exp.f32 %443)
%1201 = (*.f32 sinTheta_i %1199)
%1208 = (/.f32 (*.f32 sinTheta_O %1199) v)
%1227 = (*.f32 %355 %1051)
%1229 = (*.f32 sinTheta_i %1227)
%1235 = (/.f32 (*.f32 sinTheta_O %1227) v)
%1236 = (*.f32 %355 %1169)
%1248 = (*.f32 %387 (*.f32 %390 %1051))
%1250 = (*.f32 sinTheta_i %1248)
%1256 = (/.f32 (*.f32 sinTheta_O %1248) v)
%1289 = (*.f32 %450 %1051)
%1291 = (*.f32 sinTheta_i %1289)
%1297 = (/.f32 (*.f32 sinTheta_O %1289) v)
%1314 = (/.f32 %1020 %485)
%1319 = (/.f32 %1028 %488)
%1333 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%1334 = (+.f32 sinTheta_O %1333)
%1337 = (/.f32 %6 sinTheta_i)
%1341 = (/.f32 sinTheta_O v)
%1342 = (*.f32 sinTheta_i v)
%1343 = (/.f32 %6 %1342)
%1345 = (/.f32 #s(literal 1 binary32) %1342)
%1353 = (+.f32 %1345 %1341)
%1363 = (*.f32 #s(literal -1 binary32) sinTheta_O)
%1374 = (-.f32 %28 %42)
%1387 = (*.f32 #s(literal -1 binary32) %1341)
%1399 = (/.f32 %1022 v)
%1400 = (pow.f32 sinTheta_i #s(literal 2 binary32))
%1401 = (*.f32 %1400 %1020)
%1402 = (*.f32 sinTheta_O %1401)
%1409 = (pow.f32 sinTheta_i #s(literal 3 binary32))
%1411 = (*.f32 sinTheta_O (*.f32 %1409 %1020))
%1421 = (/.f32 %1053 v)
%1422 = (*.f32 %1400 %1051)
%1441 = (/.f32 %1022 %62)
%1457 = (/.f32 %1111 %62)
%1458 = (*.f32 %1400 %1107)
%1477 = (*.f32 %1400 %1136)
%1495 = (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 %1400 %1159) %1162) %1400)
%1500 = (*.f32 %1051 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1495 v) (*.f32 #s(literal 1/2 binary32) (/.f32 %1400 %62))))
%1520 = (*.f32 %1051 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 sinTheta_i %1495) %62) (fma.f32 #s(literal -1/6 binary32) (/.f32 %1409 %74) (*.f32 #s(literal 1/6 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) (/.f32 (*.f32 %1409 %1178) %1181) (fma.f32 #s(literal -1 binary32) %1409 (*.f32 #s(literal 3 binary32) (/.f32 (*.f32 %1409 %1159) %1162)))) v)))))
%1527 = (/.f32 %1201 v)
%1528 = (*.f32 %1400 %1199)
%1547 = (/.f32 %1229 v)
%1548 = (*.f32 %355 %1500)
%1559 = (/.f32 %1250 v)
%1560 = (*.f32 %1400 %1248)
%1577 = (*.f32 %1400 %1227)
%1594 = (/.f32 %1291 v)
%1595 = (*.f32 %1400 %1289)
%1612 = (/.f32 %1022 %488)
%1626 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%1627 = (+.f32 sinTheta_i %1626)
%1630 = (/.f32 %6 sinTheta_O)
%1634 = (/.f32 sinTheta_i v)
%1635 = (*.f32 sinTheta_O v)
%1636 = (/.f32 %6 %1635)
%1638 = (/.f32 #s(literal 1 binary32) %1635)
%1646 = (+.f32 %1638 %1634)
%1656 = (*.f32 #s(literal -1 binary32) sinTheta_i)
%1679 = (*.f32 #s(literal -1 binary32) %1634)
%1693 = (*.f32 #s(literal -1 binary32) %385)
%1694 = (+.f32 %388 %1693)
%1703 = (log.f32 #s(literal 2 binary32))
%1704 = (+.f32 %1703 %385)
%1706 = (*.f32 #s(literal -1 binary32) %1704)
%1708 = (-.f32 #s(literal 6931/10000 binary32) %1704)
%1710 = (exp.f32 %1708)
%1718 = (fma.f32 cosTheta_O cosTheta_i (*.f32 v (+.f32 #s(literal 6931/10000 binary32) %1694)))
%1722 = (/ %205 v)
%1723 = (/.f32 %208 v)
%1730 = (*.f32 #s(literal 2 binary32) %62)
%1751 = (fma.f32 #s(literal -1 binary32) (*.f32 v %1704) %6)
%1753 = (-.f32 %1751 #s(literal 1 binary32))
%1776 = (log.f32 %42)
%1777 = (+.f32 %388 %1776)
%1779 = (*.f32 #s(literal -1 binary32) %1776)
%1782 = (+.f32 %1703 %1779)
%1784 = (*.f32 #s(literal -1 binary32) %1782)
%1786 = (-.f32 #s(literal 6931/10000 binary32) %1782)
%1789 = (*.f32 %208 %21)
%1790 = (/.f32 %1789 v)
%1793 = (pow.f32 %21 #s(literal 2 binary32))
%1794 = (*.f32 %208 %1793)
%1795 = (/.f32 %1794 %62)
%1796 = (fma.f32 #s(literal 1/2 binary32) %1795 %1790)
%1799 = (pow.f32 %21 #s(literal 3 binary32))
%1800 = (*.f32 %208 %1799)
%1801 = (/.f32 %1800 %74)
%1809 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %1793 %62) %28)
%1818 = (exp.f32 %1786)
%1821 = (+.f32 %388 (+.f32 %1776 %28))
%1823 = (+.f32 #s(literal 6931/10000 binary32) %1777)
%1825 = (+.f32 #s(literal 6931/10000 binary32) %1821)
%1829 = (fma.f32 #s(literal 1/2 binary32) %208 (*.f32 #s(literal 1/2 binary32) %1790))
%1832 = (fma.f32 #s(literal 1/4 binary32) %1795 %1829)
%1838 = (/.f32 #s(literal 1 binary32) %62)
%1839 = (*.f32 #s(literal 1/2 binary32) %1838)
%1843 = (*.f32 #s(literal 1/4 binary32) %1838)
%1855 = (exp.f32 (neg.f32 %1779))
%1860 = (fma.f32 #s(literal -1 binary32) %1782 %28)
%1863 = (-.f32 %1860 %42)
%1874 = (-.f32 %389 %1779)
%1876 = (*.f32 %1855 %390)
%1878 = (exp.f32 %1823)
%1880 = (*.f32 %1878 %21)
%1881 = (/.f32 %1880 v)
%1884 = (*.f32 %1878 %1793)
%1886 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %1884 %62) %1881)
%1889 = (*.f32 %1878 %1799)
%1894 = (*.f32 %1818 %21)
%1895 = (/.f32 %1894 v)
%1898 = (*.f32 %1818 %1793)
%1900 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %1898 %62) %1895)
%1903 = (*.f32 %1818 %1799)
%1909 = (*.f32 %1855 (*.f32 %390 %21))
%1911 = (fma.f32 %1855 %390 (/.f32 %1909 v))
%1914 = (*.f32 %1855 (*.f32 %390 %1793))
%1916 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %1914 %62) %1911)
%1919 = (*.f32 %1855 (*.f32 %390 %1799))
%1926 = (exp.f32 %1874)
%1928 = (*.f32 %1926 %21)
%1929 = (/.f32 %1928 v)
%1932 = (*.f32 %1926 %1793)
%1934 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %1932 %62) %1929)
%1937 = (*.f32 %1926 %1799)
%1942 = (/.f32 %1794 v)
%1949 = (/.f32 %1800 v)
%1977 = (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) %6))
%1978 = (-.f32 %1977 %33)
%1990 = (*.f32 #s(literal 1/2 binary32) %1789)
%1993 = (*.f32 #s(literal -1/2 binary32) %208)
%2082 = (exp %135)
%2083 = (*.f32 %1878 %1978)
%2089 = (*.f32 %1878 (pow.f32 %1978 #s(literal 2 binary32)))
(approx cosTheta_i #s(literal 0 binary32))
(approx cosTheta_i cosTheta_i)
(approx %5 %6)
(approx %14 %19)
(approx %14 %21)
(approx %24 %26)
(approx %24 (fma.f32 #s(literal -1 binary32) %25 %28))
(approx %32 %33)
(approx %32 (-.f32 %6 %17))
(approx %40 %45)
(approx %40 %48)
(approx %50 %51)
(approx %50 (+.f32 %51 (/.f32 %54 v)))
(approx %50 (+.f32 %51 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 %61 %62) %65))))
(approx %50 (+.f32 %51 (*.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 %73 %74) (*.f32 #s(literal 1/2 binary32) (/.f32 %76 %62))) %65))))
(approx %84 %85)
(approx %84 (+.f32 %85 (/.f32 (*.f32 cosTheta_O %87) v)))
(approx %84 (+.f32 %85 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %60 %87) %62) %95))))
(approx %84 (+.f32 %85 (*.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %72 %87) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %60 %85) %62))) %95))))
(approx %114 %116)
(approx %114 %118)
(approx %120 #s(literal -1 binary32))
(approx %120 %122)
(approx %135 %137)
(approx %135 %140)
(approx %142 (*.f32 #s(literal 1/2 binary32) %143))
(approx %142 (fma.f32 #s(literal 1/2 binary32) %143 (*.f32 #s(literal 1/2 binary32) (/.f32 %54 %62))))
(approx %142 (fma.f32 #s(literal 1/2 binary32) %143 (*.f32 cosTheta_i (fma.f32 #s(literal 1/4 binary32) (/.f32 %61 %74) (*.f32 #s(literal 1/2 binary32) %152)))))
(approx %142 (fma.f32 #s(literal 1/2 binary32) %143 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) %152 (*.f32 cosTheta_i (fma.f32 #s(literal 1/12 binary32) (/.f32 %73 %160) (*.f32 #s(literal 1/4 binary32) (/.f32 %76 %74))))))))
(approx %174 %178)
(approx %174 %180)
(approx %182 %183)
(approx %182 (-.f32 %180 #s(literal 1 binary32)))
(approx %187 (/.f32 %183 v))
(approx %187 (-.f32 %190 %42))
(approx %193 %196)
(approx %193 (-.f32 (+.f32 #s(literal 6931/10000 binary32) %190) %42))
(approx %207 %211)
(approx %207 (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O %213) %62) %211))
(approx %207 (fma.f32 #s(literal 1/2 binary32) %210 (*.f32 cosTheta_i (fma.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %60 %213) %74) (*.f32 #s(literal 1/2 binary32) %221)))))
(approx %207 (fma.f32 #s(literal 1/2 binary32) %210 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) %221 (*.f32 cosTheta_i (fma.f32 #s(literal 1/12 binary32) (/.f32 (*.f32 %72 %213) %160) (*.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %60 %209) %74))))))))
(approx %238 %240)
(approx %238 (+.f32 %240 (*.f32 cosTheta_O %242)))
(approx %238 (+.f32 %240 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (*.f32 %60 %242) (*.f32 cosTheta_O %240)))))
(approx %238 (+.f32 %240 (*.f32 cosTheta_i (fma.f32 cosTheta_O %240 (*.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (*.f32 %72 %242) (*.f32 #s(literal 1/2 binary32) %253)))))))
(approx %261 (+.f32 %85 (/.f32 (*.f32 cosTheta_O %263) %266)))
(approx %261 (+.f32 %85 (*.f32 cosTheta_i (fma.f32 cosTheta_i %284 %286))))
(approx %261 (+.f32 %85 (*.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 cosTheta_i (*.f32 %85 %313) %284) %286))))
(approx %325 %326)
(approx %325 (+.f32 %326 (/.f32 (*.f32 cosTheta_O %328) v)))
(approx %325 (+.f32 %326 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %60 %328) %62) %336))))
(approx %325 (+.f32 %326 (*.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %72 %328) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %60 %326) %62))) %336))))
(approx %353 %356)
(approx %353 (fma.f32 %85 %355 (/.f32 (*.f32 cosTheta_O %359) %266)))
(approx %353 (fma.f32 cosTheta_i (fma.f32 cosTheta_i %365 %367) %356))
(approx %353 (fma.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 cosTheta_i (*.f32 %85 (*.f32 %355 %313)) %365) %367) %356))
(approx %384 %392)
(approx %384 (fma.f32 %387 %391 (/.f32 (*.f32 cosTheta_O %394) v)))
(approx %384 (fma.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %60 %394) %62) %402) %392))
(approx %384 (fma.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %72 %394) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %60 %392) %62))) %402) %392))
(approx %415 (fma.f32 %85 %355 (/.f32 (*.f32 cosTheta_O %416) v)))
(approx %415 (fma.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %60 %416) %62) %424) %356))
(approx %415 (fma.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %72 %416) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %60 %356) %62))) %424) %356))
(approx %437 %136)
(approx %437 %139)
(approx %440 %441)
(approx %440 %443)
(approx %448 %451)
(approx %448 (fma.f32 %85 %450 (/.f32 (*.f32 cosTheta_O %453) v)))
(approx %448 (fma.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %60 %453) %62) %461) %451))
(approx %448 (fma.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %72 %453) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %60 %451) %62))) %461) %451))
(approx %480 %486)
(approx %480 (+.f32 %486 (/.f32 %54 %488)))
(approx %480 (fma.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 %61 %492) %494) %486))
(approx %480 (fma.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 %73 %498) (*.f32 #s(literal 1/2 binary32) (/.f32 %76 %492))) %494) %486))
(approx %14 (*.f32 cosTheta_i (+.f32 cosTheta_O (*.f32 #s(literal -1 binary32) (/.f32 %18 cosTheta_i)))))
(approx %24 %28)
(approx %24 (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) (/.f32 %18 %512) %514)))
(approx %32 (*.f32 cosTheta_i (+.f32 cosTheta_O (*.f32 #s(literal -1 binary32) %518))))
(approx %40 (*.f32 cosTheta_i (-.f32 %524 %527)))
(approx %50 %531)
(approx %84 %534)
(approx %114 (*.f32 cosTheta_i %537))
(approx %120 (*.f32 cosTheta_i (-.f32 cosTheta_O %523)))
(approx %135 (*.f32 cosTheta_i (-.f32 %543 %527)))
(approx %142 (*.f32 #s(literal 1/2 binary32) (/.f32 %531 v)))
(approx %174 (*.f32 cosTheta_i %552))
(approx %182 (*.f32 cosTheta_i (-.f32 %552 %523)))
(approx %187 (*.f32 cosTheta_i (-.f32 (fma.f32 #s(literal -1 binary32) %558 %514) %525)))
(approx %193 (*.f32 cosTheta_i (-.f32 (fma.f32 #s(literal -1 binary32) %558 %524) %525)))
(approx %207 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %208 %534) v)))
(approx %238 (exp.f32 %21))
(approx %325 (exp.f32 %140))
(approx %353 (*.f32 %355 %534))
(approx %384 (*.f32 %387 (*.f32 %390 %534)))
(approx %437 (*.f32 cosTheta_i %543))
(approx %440 (*.f32 cosTheta_i (-.f32 %543 %525)))
(approx %448 (*.f32 %450 %534))
(approx %480 (/.f32 %531 %485))
(approx %14 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) cosTheta_O (+.f32 %523 %518)))))
(approx %24 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %514 %527))))
(approx %32 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) cosTheta_O %518))))
(approx %40 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %514 (*.f32 #s(literal -1 binary32) (/.f32 %45 cosTheta_i))))))
(approx %114 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %514 (*.f32 #s(literal -1 binary32) %536)))))
(approx %120 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) cosTheta_O %523))))
(approx %135 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %514 (*.f32 #s(literal -1 binary32) (/.f32 %137 cosTheta_i))))))
(approx %174 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) cosTheta_O %550))))
(approx %182 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) cosTheta_O (*.f32 #s(literal -1 binary32) (/.f32 %183 cosTheta_i))))))
(approx %187 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %514 (*.f32 #s(literal -1 binary32) (/.f32 %633 cosTheta_i))))))
(approx %193 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %514 (*.f32 #s(literal -1 binary32) (/.f32 %196 cosTheta_i))))))
(approx %437 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %514 (*.f32 #s(literal -1 binary32) (/.f32 %136 cosTheta_i))))))
(approx %440 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %514 (*.f32 #s(literal -1 binary32) (/.f32 %441 cosTheta_i))))))
(approx cosTheta_O cosTheta_O)
(approx %50 (+.f32 %51 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 %661 %62) %663))))
(approx %50 (+.f32 %51 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 %670 %74) (*.f32 #s(literal 1/2 binary32) (/.f32 %660 %62))) %663))))
(approx %84 (+.f32 %85 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O %679) %62) %682))))
(approx %84 (+.f32 %85 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %668 %85)) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 %679 %62))) %682))))
(approx %142 (fma.f32 #s(literal 1/2 binary32) %143 (*.f32 cosTheta_O (fma.f32 #s(literal 1/4 binary32) (/.f32 %661 %74) (*.f32 #s(literal 1/2 binary32) %698)))))
(approx %142 (fma.f32 #s(literal 1/2 binary32) %143 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) %698 (*.f32 cosTheta_O (fma.f32 #s(literal 1/12 binary32) (/.f32 %670 %160) (*.f32 #s(literal 1/4 binary32) (/.f32 %660 %74))))))))
(approx %207 (fma.f32 #s(literal 1/2 binary32) %210 (*.f32 cosTheta_O (fma.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 cosTheta_O %713) %74) (*.f32 #s(literal 1/2 binary32) %716)))))
(approx %207 (fma.f32 #s(literal 1/2 binary32) %210 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) %716 (*.f32 cosTheta_O (fma.f32 #s(literal 1/12 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %668 %209)) %160) (*.f32 #s(literal 1/4 binary32) (/.f32 %713 %74))))))))
(approx %238 (+.f32 %240 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %733) %242))))
(approx %238 (+.f32 %240 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (*.f32 cosTheta_O %739) (*.f32 #s(literal 1/2 binary32) %733)) %242))))
(approx %261 (+.f32 %85 (*.f32 cosTheta_O (fma.f32 cosTheta_O %755 %756))))
(approx %261 (+.f32 %85 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 cosTheta_O (*.f32 %85 %775) %755) %756))))
(approx %325 (+.f32 %326 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O %782) %62) %785))))
(approx %325 (+.f32 %326 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %668 %326)) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 %782 %62))) %785))))
(approx %353 (fma.f32 cosTheta_O (fma.f32 cosTheta_O %801 %802) %356))
(approx %353 (fma.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 cosTheta_O (*.f32 %85 (*.f32 %355 %775)) %801) %802) %356))
(approx %384 (fma.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O %812) %62) %815) %392))
(approx %384 (fma.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %668 %392)) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 %812 %62))) %815) %392))
(approx %415 (fma.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O %828) %62) %831) %356))
(approx %415 (fma.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %668 %356)) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 %828 %62))) %831) %356))
(approx %448 (fma.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O %844) %62) %847) %451))
(approx %448 (fma.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %668 %451)) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 %844 %62))) %847) %451))
(approx %480 (fma.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 %661 %492) %861) %486))
(approx %480 (fma.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 %670 %498) (*.f32 #s(literal 1/2 binary32) (/.f32 %660 %492))) %861) %486))
(approx %14 (*.f32 cosTheta_O (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) (/.f32 %18 cosTheta_O)))))
(approx %24 (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) (/.f32 %18 %877) %879)))
(approx %32 (*.f32 cosTheta_O (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) %883))))
(approx %40 (*.f32 cosTheta_O (-.f32 %889 %892)))
(approx %114 (*.f32 cosTheta_O %897))
(approx %120 (*.f32 cosTheta_O (-.f32 cosTheta_i %888)))
(approx %135 (*.f32 cosTheta_O (-.f32 %903 %892)))
(approx %174 (*.f32 cosTheta_O %909))
(approx %182 (*.f32 cosTheta_O (-.f32 %909 %888)))
(approx %187 (*.f32 cosTheta_O (-.f32 (fma.f32 #s(literal -1 binary32) %915 %879) %890)))
(approx %193 (*.f32 cosTheta_O (-.f32 (fma.f32 #s(literal -1 binary32) %915 %889) %890)))
(approx %437 (*.f32 cosTheta_O %903))
(approx %440 (*.f32 cosTheta_O (-.f32 %903 %890)))
(approx %14 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) cosTheta_i (+.f32 %888 %883)))))
(approx %24 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %879 %892))))
(approx %32 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) cosTheta_i %883))))
(approx %40 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %879 (*.f32 #s(literal -1 binary32) (/.f32 %45 cosTheta_O))))))
(approx %114 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %879 (*.f32 #s(literal -1 binary32) %896)))))
(approx %120 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) cosTheta_i %888))))
(approx %135 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %879 (*.f32 #s(literal -1 binary32) (/.f32 %137 cosTheta_O))))))
(approx %174 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) cosTheta_i %907))))
(approx %182 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) cosTheta_i (*.f32 #s(literal -1 binary32) (/.f32 %183 cosTheta_O))))))
(approx %187 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %879 (*.f32 #s(literal -1 binary32) (/.f32 %633 cosTheta_O))))))
(approx %193 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %879 (*.f32 #s(literal -1 binary32) (/.f32 %196 cosTheta_O))))))
(approx %437 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %879 (*.f32 #s(literal -1 binary32) (/.f32 %136 cosTheta_O))))))
(approx %440 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %879 (*.f32 #s(literal -1 binary32) (/.f32 %441 cosTheta_O))))))
(approx sinTheta_i sinTheta_i)
(approx %31 %17)
(approx %999 %43)
(approx (* -1 %999) (*.f32 #s(literal -1 binary32) %43))
(approx %13 #s(literal 1 binary32))
(approx %13 %18)
(approx %14 (-.f32 %1006 #s(literal 1 binary32)))
(approx %24 %1009)
(approx %24 (-.f32 %1011 %42))
(approx %32 %1006)
(approx %40 %1015)
(approx %40 (-.f32 (+.f32 #s(literal 6931/10000 binary32) %1011) %42))
(approx %50 %1020)
(approx %50 (+.f32 %1020 (*.f32 #s(literal -1 binary32) (/.f32 %1023 v))))
(approx %50 (+.f32 %1020 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1029 (*.f32 #s(literal 1/2 binary32) (/.f32 %1031 %62))))))
(approx %50 (+.f32 %1020 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1029 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %1040 %74) (*.f32 #s(literal 1/2 binary32) (/.f32 %1042 %62))))))))
(approx %84 %1051)
(approx %84 (+.f32 %1051 (*.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %1053) v))))
(approx %84 (+.f32 %1051 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1060 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %1030 %1053) %62))))))
(approx %84 (+.f32 %1051 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1060 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 %1039 %1053) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %1030 %1051) %62))))))))
(approx %135 (-.f32 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %116 %1011)) %42))
(approx %142 %1084)
(approx %142 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1023 %62) %1084))
(approx %142 (fma.f32 #s(literal 1/2 binary32) %1083 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1090 (*.f32 #s(literal 1/4 binary32) (/.f32 %1031 %74))))))
(approx %142 (fma.f32 #s(literal 1/2 binary32) %1083 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1090 (*.f32 sinTheta_i (fma.f32 #s(literal -1/12 binary32) (/.f32 %1040 %160) (*.f32 #s(literal 1/4 binary32) (/.f32 %1042 %74))))))))
(approx %207 %1109)
(approx %207 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 sinTheta_O %1111) %62) %1109))
(approx %207 (fma.f32 #s(literal 1/2 binary32) %1108 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1117 (*.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %1030 %1111) %74))))))
(approx %207 (fma.f32 #s(literal 1/2 binary32) %1108 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1117 (*.f32 sinTheta_i (fma.f32 #s(literal -1/12 binary32) (/.f32 (*.f32 %1039 %1111) %160) (*.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %1030 %1107) %74))))))))
(approx %238 %1136)
(approx %238 (+.f32 %1136 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %1138))))
(approx %238 (+.f32 %1136 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1143 (*.f32 #s(literal 1/2 binary32) (*.f32 %1030 %1138))))))
(approx %238 (+.f32 %1136 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1143 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (*.f32 %1039 %1138) (*.f32 #s(literal 1/2 binary32) (*.f32 %1030 %1136))))))))
(approx %261 (+.f32 %1051 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1060 (*.f32 sinTheta_i %1169)))))
(approx %261 (+.f32 %1051 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1060 (*.f32 sinTheta_i (fma.f32 sinTheta_i %1192 %1169))))))
(approx %325 %1199)
(approx %325 (+.f32 %1199 (*.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %1201) v))))
(approx %325 (+.f32 %1199 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1208 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %1030 %1201) %62))))))
(approx %325 (+.f32 %1199 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1208 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 %1039 %1201) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %1030 %1199) %62))))))))
(approx %353 %1227)
(approx %353 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %1229) v) %1227))
(approx %353 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1235 (*.f32 sinTheta_i %1236)) %1227))
(approx %353 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1235 (*.f32 sinTheta_i (fma.f32 sinTheta_i (*.f32 %355 %1192) %1236))) %1227))
(approx %384 %1248)
(approx %384 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %1250) v) %1248))
(approx %384 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1256 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %1030 %1250) %62))) %1248))
(approx %384 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1256 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 %1039 %1250) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %1030 %1248) %62))))) %1248))
(approx %415 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1235 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %1030 %1229) %62))) %1227))
(approx %415 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1235 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 %1039 %1229) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %1030 %1227) %62))))) %1227))
(approx %448 %1289)
(approx %448 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %1291) v) %1289))
(approx %448 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1297 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %1030 %1291) %62))) %1289))
(approx %448 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1297 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 %1039 %1291) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %1030 %1289) %62))))) %1289))
(approx %480 %1314)
(approx %480 (fma.f32 #s(literal -1 binary32) (/.f32 %1023 %488) %1314))
(approx %480 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1319 (*.f32 #s(literal 1/2 binary32) (/.f32 %1031 %492))) %1314))
(approx %480 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1319 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %1040 %498) (*.f32 #s(literal 1/2 binary32) (/.f32 %1042 %492))))) %1314))
(approx %13 (*.f32 sinTheta_i %1334))
(approx %14 (*.f32 sinTheta_i (-.f32 %1337 %1334)))
(approx %24 (*.f32 sinTheta_i (-.f32 (fma.f32 #s(literal -1 binary32) %1341 %1343) %1345)))
(approx %32 (*.f32 sinTheta_i (-.f32 %1337 sinTheta_O)))
(approx %40 (*.f32 sinTheta_i (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %1333 %1343) %1353)))
(approx %135 (*.f32 sinTheta_i (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %1333 (+.f32 (/.f32 %116 sinTheta_i) %1343)) %1353)))
(approx %13 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 %1363 %1333))))
(approx %14 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %122 sinTheta_i)) %1363))))
(approx %24 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) (/.f32 %1374 sinTheta_i) %1341))))
(approx %32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) %1337) %1363))))
(approx %40 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %1015 sinTheta_i)) %1387))))
(approx %135 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %443 sinTheta_i)) %1387))))
(approx sinTheta_O sinTheta_O)
(approx %50 (+.f32 %1020 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1399 (*.f32 #s(literal 1/2 binary32) (/.f32 %1402 %62))))))
(approx %50 (+.f32 %1020 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1399 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1411 %74) (*.f32 #s(literal 1/2 binary32) (/.f32 %1401 %62))))))))
(approx %84 (+.f32 %1051 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1421 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 sinTheta_O %1422) %62))))))
(approx %84 (+.f32 %1051 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1421 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %1409 %1051)) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 %1422 %62))))))))
(approx %142 (fma.f32 #s(literal 1/2 binary32) %1083 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1441 (*.f32 #s(literal 1/4 binary32) (/.f32 %1402 %74))))))
(approx %142 (fma.f32 #s(literal 1/2 binary32) %1083 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1441 (*.f32 sinTheta_O (fma.f32 #s(literal -1/12 binary32) (/.f32 %1411 %160) (*.f32 #s(literal 1/4 binary32) (/.f32 %1401 %74))))))))
(approx %207 (fma.f32 #s(literal 1/2 binary32) %1108 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1457 (*.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 sinTheta_O %1458) %74))))))
(approx %207 (fma.f32 #s(literal 1/2 binary32) %1108 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1457 (*.f32 sinTheta_O (fma.f32 #s(literal -1/12 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %1409 %1107)) %160) (*.f32 #s(literal 1/4 binary32) (/.f32 %1458 %74))))))))
(approx %238 (+.f32 %1136 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1138 (*.f32 #s(literal 1/2 binary32) (*.f32 sinTheta_O %1477))))))
(approx %238 (+.f32 %1136 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1138 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (*.f32 sinTheta_O (*.f32 %1409 %1136)) (*.f32 #s(literal 1/2 binary32) %1477)))))))
(approx %261 (+.f32 %1051 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1421 (*.f32 sinTheta_O %1500)))))
(approx %261 (+.f32 %1051 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1421 (*.f32 sinTheta_O (fma.f32 sinTheta_O %1520 %1500))))))
(approx %325 (+.f32 %1199 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1527 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 sinTheta_O %1528) %62))))))
(approx %325 (+.f32 %1199 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1527 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %1409 %1199)) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 %1528 %62))))))))
(approx %353 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1547 (*.f32 sinTheta_O %1548)) %1227))
(approx %353 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1547 (*.f32 sinTheta_O (fma.f32 sinTheta_O (*.f32 %355 %1520) %1548))) %1227))
(approx %384 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1559 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 sinTheta_O %1560) %62))) %1248))
(approx %384 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1559 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %1409 %1248)) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 %1560 %62))))) %1248))
(approx %415 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1547 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 sinTheta_O %1577) %62))) %1227))
(approx %415 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1547 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %1409 %1227)) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 %1577 %62))))) %1227))
(approx %448 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1594 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 sinTheta_O %1595) %62))) %1289))
(approx %448 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1594 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %1409 %1289)) %74) (*.f32 #s(literal 1/2 binary32) (/.f32 %1595 %62))))) %1289))
(approx %480 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1612 (*.f32 #s(literal 1/2 binary32) (/.f32 %1402 %492))) %1314))
(approx %480 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1612 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1411 %498) (*.f32 #s(literal 1/2 binary32) (/.f32 %1401 %492))))) %1314))
(approx %13 (*.f32 sinTheta_O %1627))
(approx %14 (*.f32 sinTheta_O (-.f32 %1630 %1627)))
(approx %24 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal -1 binary32) %1634 %1636) %1638)))
(approx %32 (*.f32 sinTheta_O (-.f32 %1630 sinTheta_i)))
(approx %40 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %1626 %1636) %1646)))
(approx %135 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %1626 (+.f32 (/.f32 %116 sinTheta_O) %1636)) %1646)))
(approx %13 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 %1656 %1626))))
(approx %14 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %122 sinTheta_O)) %1656))))
(approx %24 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) (/.f32 %1374 sinTheta_O) %1634))))
(approx %32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) %1630) %1656))))
(approx %40 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %1015 sinTheta_O)) %1679))))
(approx %135 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %443 sinTheta_O)) %1679))))
(approx v v)
(approx %127 %42)
(approx %111 %115)
(approx %112 %1694)
(approx %24 %533)
(approx %380 %385)
(approx %40 (/.f32 (-.f32 (fma.f32 #s(literal 6931/10000 binary32) v %6) %18) v))
(approx %170 %175)
(approx %171 %1704)
(approx %172 %1706)
(approx %351 %1708)
(approx %352 %1710)
(approx %114 (/.f32 (fma.f32 cosTheta_O cosTheta_i (*.f32 v %1694)) v))
(approx %135 (/.f32 (-.f32 %1718 %18) v))
(approx %1722 %1723)
(approx (* 1/2 %1722) (*.f32 #s(literal 1/2 binary32) %1723))
(approx %474 (/.f32 #s(literal -1/2 binary32) v))
(approx %474 (/.f32 (-.f32 %1730 #s(literal 1/2 binary32)) v))
(approx %475 (/.f32 #s(literal -1/4 binary32) v))
(approx %475 (/.f32 (-.f32 %62 #s(literal 1/4 binary32)) v))
(approx %477 (/.f32 (+.f32 #s(literal 1/2 binary32) %1730) v))
(approx %478 (/.f32 #s(literal 1/4 binary32) v))
(approx %478 (/.f32 (+.f32 #s(literal 1/4 binary32) %62) v))
(approx %381 %1693)
(approx %382 %387)
(approx %174 %1751)
(approx %182 %1753)
(approx %187 (/.f32 %1753 v))
(approx %193 (/.f32 (-.f32 (fma.f32 cosTheta_O cosTheta_i (*.f32 v (+.f32 #s(literal 6931/10000 binary32) %1706))) #s(literal 1 binary32)) v))
(approx %445 (-.f32 %385 #s(literal 6931/10000 binary32)))
(approx %446 %449)
(approx %383 (*.f32 %387 %390))
(approx %353 (*.f32 %1710 %534))
(approx %437 (/.f32 %1718 v))
(approx %440 (/.f32 (-.f32 %1718 #s(literal 1 binary32)) v))
(approx %447 %450)
(approx %112 %1777)
(approx %380 %1779)
(approx %40 #s(literal 6931/10000 binary32))
(approx %171 %1782)
(approx %172 %1784)
(approx %351 %1786)
(approx %50 %208)
(approx %50 (+.f32 %208 %1790))
(approx %50 (+.f32 %208 %1796))
(approx %50 (+.f32 %208 (fma.f32 #s(literal 1/6 binary32) %1801 %1796)))
(approx %84 (-.f32 (+.f32 #s(literal 1 binary32) %28) %44))
(approx %84 (-.f32 (+.f32 #s(literal 1 binary32) %1809) %44))
(approx %84 (-.f32 (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal 1/6 binary32) (/.f32 %1799 %74) %1809)) %44))
(approx %352 %1818)
(approx %114 %1821)
(approx %135 %1823)
(approx %135 (-.f32 %1825 %44))
(approx %142 (/.f32 %1829 v))
(approx %142 (/.f32 %1832 v))
(approx %142 (/.f32 (fma.f32 #s(literal 1/12 binary32) %1801 %1832) v))
(approx %474 (*.f32 v (-.f32 #s(literal 2 binary32) %1839)))
(approx %475 (*.f32 v (-.f32 #s(literal 1 binary32) %1843)))
(approx %477 (*.f32 v (+.f32 #s(literal 2 binary32) %1839)))
(approx %478 (*.f32 v (+.f32 #s(literal 1 binary32) %1843)))
(approx %381 %1776)
(approx %382 %1855)
(approx %174 (*.f32 #s(literal -1 binary32) (*.f32 v %1782)))
(approx %174 (*.f32 v %1860))
(approx %182 (*.f32 v %1863))
(approx %187 %1863)
(approx %193 (+.f32 #s(literal 6931/10000 binary32) %1784))
(approx %193 (-.f32 (+.f32 #s(literal 6931/10000 binary32) %1860) %42))
(approx %445 (-.f32 %1779 #s(literal 6931/10000 binary32)))
(approx %446 %1874)
(approx %383 %1876)
(approx %325 %1878)
(approx %325 (+.f32 %1878 %1881))
(approx %325 (+.f32 %1878 %1886))
(approx %325 (+.f32 %1878 (fma.f32 #s(literal 1/6 binary32) (/.f32 %1889 %74) %1886)))
(approx %353 (+.f32 %1818 %1895))
(approx %353 (+.f32 %1818 %1900))
(approx %353 (+.f32 %1818 (fma.f32 #s(literal 1/6 binary32) (/.f32 %1903 %74) %1900)))
(approx %384 %1911)
(approx %384 %1916)
(approx %384 (fma.f32 #s(literal 1/6 binary32) (/.f32 %1919 %74) %1916))
(approx %437 %1825)
(approx %440 (-.f32 %1825 %42))
(approx %447 %1926)
(approx %448 (+.f32 %1926 %1929))
(approx %448 (+.f32 %1926 %1934))
(approx %448 (+.f32 %1926 (fma.f32 #s(literal 1/6 binary32) (/.f32 %1937 %74) %1934)))
(approx %50 (+.f32 %208 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1789 (*.f32 #s(literal -1/2 binary32) %1942)) v))))
(approx %50 (+.f32 %208 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1789 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) %1949 (*.f32 #s(literal 1/2 binary32) %1794)) v))) v))))
(approx %84 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %21 (*.f32 #s(literal -1/2 binary32) (/.f32 %1793 v))) v))))
(approx %84 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %21 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) (/.f32 %1799 v) (*.f32 #s(literal 1/2 binary32) %1793)) v))) v))))
(approx %135 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %388 (+.f32 %1776 (*.f32 #s(literal -1 binary32) (/.f32 %1978 v))))))
(approx %142 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %208 (*.f32 #s(literal -1/2 binary32) %1790)) v)))
(approx %142 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/4 binary32) %1942 %1990) v) %1993) v)))
(approx %142 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) %1794 (*.f32 #s(literal -1/12 binary32) %1949)) v) %1990) v) %1993) v)))
(approx %474 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %1839 #s(literal 2 binary32)))))
(approx %475 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %1843 #s(literal 1 binary32)))))
(approx %174 (*.f32 #s(literal -1 binary32) (*.f32 v (+.f32 %1703 (fma.f32 #s(literal -1 binary32) %1776 (*.f32 #s(literal -1 binary32) %28))))))
(approx %182 (*.f32 #s(literal -1 binary32) (*.f32 v (+.f32 %1703 (fma.f32 #s(literal -1 binary32) %1776 (*.f32 #s(literal -1 binary32) %1009))))))
(approx %325 (+.f32 %1878 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1880 (*.f32 #s(literal -1/2 binary32) (/.f32 %1884 v))) v))))
(approx %325 (+.f32 %1878 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1880 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) (/.f32 %1889 v) (*.f32 #s(literal 1/2 binary32) %1884)) v))) v))))
(approx %353 (+.f32 %1818 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1894 (*.f32 #s(literal -1/2 binary32) (/.f32 %1898 v))) v))))
(approx %353 (+.f32 %1818 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1894 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) (/.f32 %1903 v) (*.f32 #s(literal 1/2 binary32) %1898)) v))) v))))
(approx %384 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1909 (*.f32 #s(literal -1/2 binary32) (/.f32 %1914 v))) v) %1876))
(approx %384 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1909 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) (/.f32 %1919 v) (*.f32 #s(literal 1/2 binary32) %1914)) v))) v) %1876))
(approx %440 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %388 (+.f32 %1776 (*.f32 #s(literal -1 binary32) (/.f32 %1977 v))))))
(approx %2082 (+.f32 %1878 (*.f32 #s(literal -1 binary32) (/.f32 %2083 v))))
(approx %2082 (+.f32 %1878 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %2089 v) %2083) v))))
(approx %2082 (+.f32 %1878 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 %1878 (pow.f32 %1978 #s(literal 3 binary32))) v) (*.f32 #s(literal 1/2 binary32) %2089)) v) %2083) v))))
(approx %448 (+.f32 %1926 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1928 (*.f32 #s(literal -1/2 binary32) (/.f32 %1932 v))) v))))
(approx %448 (+.f32 %1926 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1928 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) (/.f32 %1937 v) (*.f32 #s(literal 1/2 binary32) %1932)) v))) v))))
Calls

15 calls:

TimeVariablePoint
61.0ms
sinTheta_i
0
32.0ms
v
-inf
23.0ms
sinTheta_O
0
21.0ms
cosTheta_i
0
20.0ms
v
0

rewrite2.8s (8.2%)

Counts
94 → 1 916
Calls
Call 1
Inputs
%2 = (*.f32 cosTheta_i cosTheta_O)
%6 = (*.f32 sinTheta_i sinTheta_O)
%8 = (/.f32 #s(literal 1 binary32) v)
%11 = (*.f32 cosTheta_O cosTheta_i)
%13 = (*.f32 sinTheta_O sinTheta_i)
%14 = (/.f32 %13 v)
%15 = (*.f32 #s(literal -1 binary32) %14)
%17 = (/.f32 #s(literal 1/2 binary32) v)
%18 = (log.f32 %17)
%19 = (+.f32 #s(literal 1 binary32) %13)
%20 = (-.f32 %11 %19)
%21 = (/.f32 %20 v)
%22 = (log.f32 #s(literal 1/2 binary32))
%23 = (log.f32 v)
%24 = (-.f32 %2 %6)
%25 = (-.f32 %24 #s(literal 1 binary32))
%26 = (/.f32 %25 v)
%27 = (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))
%29 = (-.f32 %26 #s(literal -6931/10000 binary32))
%30 = (+.f32 v v)
%31 = (log.f32 %30)
%32 = (neg.f32 %31)
%33 = (exp.f32 %31)
%34 = (-.f32 #s(literal 6931/10000 binary32) %31)
%35 = (exp.f32 %29)
%36 = (exp.f32 %26)
%37 = (exp.f32 %34)
%39 = (/ 1/2 v)
%40 = (log %39)
%44 = (approx (+ %40 (/ (* cosTheta_O cosTheta_i) v)) %18)
%45 = (-.f32 %11 #s(literal 1 binary32))
%46 = (* cosTheta_i cosTheta_O)
%47 = (* sinTheta_i sinTheta_O)
%48 = (- %46 %47)
%50 = (- %48 1)
%51 = (approx %50 %45)
%63 = (+ (+ (- (- (/ %46 v) (/ %47 v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v))))
%64 = (approx %63 %15)
%65 = (approx %63 %21)
%66 = (exp.f32 #s(literal 6931/10000 binary32))
%70 = (exp (- (/ %50 v) -6931/10000))
%71 = (approx %70 %66)
%72 = (/.f32 %66 v)
%73 = (*.f32 #s(literal 1/2 binary32) %72)
%76 = (-.f32 %30 %17)
%77 = (/.f32 %76 #s(literal 2 binary32))
%78 = (fma.f32 v #s(literal 2 binary32) %17)
%79 = (/.f32 %78 #s(literal 2 binary32))
%80 = (+.f32 %77 %79)
%81 = (neg.f32 %23)
%82 = (exp.f32 %81)
%83 = (fma.f32 %32 v %2)
%84 = (+.f32 %22 #s(literal 6931/10000 binary32))
%85 = (-.f32 %83 #s(literal 1 binary32))
%86 = (/.f32 %85 v)
%87 = (+.f32 #s(literal 6931/10000 binary32) %86)
%88 = (-.f32 %23 #s(literal 6931/10000 binary32))
%89 = (-.f32 %22 %88)
%95 = (approx (+ (+ (/ (+ %48 -1) v) 6931/10000) %40) %34)
%96 = (-.f32 %2 %27)
%97 = (/.f32 %96 v)
%98 = (exp.f32 %97)
%99 = (/.f32 %66 %30)
%101 = (exp.f32 %96)
%102 = (pow.f32 %101 %8)
%103 = (exp.f32 %84)
%104 = (*.f32 %103 %82)
%108 = (/.f32 %51 v)
%109 = (-.f32 %108 #s(literal -6931/10000 binary32))
%110 = (exp.f32 %109)
%112 = (exp.f32 %108)
%115 = (+.f32 #s(literal 6931/10000 binary32) %44)
%116 = (-.f32 %115 %8)
%117 = (approx %63 %116)
%119 = (approx %63 %87)
%124 = (exp.f32 %89)
cosTheta_i
cosTheta_O
%2
v
sinTheta_i
sinTheta_O
%6
#s(literal 1 binary32)
%8
#s(literal 6931/10000 binary32)
#s(literal 2 binary32)
%11
#s(literal -1 binary32)
%13
%14
%15
#s(literal 1/2 binary32)
%17
%18
%19
%20
%21
%22
%23
%24
%25
%26
%27
#s(literal -6931/10000 binary32)
%29
%30
%31
%32
%33
%34
%35
%36
%37
%44
%45
%51
%64
%65
%66
%71
%72
%73
(approx (* %70 %39) %73)
%76
%77
%78
%79
%80
%81
%82
%83
%84
%85
%86
%87
%88
%89
%95
%96
%97
%98
%99
(*.f32 %98 %99)
%101
%102
%103
%104
(exp.f32 %95)
(*.f32 %102 %37)
(*.f32 %36 %104)
%108
%109
%110
(*.f32 %110 %17)
%112
(*.f32 %112 %37)
(/.f32 %110 %33)
%115
%116
%117
(exp.f32 %117)
%119
(exp.f32 %119)
(exp.f32 %64)
(exp.f32 %65)
(*.f32 %71 %17)
%124
(*.f32 %36 %124)
(/.f32 %35 %80)
Outputs
%2 = (*.f32 cosTheta_i cosTheta_O)
%3 = (*.f32 cosTheta_O cosTheta_i)
%6 = (neg.f32 v)
%8 = (*.f32 v v)
%10 = (log.f32 v)
%13 = (/.f32 #s(literal 1 binary32) v)
%16 = (/.f32 (+.f32 v %13) #s(literal 2 binary32))
%18 = (/.f32 (-.f32 v %13) #s(literal 2 binary32))
%22 = (*.f32 sinTheta_i sinTheta_O)
%23 = (*.f32 sinTheta_O sinTheta_i)
%46 = (/.f32 #s(literal -1 binary32) %6)
%47 = (fabs.f32 %13)
%48 = (/.f32 #s(literal -1 binary32) v)
%49 = (fabs.f32 %48)
%50 = (neg.f32 %48)
%51 = (neg.f32 %6)
%52 = (/.f32 #s(literal 1 binary32) %51)
%53 = (*.f32 #s(literal 1 binary32) %13)
%54 = (*.f32 %13 #s(literal 1 binary32))
%55 = (/.f32 #s(literal 1/2 binary32) v)
%56 = (*.f32 #s(literal 2 binary32) %55)
%57 = (*.f32 #s(literal -1 binary32) %48)
%59 = (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 1 binary32)))
%61 = (/.f32 #s(literal 1 binary32) (/.f32 %6 #s(literal -1 binary32)))
%63 = (sqrt.f32 (*.f32 %13 %13))
%64 = (pow.f32 v #s(literal -1 binary32))
%65 = (neg.f32 %10)
%66 = (exp.f32 %65)
%68 = (/.f32 #s(literal 1 binary32) (pow.f32 v #s(literal 1 binary32)))
%69 = (-.f32 %16 %18)
%70 = (neg.f32 %18)
%71 = (+.f32 %16 %70)
%72 = (+.f32 %70 %16)
%73 = (-.f32 %18 %16)
%74 = (fabs.f32 %73)
%75 = (neg.f32 %73)
%77 = (-.f32 %16 (neg.f32 %70))
%95 = (cosh.f32 (/.f32 #s(literal 0 binary32) #s(literal 2 binary32)))
%103 = (/.f32 %22 v)
%104 = (/.f32 sinTheta_O v)
%106 = (/.f32 sinTheta_i v)
%110 = (neg.f32 sinTheta_i)
%111 = (*.f32 %110 sinTheta_O)
%113 = (*.f32 %110 %104)
%115 = (*.f32 %22 #s(literal 1 binary32))
%121 = (neg.f32 %111)
%133 = (neg.f32 sinTheta_O)
%145 = (*.f32 #s(literal -1 binary32) sinTheta_O)
%147 = (*.f32 #s(literal -1 binary32) sinTheta_i)
%173 = (log.f32 #s(literal 1/2 binary32))
%181 = (/.f32 #s(literal -1/2 binary32) v)
%184 = (+.f32 v v)
%186 = (*.f32 #s(literal -2 binary32) v)
%194 = (/.f32 #s(literal 2 binary32) v)
%201 = (/.f32 #s(literal 1/2 binary32) %184)
%208 = (fma.f32 %55 #s(literal 1/2 binary32) v)
%209 = (-.f32 v %201)
%211 = (log.f32 %184)
%212 = (neg.f32 %211)
%218 = (fma.f32 v #s(literal 2 binary32) %181)
%219 = (fma.f32 #s(literal -2 binary32) v %181)
%220 = (-.f32 %218 %219)
%222 = (fma.f32 v #s(literal 2 binary32) %55)
%223 = (fma.f32 %218 #s(literal 1 binary32) %222)
%225 = (*.f32 #s(literal 2 binary32) %220)
%227 = (/.f32 #s(literal 1 binary32) %220)
%229 = (/.f32 #s(literal 1 binary32) %223)
%231 = (/.f32 #s(literal 1 binary32) %225)
%233 = (sinh.f32 %212)
%238 = (log.f32 %55)
%239 = (-.f32 #s(literal 0 binary32) %211)
%240 = (*.f32 #s(literal -1 binary32) %211)
%241 = (+.f32 #s(literal 0 binary32) %212)
%242 = (-.f32 %173 %10)
%243 = (+.f32 %173 %65)
%244 = (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))
%245 = (fma.f32 sinTheta_O sinTheta_i #s(literal 1 binary32))
%246 = (+.f32 %22 #s(literal 1 binary32))
%247 = (+.f32 #s(literal 1 binary32) %22)
%248 = (-.f32 %22 #s(literal -1 binary32))
%249 = (-.f32 #s(literal -1 binary32) %22)
%250 = (neg.f32 %249)
%251 = (-.f32 #s(literal 1 binary32) %111)
%253 = (*.f32 (neg.f32 %133) sinTheta_i)
%254 = (+.f32 #s(literal 1 binary32) %253)
%255 = (+.f32 #s(literal 1 binary32) %121)
%256 = (fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %22)
%257 = (fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %22)
%258 = (fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %22)
%259 = (fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %253)
%260 = (fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %121)
%261 = (fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %253)
%262 = (fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %121)
%263 = (fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %253)
%264 = (fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %121)
%265 = (fma.f32 cosTheta_i cosTheta_O %249)
%266 = (fma.f32 cosTheta_O cosTheta_i %249)
%267 = (-.f32 %2 %244)
%268 = (fma.f32 cosTheta_i cosTheta_O #s(literal -1 binary32))
%269 = (-.f32 %268 %22)
%270 = (+.f32 %2 %249)
%271 = (-.f32 %2 %22)
%272 = (+.f32 #s(literal -1 binary32) %271)
%273 = (+.f32 %271 #s(literal -1 binary32))
%274 = (+.f32 %249 %2)
%275 = (-.f32 %22 %2)
%276 = (-.f32 #s(literal -1 binary32) %275)
%277 = (-.f32 %271 #s(literal 1 binary32))
%278 = (+.f32 %268 %111)
%279 = (-.f32 %22 %268)
%280 = (neg.f32 %279)
%281 = (fma.f32 #s(literal 1 binary32) #s(literal -1 binary32) %271)
%282 = (fma.f32 #s(literal 2 binary32) #s(literal -1/2 binary32) %271)
%283 = (fma.f32 #s(literal -2 binary32) #s(literal 1/2 binary32) %271)
%284 = (/.f32 %267 v)
%285 = (/.f32 %279 %6)
%286 = (/.f32 %279 v)
%287 = (neg.f32 %286)
%288 = (/.f32 %267 %51)
%290 = (neg.f32 (/.f32 %267 %6))
%291 = (*.f32 %267 #s(literal 1 binary32))
%292 = (/.f32 %291 v)
%293 = (*.f32 %13 %267)
%294 = (*.f32 %267 %13)
%295 = (*.f32 %279 %48)
%297 = (/.f32 #s(literal 1 binary32) (/.f32 v %267))
%298 = (/.f32 cosTheta_O v)
%299 = (/.f32 %249 v)
%300 = (fma.f32 cosTheta_i %298 %299)
%301 = (/.f32 cosTheta_i v)
%302 = (fma.f32 cosTheta_O %301 %299)
%303 = (fma.f32 %301 cosTheta_O %299)
%304 = (fma.f32 %298 cosTheta_i %299)
%305 = (*.f32 %301 cosTheta_O)
%306 = (/.f32 %244 v)
%307 = (-.f32 %305 %306)
%308 = (/.f32 %268 v)
%309 = (-.f32 %308 %103)
%311 = (/.f32 (*.f32 %267 #s(literal -1 binary32)) %6)
%312 = (*.f32 %279 %13)
%313 = (neg.f32 %312)
%314 = (neg.f32 %306)
%315 = (fma.f32 cosTheta_i %298 %314)
%316 = (fma.f32 cosTheta_O %301 %314)
%317 = (fma.f32 %301 cosTheta_O %314)
%318 = (fma.f32 %298 cosTheta_i %314)
%319 = (/.f32 %271 v)
%320 = (+.f32 %48 %319)
%321 = (+.f32 %305 %299)
%322 = (+.f32 %319 %48)
%323 = (-.f32 %319 %13)
%324 = (+.f32 %305 %314)
%326 = (/.f32 #s(literal 1 binary32) (/.f32 %6 %279))
%328 = (neg.f32 (-.f32 %306 %305))
%331 = (neg.f32 (+.f32 (/.f32 %275 v) %13))
%332 = (*.f32 %291 %13)
%333 = (*.f32 %305 v)
%335 = (/.f32 (-.f32 %333 %244) v)
%336 = (fma.f32 %319 v #s(literal -1 binary32))
%337 = (/.f32 %336 v)
%338 = (fma.f32 %2 %13 %299)
%339 = (fma.f32 #s(literal 1 binary32) %48 %319)
%340 = (fma.f32 %13 %2 %299)
%341 = (fma.f32 %13 %271 %48)
%342 = (fma.f32 #s(literal -1 binary32) %13 %319)
%343 = (fma.f32 %271 %13 %48)
%344 = (fma.f32 %2 %13 %314)
%345 = (fma.f32 %13 %2 %314)
%346 = (-.f32 %333 %22)
%348 = (/.f32 (-.f32 %346 #s(literal 1 binary32)) v)
%350 = (/.f32 (+.f32 %346 #s(literal -1 binary32)) v)
%351 = (neg.f32 cosTheta_i)
%352 = (*.f32 %351 cosTheta_O)
%353 = (fma.f32 %352 %48 %299)
%354 = (fma.f32 %110 %104 %48)
%355 = (fma.f32 cosTheta_i %298 %354)
%356 = (fma.f32 cosTheta_O %301 %354)
%357 = (fma.f32 %301 cosTheta_O %354)
%358 = (fma.f32 %298 cosTheta_i %354)
%359 = (fma.f32 %352 %48 %314)
%360 = (+.f32 %305 %354)
%361 = (-.f32 %113 %13)
%362 = (fma.f32 cosTheta_i %298 %361)
%363 = (fma.f32 cosTheta_O %301 %361)
%364 = (fma.f32 %301 cosTheta_O %361)
%365 = (fma.f32 %298 cosTheta_i %361)
%367 = (/.f32 (neg.f32 %336) %6)
%368 = (*.f32 %2 v)
%371 = (/.f32 (-.f32 %368 (*.f32 v %244)) %8)
%372 = (*.f32 v #s(literal -1 binary32))
%374 = (/.f32 (fma.f32 %271 v %372) %8)
%375 = (*.f32 #s(literal -1 binary32) v)
%377 = (/.f32 (fma.f32 %271 v %375) %8)
%378 = (+.f32 %305 %361)
%381 = (/.f32 (-.f32 (*.f32 %319 %6) #s(literal -1 binary32)) %6)
%383 = (*.f32 v #s(literal 1 binary32))
%385 = (/.f32 (-.f32 (*.f32 %271 v) %383) %8)
%386 = (*.f32 %2 #s(literal 1 binary32))
%387 = (fma.f32 %386 %13 %299)
%388 = (*.f32 %336 %13)
%389 = (fma.f32 %386 %13 %314)
%391 = (/.f32 #s(literal 1 binary32) (/.f32 v %336))
%392 = (fma.f32 %2 %13 %354)
%393 = (fma.f32 %13 %2 %354)
%396 = (-.f32 (/.f32 (*.f32 %319 v) v) %13)
%399 = (*.f32 v %6)
%400 = (/.f32 (-.f32 (*.f32 %271 %6) %372) %399)
%401 = (fma.f32 %2 %13 %361)
%402 = (fma.f32 %13 %2 %361)
%407 = (/.f32 (-.f32 (*.f32 %352 v) (*.f32 %6 %244)) (*.f32 %6 v))
%408 = (fma.f32 %352 %48 %354)
%409 = (fma.f32 %352 %48 %361)
%410 = (fma.f32 %346 %13 %48)
%411 = (fma.f32 %386 %13 %354)
%412 = (fma.f32 %386 %13 %361)
%414 = (/.f32 (fma.f32 %346 v %372) %8)
%416 = (/.f32 (fma.f32 %346 v %375) %8)
%419 = (-.f32 %368 (*.f32 (*.f32 v sinTheta_i) sinTheta_O))
%420 = (/.f32 #s(literal 1 binary32) %8)
%421 = (fma.f32 %419 %420 %48)
%424 = (/.f32 (-.f32 (*.f32 %346 v) %383) %8)
%427 = (/.f32 (-.f32 (*.f32 %346 %6) %372) %399)
%428 = (*.f32 %8 #s(literal -1 binary32))
%430 = (*.f32 %8 v)
%431 = (/.f32 (fma.f32 %419 v %428) %430)
%434 = (/.f32 (fma.f32 %419 v (*.f32 #s(literal -1 binary32) %8)) %430)
%438 = (/.f32 (-.f32 (*.f32 %419 v) (*.f32 %8 #s(literal 1 binary32))) %430)
%442 = (/.f32 (-.f32 (*.f32 %419 %6) %428) (*.f32 %8 %6))
%443 = (log.f32 #s(literal 2 binary32))
%467 = (-.f32 %284 #s(literal -6931/10000 binary32))
%468 = (-.f32 #s(literal -6931/10000 binary32) %284)
%484 = (-.f32 %48 #s(literal -6931/10000 binary32))
%486 = (+.f32 %48 #s(literal 6931/10000 binary32))
%488 = (+.f32 #s(literal 6931/10000 binary32) %319)
%492 = (-.f32 %13 #s(literal 6931/10000 binary32))
%495 = (neg.f32 %492)
%508 = (-.f32 %113 %492)
%527 = (*.f32 v #s(literal 2 binary32))
%528 = (*.f32 #s(literal 2 binary32) v)
%529 = (fabs.f32 %184)
%530 = (-.f32 v %6)
%531 = (fabs.f32 %186)
%532 = (neg.f32 %186)
%533 = (+.f32 v %51)
%534 = (/.f32 #s(literal 1 binary32) %55)
%535 = (fma.f32 v #s(literal 1 binary32) %383)
%536 = (*.f32 #s(literal 1 binary32) v)
%537 = (fma.f32 #s(literal 1 binary32) v %536)
%538 = (+.f32 %383 %383)
%539 = (+.f32 %536 %536)
%540 = (*.f32 %184 %184)
%541 = (sqrt.f32 %540)
%542 = (fma.f32 %184 #s(literal 1/2 binary32) %383)
%543 = (/.f32 v #s(literal 2 binary32))
%544 = (fma.f32 #s(literal 2 binary32) %543 %383)
%545 = (exp.f32 %211)
%546 = (fma.f32 #s(literal 1/2 binary32) %55 %209)
%547 = (+.f32 v %546)
%548 = (+.f32 %209 %208)
%549 = (+.f32 %208 %209)
%551 = (+.f32 (+.f32 %209 v) %201)
%552 = (neg.f32 %208)
%553 = (-.f32 %209 %552)
%555 = (-.f32 %208 (neg.f32 %209))
%556 = (fma.f32 #s(literal 1/2 binary32) %218 %208)
%557 = (fma.f32 %218 #s(literal 1/2 binary32) %208)
%558 = (fma.f32 #s(literal -2 binary32) v %55)
%559 = (fma.f32 %558 #s(literal -1/2 binary32) %208)
%560 = (fma.f32 v #s(literal 1 binary32) %546)
%561 = (fma.f32 #s(literal 1/2 binary32) %222 %209)
%562 = (fma.f32 %222 #s(literal 1/2 binary32) %209)
%563 = (fma.f32 %219 #s(literal -1/2 binary32) %209)
%564 = (*.f32 #s(literal 1/2 binary32) %220)
%565 = (*.f32 %220 #s(literal 1/2 binary32))
%566 = (*.f32 %558 #s(literal 1/2 binary32))
%567 = (-.f32 %208 %566)
%568 = (+.f32 %383 %546)
%570 = (-.f32 %383 (-.f32 %201 %208))
%572 = (-.f32 (+.f32 %208 %383) %201)
%574 = (+.f32 (+.f32 %209 %383) %201)
%575 = (/.f32 %220 #s(literal 2 binary32))
%577 = (/.f32 (+.f32 %219 %558) #s(literal -2 binary32))
%579 = (/.f32 (+.f32 %558 %219) #s(literal -2 binary32))
%581 = (-.f32 %383 (fma.f32 #s(literal 1/2 binary32) %55 %552))
%583 = (/.f32 (neg.f32 %220) #s(literal -2 binary32))
%584 = (fma.f32 %184 #s(literal 1/2 binary32) %546)
%585 = (*.f32 %223 #s(literal 1/2 binary32))
%586 = (*.f32 %225 #s(literal 1/4 binary32))
%587 = (/.f32 %223 #s(literal 2 binary32))
%589 = (/.f32 (fma.f32 %208 #s(literal -2 binary32) %558) #s(literal -2 binary32))
%591 = (/.f32 (fma.f32 %208 #s(literal 2 binary32) %218) #s(literal 2 binary32))
%593 = (/.f32 (fma.f32 %209 #s(literal -2 binary32) %219) #s(literal -2 binary32))
%594 = (fma.f32 #s(literal 2 binary32) %543 %546)
%597 = (+.f32 (/.f32 (*.f32 %218 #s(literal 2 binary32)) #s(literal 4 binary32)) %208)
%598 = (/.f32 %225 #s(literal 4 binary32))
%600 = (/.f32 (neg.f32 %223) #s(literal -2 binary32))
%603 = (/.f32 (neg.f32 %225) #s(literal -4 binary32))
%606 = (/.f32 (fma.f32 %218 #s(literal -2 binary32) (*.f32 #s(literal 2 binary32) %219)) #s(literal -4 binary32))
%609 = (/.f32 (fma.f32 %218 #s(literal -2 binary32) (*.f32 %219 #s(literal 2 binary32))) #s(literal -4 binary32))
%612 = (/.f32 (fma.f32 %222 #s(literal -2 binary32) (*.f32 #s(literal 2 binary32) %558)) #s(literal -4 binary32))
%615 = (/.f32 (fma.f32 %222 #s(literal -2 binary32) (*.f32 %558 #s(literal 2 binary32))) #s(literal -4 binary32))
%618 = (/.f32 (fma.f32 %558 #s(literal 2 binary32) (*.f32 #s(literal -2 binary32) %222)) #s(literal -4 binary32))
%621 = (/.f32 (fma.f32 %558 #s(literal 2 binary32) (*.f32 %222 #s(literal -2 binary32))) #s(literal -4 binary32))
%624 = (/.f32 (fma.f32 %558 #s(literal -2 binary32) (*.f32 #s(literal -2 binary32) %219)) #s(literal 4 binary32))
%627 = (/.f32 (fma.f32 %558 #s(literal -2 binary32) (*.f32 %219 #s(literal -2 binary32))) #s(literal 4 binary32))
%630 = (/.f32 (fma.f32 %219 #s(literal 2 binary32) (*.f32 #s(literal -2 binary32) %218)) #s(literal -4 binary32))
%633 = (/.f32 (fma.f32 %219 #s(literal 2 binary32) (*.f32 %218 #s(literal -2 binary32))) #s(literal -4 binary32))
%636 = (/.f32 (fma.f32 %219 #s(literal -2 binary32) (*.f32 #s(literal -2 binary32) %558)) #s(literal 4 binary32))
%639 = (/.f32 (fma.f32 %219 #s(literal -2 binary32) (*.f32 %558 #s(literal -2 binary32))) #s(literal 4 binary32))
%641 = (/.f32 (/.f32 %225 #s(literal 2 binary32)) #s(literal 2 binary32))
%647 = (-.f32 #s(literal 6931/10000 binary32) %211)
%648 = (+.f32 #s(literal 6931/10000 binary32) %212)
%649 = (+.f32 %212 #s(literal 6931/10000 binary32))
%650 = (-.f32 %211 #s(literal 6931/10000 binary32))
%651 = (neg.f32 %650)
%653 = (neg.f32 (+.f32 #s(literal -6931/10000 binary32) %211))
%654 = (-.f32 %212 #s(literal -6931/10000 binary32))
%655 = (fma.f32 #s(literal -1 binary32) %211 #s(literal 6931/10000 binary32))
%656 = (-.f32 #s(literal 6931/10000 binary32) %10)
%657 = (+.f32 %173 %656)
%658 = (+.f32 %656 %173)
%659 = (-.f32 %10 #s(literal 6931/10000 binary32))
%660 = (-.f32 %173 %659)
%661 = (-.f32 %173 #s(literal -6931/10000 binary32))
%662 = (-.f32 %661 %10)
%663 = (+.f32 %65 %661)
%664 = (+.f32 %661 %65)
%666 = (-.f32 %173 (-.f32 #s(literal -6931/10000 binary32) %65))
%668 = (-.f32 %661 (neg.f32 %65))
%669 = (fma.f32 #s(literal -1 binary32) %10 %661)
%670 = (exp.f32 %467)
%672 = (neg.f32 %670)
%676 = (exp.f32 %284)
%677 = (exp.f32 #s(literal 6931/10000 binary32))
%680 = (exp.f32 #s(literal -6931/10000 binary32))
%682 = (neg.f32 %676)
%687 = (exp.f32 %319)
%690 = (sinh.f32 %467)
%691 = (cosh.f32 %467)
%700 = (cosh.f32 #s(literal 6931/10000 binary32))
%701 = (sinh.f32 #s(literal 6931/10000 binary32))
%702 = (*.f32 %676 %701)
%704 = (*.f32 %701 %676)
%710 = (cosh.f32 %284)
%712 = (sinh.f32 %284)
%715 = (fabs.f32 %676)
%716 = (fabs.f32 %682)
%718 = (/.f32 #s(literal 1 binary32) (exp.f32 %286))
%720 = (*.f32 %687 (exp.f32 %48))
%723 = (/.f32 (exp.f32 %305) (exp.f32 %306))
%725 = (/.f32 %687 (exp.f32 %13))
%726 = (exp.f32 %267)
%727 = (pow.f32 %726 %13)
%728 = (+.f32 %712 %710)
%729 = (+.f32 %710 %712)
%731 = (-.f32 %710 (sinh.f32 %286))
%733 = (sqrt.f32 (*.f32 %676 %676))
%735 = (-.f32 %710 (neg.f32 %712))
%736 = (/.f32 %677 %184)
%737 = (*.f32 v %680)
%738 = (/.f32 #s(literal 1/2 binary32) %737)
%739 = (*.f32 %677 #s(literal 1/2 binary32))
%740 = (/.f32 %739 v)
%741 = (/.f32 %677 v)
%742 = (*.f32 #s(literal 1/2 binary32) %741)
%743 = (*.f32 %55 %677)
%744 = (*.f32 %677 %55)
%745 = (*.f32 %741 #s(literal 1/2 binary32))
%746 = (fabs.f32 %736)
%747 = (/.f32 %741 #s(literal 2 binary32))
%748 = (/.f32 %677 #s(literal 2 binary32))
%749 = (/.f32 %748 v)
%751 = (/.f32 #s(literal -1/2 binary32) (neg.f32 %737))
%753 = (/.f32 (*.f32 %677 #s(literal -1/2 binary32)) %6)
%754 = (neg.f32 %677)
%755 = (/.f32 %754 %186)
%756 = (*.f32 %754 %181)
%758 = (neg.f32 (/.f32 %677 %186))
%759 = (neg.f32 %754)
%760 = (/.f32 %759 %184)
%762 = (fabs.f32 (neg.f32 %736))
%764 = (neg.f32 (/.f32 %754 %184))
%766 = (/.f32 (*.f32 %754 #s(literal 1/2 binary32)) %6)
%768 = (/.f32 (*.f32 #s(literal 1/2 binary32) %754) %6)
%769 = (neg.f32 %739)
%770 = (/.f32 %769 %6)
%771 = (*.f32 %677 #s(literal 1 binary32))
%772 = (/.f32 %771 %184)
%773 = (*.f32 #s(literal 1 binary32) %677)
%774 = (/.f32 %773 %184)
%775 = (*.f32 %677 #s(literal -1 binary32))
%776 = (/.f32 %775 %186)
%778 = (/.f32 (*.f32 %739 #s(literal 1 binary32)) v)
%780 = (/.f32 (*.f32 #s(literal 1 binary32) %739) v)
%781 = (*.f32 %13 %739)
%782 = (*.f32 %739 %13)
%783 = (*.f32 %771 %55)
%785 = (/.f32 #s(literal 1 binary32) (/.f32 %184 %677))
%787 = (/.f32 #s(literal 1 binary32) (/.f32 %737 #s(literal 1/2 binary32)))
%789 = (/.f32 #s(literal 1 binary32) (/.f32 v %739))
%791 = (/.f32 (*.f32 %741 #s(literal 1 binary32)) #s(literal 2 binary32))
%793 = (/.f32 (*.f32 #s(literal 1 binary32) %741) #s(literal 2 binary32))
%795 = (/.f32 (*.f32 %754 #s(literal 1 binary32)) %186)
%797 = (/.f32 (*.f32 #s(literal 1 binary32) %754) %186)
%798 = (exp.f32 %647)
%800 = (*.f32 #s(literal 1/2 binary32) (exp.f32 %656))
%802 = (/.f32 #s(literal 1 binary32) (/.f32 %186 %754))
%804 = (/.f32 #s(literal 1 binary32) (exp.f32 %650))
%807 = (+.f32 (/.f32 %700 %184) (/.f32 %701 %184))
%809 = (sqrt.f32 (*.f32 %736 %736))
%810 = (sinh.f32 %647)
%811 = (cosh.f32 %647)
%812 = (+.f32 %810 %811)
%813 = (+.f32 %811 %810)
%815 = (-.f32 %811 (sinh.f32 %650))
%817 = (-.f32 %811 (neg.f32 %810))
%818 = (cosh.f32 %661)
%819 = (sinh.f32 %661)
%820 = (*.f32 %13 %819)
%821 = (fma.f32 %13 %818 %820)
%822 = (*.f32 %819 %13)
%823 = (fma.f32 %818 %13 %822)
%825 = (+.f32 (*.f32 %818 %13) %822)
%827 = (+.f32 (*.f32 %13 %818) %820)
%828 = (*.f32 %739 %70)
%829 = (fma.f32 %739 %16 %828)
%830 = (*.f32 %70 %739)
%831 = (fma.f32 %16 %739 %830)
%833 = (+.f32 (*.f32 %739 %16) %828)
%835 = (+.f32 (*.f32 %16 %739) %830)
%837 = (/ 1/2 v)
%838 = (log %837)
%839 = (* cosTheta_O cosTheta_i)
%842 = (approx (+ %838 (/ %839 v)) %212)
%847 = (-.f32 #s(literal 1 binary32) %2)
%855 = (+ (- %839 (* sinTheta_i sinTheta_O)) -1)
%856 = (approx %855 %268)
%859 = (+ (/ %855 v) 6931/10000)
%860 = (+ %859 %838)
%861 = (approx %860 %113)
%862 = (approx %860 %284)
%874 = (exp %859)
%875 = (approx %874 %677)
%897 = (-.f32 v %55)
%910 = (fma.f32 %184 v #s(literal -1/2 binary32))
%925 = (/.f32 (*.f32 %184 v) v)
%932 = (+.f32 %209 %181)
%934 = (-.f32 %209 %55)
%946 = (/.f32 %181 #s(literal 2 binary32))
%952 = (neg.f32 %201)
%997 = (+.f32 %55 v)
%1007 = (fma.f32 %184 v #s(literal 1/2 binary32))
%1029 = (+.f32 %209 %55)
%1031 = (-.f32 %209 %181)
%1094 = (-.f32 %2 (*.f32 %211 v))
%1095 = (*.f32 %211 %6)
%1109 = (*.f32 (neg.f32 %351) cosTheta_O)
%1111 = (neg.f32 %352)
%1127 = (fma.f32 %211 %6 #s(literal -1 binary32))
%1132 = (fma.f32 %211 %6 %268)
%1139 = (-.f32 %1095 #s(literal 1 binary32))
%1145 = (-.f32 #s(literal 1 binary32) %1094)
%1155 = (+.f32 %212 %308)
%1157 = (neg.f32 %1155)
%1160 = (-.f32 %305 %211)
%1164 = (-.f32 %212 %13)
%1169 = (-.f32 %305 %13)
%1175 = (*.f32 %1132 #s(literal 1 binary32))
%1209 = (-.f32 %1155 #s(literal -6931/10000 binary32))
%1215 = (fma.f32 cosTheta_O %301 %647)
%1220 = (-.f32 #s(literal 6931/10000 binary32) %13)
%1222 = (+.f32 #s(literal 6931/10000 binary32) %48)
%1226 = (fma.f32 cosTheta_i (neg.f32 %298) %211)
%1231 = (fma.f32 v #s(literal 6931/10000 binary32) %1132)
%1236 = (fma.f32 %1215 v #s(literal -1 binary32))
%1267 = (approx %860 %647)
%1268 = (/.f32 %670 %184)
%1269 = (*.f32 %670 #s(literal 1/2 binary32))
%1270 = (/.f32 %1269 v)
%1271 = (*.f32 %55 %670)
%1272 = (*.f32 %670 %55)
%1273 = (fabs.f32 %1268)
%1275 = (/.f32 (/.f32 %670 v) #s(literal 2 binary32))
%1277 = (/.f32 (*.f32 %670 #s(literal -1/2 binary32)) %6)
%1279 = (/.f32 (*.f32 #s(literal -1/2 binary32) %670) %6)
%1280 = (/.f32 %672 %186)
%1281 = (*.f32 %672 %181)
%1283 = (neg.f32 (/.f32 %670 %186))
%1285 = (/.f32 (neg.f32 %672) %184)
%1287 = (fabs.f32 (neg.f32 %1268))
%1289 = (neg.f32 (/.f32 %672 %184))
%1291 = (/.f32 (neg.f32 %1269) %6)
%1292 = (*.f32 %670 #s(literal 1 binary32))
%1293 = (/.f32 %1292 %184)
%1295 = (/.f32 (*.f32 #s(literal 1 binary32) %670) %184)
%1296 = (*.f32 #s(literal 1 binary32) %1268)
%1298 = (/.f32 (*.f32 %670 #s(literal -1 binary32)) %186)
%1300 = (/.f32 (*.f32 #s(literal -1 binary32) %670) %186)
%1302 = (*.f32 #s(literal 1/2 binary32) (*.f32 %13 %670))
%1303 = (*.f32 %1269 %13)
%1304 = (*.f32 %1292 %55)
%1306 = (/.f32 #s(literal 1 binary32) (/.f32 %184 %670))
%1308 = (/.f32 #s(literal 1 binary32) (/.f32 v %1269))
%1309 = (-.f32 %284 %650)
%1310 = (exp.f32 %1309)
%1312 = (/.f32 #s(literal 1 binary32) (/.f32 %186 %672))
%1314 = (exp.f32 (+.f32 %284 %661))
%1315 = (/.f32 %1314 v)
%1317 = (/.f32 (*.f32 %1314 #s(literal 1 binary32)) v)
%1318 = (*.f32 %13 %1314)
%1319 = (*.f32 %1314 %13)
%1320 = (*.f32 %680 %184)
%1321 = (/.f32 %676 %1320)
%1322 = (*.f32 %676 %736)
%1323 = (*.f32 %736 %676)
%1324 = (*.f32 %676 #s(literal 1/2 binary32))
%1326 = (/.f32 %1324 (*.f32 %680 v))
%1327 = (/.f32 %1324 %737)
%1329 = (/.f32 (*.f32 #s(literal 1/2 binary32) %676) %737)
%1330 = (*.f32 %55 %676)
%1331 = (*.f32 %677 %1330)
%1333 = (/.f32 (*.f32 %676 %55) %680)
%1334 = (/.f32 %1330 %680)
%1336 = (*.f32 (/.f32 %676 #s(literal 2 binary32)) %741)
%1338 = (*.f32 (/.f32 %676 v) %748)
%1341 = (/.f32 (*.f32 %676 #s(literal -1/2 binary32)) (*.f32 %680 %6))
%1343 = (/.f32 (*.f32 %676 %754) %186)
%1346 = (/.f32 (*.f32 #s(literal -1/2 binary32) %676) (*.f32 %6 %680))
%1348 = (/.f32 (*.f32 %754 %676) %186)
%1350 = (/.f32 (*.f32 %676 #s(literal 1 binary32)) %1320)
%1353 = (/.f32 (*.f32 #s(literal 1 binary32) %676) (*.f32 %184 %680))
%1356 = (/.f32 (*.f32 %676 #s(literal -1 binary32)) (*.f32 %680 %186))
%1359 = (/.f32 (*.f32 #s(literal -1 binary32) %676) (*.f32 %186 %680))
%1361 = (*.f32 %739 (*.f32 %13 %676))
%1363 = (*.f32 (*.f32 %676 %13) %739)
%1365 = (*.f32 (/.f32 %670 %220) #s(literal 2 binary32))
%1367 = (*.f32 (/.f32 %670 %223) #s(literal 2 binary32))
%1369 = (*.f32 (/.f32 %670 %225) #s(literal 4 binary32))
%1372 = (+.f32 (/.f32 %691 %184) (/.f32 %690 %184))
%1373 = (*.f32 %55 %690)
%1374 = (fma.f32 %55 %691 %1373)
%1375 = (*.f32 %690 %55)
%1376 = (fma.f32 %691 %55 %1375)
%1378 = (sqrt.f32 (*.f32 %1268 %1268))
%1380 = (+.f32 (*.f32 %691 %55) %1375)
%1382 = (+.f32 (*.f32 %55 %691) %1373)
%1383 = (sinh.f32 %1309)
%1384 = (cosh.f32 %1309)
%1385 = (+.f32 %1383 %1384)
%1386 = (+.f32 %1384 %1383)
%1388 = (-.f32 %1384 (neg.f32 %1383))
%1389 = (*.f32 %736 %712)
%1390 = (fma.f32 %736 %710 %1389)
%1391 = (*.f32 %712 %736)
%1392 = (fma.f32 %710 %736 %1391)
%1394 = (+.f32 (*.f32 %710 %736) %1391)
%1396 = (+.f32 (*.f32 %736 %710) %1389)
%1397 = (*.f32 %70 %1314)
%1398 = (fma.f32 %16 %1314 %1397)
%1399 = (*.f32 %1314 %70)
%1400 = (fma.f32 %1314 %16 %1399)
%1402 = (+.f32 (*.f32 %1314 %16) %1399)
%1404 = (+.f32 (*.f32 %16 %1314) %1397)
%1405 = (*.f32 %676 %810)
%1406 = (fma.f32 %676 %811 %1405)
%1407 = (*.f32 %810 %676)
%1408 = (fma.f32 %811 %676 %1407)
%1410 = (+.f32 (*.f32 %676 %811) %1405)
%1412 = (+.f32 (*.f32 %811 %676) %1407)
%1418 = (exp.f32 #s(literal -1 binary32))
%1419 = (exp.f32 %271)
%1421 = (exp.f32 %2)
%1425 = (exp.f32 %244)
%1439 = (sinh.f32 %267)
%1440 = (cosh.f32 %267)
%1455 = (*.f32 #s(literal 1/2 binary32) %701)
%1457 = (*.f32 %701 #s(literal 1/2 binary32))
%1470 = (/.f32 %856 v)
%1471 = (-.f32 %1470 #s(literal -6931/10000 binary32))
%1472 = (exp.f32 %1471)
%1474 = (exp.f32 %1470)
%1477 = (+.f32 #s(literal 6931/10000 binary32) %842)
%1478 = (-.f32 %1477 %13)
%1479 = (approx %860 %1478)
%1481 = (approx %860 %1209)
cosTheta_i
cosTheta_O
%2
%3
v
(fabs.f32 v)
(fabs.f32 %6)
(sqrt.f32 %8)
(exp.f32 %10)
(+.f32 %16 %18)
sinTheta_i
sinTheta_O
%22
%23
#s(literal 1 binary32)
(fabs.f32 #s(literal 1 binary32))
(fabs.f32 #s(literal -1 binary32))
(neg.f32 #s(literal -1 binary32))
(sqrt.f32 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 0 binary32))
(+.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 2 binary32))
(/.f32 #s(literal 2 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/4 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 0 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
%13
%46
%47
%49
%50
%52
%53
%54
%56
%57
%59
%61
%63
%64
%66
%68
%69
%71
%72
%74
%75
%77
#s(literal 6931/10000 binary32)
(neg.f32 #s(literal -6931/10000 binary32))
(+.f32 #s(literal 6931/10000 binary32) #s(literal 0 binary32))
#s(literal 2 binary32)
(fabs.f32 #s(literal 2 binary32))
(neg.f32 #s(literal -2 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 4 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) (*.f32 %95 %95))
%2
%3
#s(literal -1 binary32)
(neg.f32 #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal -1/2 binary32))
(*.f32 #s(literal -2 binary32) #s(literal 1/2 binary32))
%22
%23
%103
(*.f32 sinTheta_i %104)
(*.f32 sinTheta_O %106)
(*.f32 %106 sinTheta_O)
(*.f32 %104 sinTheta_i)
(/.f32 %111 %6)
(neg.f32 %113)
(/.f32 %115 v)
(*.f32 %22 %13)
(*.f32 %13 %22)
(/.f32 #s(literal 1 binary32) (/.f32 v %22))
(/.f32 %121 %51)
(*.f32 %111 %48)
(/.f32 #s(literal 1 binary32) (/.f32 %6 %111))
(*.f32 %115 %13)
(/.f32 %22 %6)
(/.f32 %111 v)
(*.f32 sinTheta_i (neg.f32 %104))
(*.f32 sinTheta_O (neg.f32 %106))
%113
(*.f32 %133 %106)
(neg.f32 %103)
(/.f32 %111 %51)
(/.f32 %121 %6)
(*.f32 sinTheta_i (*.f32 %104 #s(literal -1 binary32)))
(*.f32 sinTheta_O (*.f32 %106 #s(literal -1 binary32)))
(*.f32 %22 %48)
(*.f32 #s(literal -1 binary32) %103)
(*.f32 %103 #s(literal -1 binary32))
(*.f32 %145 %106)
(*.f32 %147 %104)
(*.f32 %111 %13)
(neg.f32 (*.f32 %103 #s(literal 1 binary32)))
(neg.f32 (*.f32 #s(literal 1 binary32) %103))
(/.f32 #s(literal 1 binary32) (/.f32 v %111))
(/.f32 (*.f32 %111 #s(literal -1 binary32)) %6)
(/.f32 (*.f32 #s(literal -1 binary32) %111) %6)
(*.f32 %22 (*.f32 %13 #s(literal -1 binary32)))
#s(literal 1/2 binary32)
(fabs.f32 #s(literal 1/2 binary32))
(fabs.f32 #s(literal -1/2 binary32))
(neg.f32 #s(literal -1/2 binary32))
(sqrt.f32 #s(literal 1/4 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/4 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) #s(literal 2 binary32))
(/.f32 #s(literal -1 binary32) #s(literal -2 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) #s(literal 1 binary32)))
(exp.f32 %173)
(pow.f32 #s(literal 2 binary32) #s(literal -1 binary32))
(+.f32 (cosh.f32 %173) (sinh.f32 %173))
%55
(/.f32 #s(literal -1/2 binary32) %6)
(fabs.f32 %55)
(neg.f32 %181)
(/.f32 #s(literal 1/2 binary32) %51)
(/.f32 #s(literal 1 binary32) %184)
(/.f32 #s(literal -1 binary32) %186)
(*.f32 #s(literal 1 binary32) %55)
(*.f32 %13 #s(literal 1/2 binary32))
(*.f32 #s(literal -1 binary32) %181)
(*.f32 #s(literal 1/2 binary32) %13)
(*.f32 %55 #s(literal 1 binary32))
(*.f32 #s(literal -1/2 binary32) %48)
(*.f32 %194 #s(literal 1/4 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 1/2 binary32)))
(/.f32 %13 #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 %6 #s(literal -1/2 binary32)))
(*.f32 #s(literal 2 binary32) %201)
(/.f32 #s(literal 1 binary32) (/.f32 %184 #s(literal 1 binary32)))
(/.f32 #s(literal 1 binary32) (/.f32 %186 #s(literal -1 binary32)))
(pow.f32 %184 #s(literal -1 binary32))
(-.f32 %208 %209)
(exp.f32 %212)
(exp.f32 (*.f32 %211 #s(literal -1 binary32)))
(/.f32 #s(literal 1 binary32) (pow.f32 %184 #s(literal 1 binary32)))
(/.f32 #s(literal 2 binary32) %220)
(/.f32 #s(literal 2 binary32) %223)
(/.f32 #s(literal 4 binary32) %225)
(*.f32 %227 #s(literal 2 binary32))
(*.f32 %229 #s(literal 2 binary32))
(*.f32 %231 #s(literal 4 binary32))
(+.f32 %208 %233)
(fma.f32 #s(literal 1/2 binary32) %222 %233)
(fma.f32 %222 #s(literal 1/2 binary32) %233)
(fma.f32 %219 #s(literal -1/2 binary32) %233)
%212
%238
%239
%240
%241
%242
%243
%244
%245
%246
%247
%248
%250
%251
%254
%255
%256
%257
%258
%259
%260
%261
%262
%263
%264
%265
%266
%267
%269
%270
%272
%273
%274
%276
%277
%278
%280
%281
%282
%283
%284
%285
%287
%288
%290
%292
%293
%294
%295
%297
%300
%302
%303
%304
%307
%309
%311
%313
%315
%316
%317
%318
%320
%321
%322
%323
%324
%326
%328
%331
%332
%335
%337
%338
%339
%340
%341
%342
%343
%344
%345
%348
%350
%353
%355
%356
%357
%358
%359
%360
%362
%363
%364
%365
%367
%371
%374
%377
%378
%381
%385
%387
%388
%389
%391
%392
%393
%396
%400
%401
%402
%407
%408
%409
%410
%411
%412
%414
%416
%421
%424
%427
%431
%434
%438
%442
%173
(neg.f32 %443)
(-.f32 #s(literal 0 binary32) %443)
%10
%271
(fma.f32 cosTheta_i cosTheta_O %111)
(fma.f32 cosTheta_O cosTheta_i %111)
(fma.f32 sinTheta_i %133 %2)
(fma.f32 sinTheta_O %110 %2)
(fma.f32 %110 sinTheta_O %2)
(fma.f32 %133 sinTheta_i %2)
(+.f32 %2 %111)
(+.f32 %111 %2)
(neg.f32 %275)
(-.f32 %2 (*.f32 (neg.f32 %110) sinTheta_O))
(-.f32 %2 %121)
(fma.f32 %22 #s(literal -1 binary32) %2)
(fma.f32 #s(literal -1 binary32) %22 %2)
(fma.f32 %145 sinTheta_i %2)
(fma.f32 %147 sinTheta_O %2)
%265
%266
%267
%269
%270
%272
%273
%274
%276
%277
%278
%280
%281
%282
%283
%284
%285
%287
%288
%290
%292
%293
%294
%295
%297
%300
%302
%303
%304
%307
%309
%311
%313
%315
%316
%317
%318
%320
%321
%322
%323
%324
%326
%328
%331
%332
%335
%337
%338
%339
%340
%341
%342
%343
%344
%345
%348
%350
%353
%355
%356
%357
%358
%359
%360
%362
%363
%364
%365
%367
%371
%374
%377
%378
%381
%385
%387
%388
%389
%391
%392
%393
%396
%400
%401
%402
%407
%408
%409
%410
%411
%412
%414
%416
%421
%424
%427
%431
%434
%438
%442
%244
%245
%246
%247
%248
%250
%251
%254
%255
%256
%257
%258
%259
%260
%261
%262
%263
%264
#s(literal -6931/10000 binary32)
(neg.f32 #s(literal 6931/10000 binary32))
(+.f32 #s(literal 6931/10000 binary32) %284)
(+.f32 %284 #s(literal 6931/10000 binary32))
(-.f32 #s(literal 6931/10000 binary32) %286)
%467
(neg.f32 %468)
(neg.f32 (+.f32 %286 #s(literal -6931/10000 binary32)))
(/.f32 (fma.f32 v #s(literal 6931/10000 binary32) %267) v)
(fma.f32 %13 %267 #s(literal 6931/10000 binary32))
(fma.f32 %267 %13 #s(literal 6931/10000 binary32))
(fma.f32 %279 %48 #s(literal 6931/10000 binary32))
(-.f32 #s(literal 6931/10000 binary32) %312)
(-.f32 %305 (+.f32 %306 #s(literal -6931/10000 binary32)))
(-.f32 %305 (-.f32 %306 #s(literal 6931/10000 binary32)))
(-.f32 (+.f32 #s(literal 6931/10000 binary32) %305) %306)
(+.f32 %319 %484)
(+.f32 %319 %486)
(+.f32 %488 %48)
(/.f32 (fma.f32 #s(literal 6931/10000 binary32) %6 %279) %6)
(-.f32 %319 %492)
(-.f32 %488 %13)
(+.f32 %319 %495)
(neg.f32 (-.f32 %492 %319))
(fma.f32 %291 %13 #s(literal 6931/10000 binary32))
(fma.f32 %13 %271 %484)
(fma.f32 %13 %271 %486)
(fma.f32 %271 %13 %484)
(fma.f32 %271 %13 %486)
(-.f32 %305 (fma.f32 sinTheta_i %104 %492))
(fma.f32 %13 %271 %495)
(fma.f32 %271 %13 %495)
(fma.f32 cosTheta_i %298 %508)
(fma.f32 cosTheta_O %301 %508)
(fma.f32 %301 cosTheta_O %508)
(fma.f32 %298 cosTheta_i %508)
(+.f32 %305 %508)
(/.f32 (fma.f32 #s(literal 6931/10000 binary32) v %336) v)
(fma.f32 %336 %13 #s(literal 6931/10000 binary32))
(fma.f32 %2 %13 %508)
(fma.f32 %13 %2 %508)
(fma.f32 %352 %48 %508)
(fma.f32 %346 %13 %484)
(fma.f32 %346 %13 %486)
(fma.f32 %386 %13 %508)
(fma.f32 %346 %13 %495)
(fma.f32 %419 %420 %484)
(fma.f32 %419 %420 %486)
(fma.f32 %419 %420 %495)
%184
%527
%528
%529
%530
%531
%532
%533
%534
%535
%537
%538
%539
%541
%542
%544
%545
%547
%548
%549
%551
%553
%555
%556
%557
%559
%560
%561
%562
%563
%564
%565
%567
%568
%570
%572
%574
%575
%577
%579
%581
%583
%584
%585
%586
%587
%589
%591
%593
%594
%597
%598
%600
%603
%606
%609
%612
%615
%618
%621
%624
%627
%630
%633
%636
%639
%641
%211
(neg.f32 %212)
(-.f32 %211 #s(literal 0 binary32))
(+.f32 %10 %443)
(+.f32 %443 %10)
(-.f32 %10 %173)
%212
%238
%239
%240
%241
%242
%243
%184
%527
%528
%529
%530
%531
%532
%533
%534
%535
%537
%538
%539
%541
%542
%544
%545
%547
%548
%549
%551
%553
%555
%556
%557
%559
%560
%561
%562
%563
%564
%565
%567
%568
%570
%572
%574
%575
%577
%579
%581
%583
%584
%585
%586
%587
%589
%591
%593
%594
%597
%598
%600
%603
%606
%609
%612
%615
%618
%621
%624
%627
%630
%633
%636
%639
%641
%647
%648
%649
%651
%653
%654
%655
%657
%658
%660
%662
%663
%664
%666
%668
%669
%670
(fabs.f32 %670)
(fabs.f32 %672)
(/.f32 #s(literal 1 binary32) (exp.f32 %468))
(*.f32 %676 %677)
(*.f32 %677 %676)
(/.f32 %676 %680)
(/.f32 %682 (neg.f32 %680))
(/.f32 #s(literal 1 binary32) (/.f32 %680 %676))
(/.f32 %687 (exp.f32 %492))
(+.f32 %690 %691)
(+.f32 %691 %690)
(-.f32 %691 (sinh.f32 %468))
(sqrt.f32 (*.f32 %670 %670))
(-.f32 %691 (neg.f32 %690))
(fma.f32 %676 %700 %702)
(fma.f32 %700 %676 %704)
(+.f32 (*.f32 %676 %700) %702)
(+.f32 (*.f32 %700 %676) %704)
(+.f32 (/.f32 %710 %680) (/.f32 %712 %680))
%676
%715
%716
%718
%720
%723
%725
%727
%728
%729
%731
%733
%735
%736
%738
%740
%742
%743
%744
%745
%746
%747
%749
%751
%753
%755
%756
%758
%760
%762
%764
%766
%768
%770
%772
%774
%776
%778
%780
%781
%782
%783
%785
%787
%789
%791
%793
%795
%797
%798
%800
%802
%804
%807
%809
%812
%813
%815
%817
%821
%823
%825
%827
%829
%831
%833
%835
%842
%268
(fma.f32 cosTheta_O cosTheta_i #s(literal -1 binary32))
(+.f32 %2 #s(literal -1 binary32))
(+.f32 #s(literal -1 binary32) %2)
(-.f32 %2 #s(literal 1 binary32))
(neg.f32 %847)
(fma.f32 #s(literal 1 binary32) #s(literal -1 binary32) %2)
(fma.f32 #s(literal 2 binary32) #s(literal -1/2 binary32) %2)
(fma.f32 #s(literal -2 binary32) #s(literal 1/2 binary32) %2)
%856
%861
%862
%677
(fabs.f32 %677)
(fabs.f32 %754)
(/.f32 #s(literal 1 binary32) %680)
(+.f32 %701 %700)
(+.f32 %700 %701)
(-.f32 %700 (sinh.f32 #s(literal -6931/10000 binary32)))
(sqrt.f32 (*.f32 %677 %677))
(-.f32 %700 (neg.f32 %701))
%875
%741
(/.f32 %754 %6)
(neg.f32 (/.f32 %677 %6))
(neg.f32 (/.f32 %754 v))
(/.f32 #s(literal 1 binary32) %737)
(/.f32 %771 v)
(*.f32 %13 %677)
(*.f32 %677 %13)
(/.f32 %759 %51)
(/.f32 %775 %6)
(*.f32 %754 %48)
(/.f32 #s(literal 1 binary32) (/.f32 %6 %754))
(*.f32 %771 %13)
(+.f32 (/.f32 %700 v) (/.f32 %701 v))
%736
%738
%740
%742
%743
%744
%745
%746
%747
%749
%751
%753
%755
%756
%758
%760
%762
%764
%766
%768
%770
%772
%774
%776
%778
%780
%781
%782
%783
%785
%787
%789
%791
%793
%795
%797
%798
%800
%802
%804
%807
%809
%812
%813
%815
%817
%821
%823
%825
%827
%829
%831
%833
%835
(approx (* %874 %837) %736)
%218
(fma.f32 #s(literal 2 binary32) v %181)
(+.f32 v %897)
(+.f32 %184 %181)
(+.f32 %181 %184)
(+.f32 %897 v)
(-.f32 %184 %55)
(neg.f32 %558)
(-.f32 v (-.f32 %6 %181))
(-.f32 v (+.f32 %6 %55))
(-.f32 v (neg.f32 %897))
(/.f32 %910 v)
(fma.f32 #s(literal 1 binary32) %181 %184)
(fma.f32 #s(literal -1 binary32) %55 %184)
(fma.f32 #s(literal 1/2 binary32) %48 %184)
(fma.f32 #s(literal -1/2 binary32) %13 %184)
(/.f32 (neg.f32 %910) %6)
(/.f32 (-.f32 (*.f32 %184 %6) #s(literal -1/2 binary32)) %6)
(*.f32 %910 %13)
(/.f32 #s(literal 1 binary32) (/.f32 v %910))
(-.f32 %925 %55)
(/.f32 (-.f32 %540 #s(literal 1 binary32)) %184)
(/.f32 (-.f32 (*.f32 %184 %186) #s(literal -1 binary32)) %186)
(+.f32 %208 %932)
(+.f32 %208 %934)
(fma.f32 #s(literal 1/2 binary32) %220 %181)
(fma.f32 %220 #s(literal 1/2 binary32) %181)
(fma.f32 #s(literal 1/2 binary32) %222 %932)
(fma.f32 #s(literal 1/2 binary32) %222 %934)
(fma.f32 %222 #s(literal 1/2 binary32) %932)
(fma.f32 %222 #s(literal 1/2 binary32) %934)
(fma.f32 %219 #s(literal -1/2 binary32) %932)
(fma.f32 %219 #s(literal -1/2 binary32) %934)
(fma.f32 %223 #s(literal 1/2 binary32) %181)
(fma.f32 %225 #s(literal 1/4 binary32) %181)
%209
(+.f32 v %946)
(*.f32 #s(literal 1/2 binary32) %218)
(*.f32 %218 #s(literal 1/2 binary32))
(*.f32 %558 #s(literal -1/2 binary32))
(-.f32 %383 %201)
(fma.f32 v #s(literal 1 binary32) %952)
(/.f32 %218 #s(literal 2 binary32))
(/.f32 %558 #s(literal -2 binary32))
(fma.f32 v #s(literal 1 binary32) %946)
(neg.f32 %566)
(+.f32 %383 %952)
(neg.f32 (-.f32 %201 %383))
(+.f32 %383 %946)
(neg.f32 (/.f32 %558 #s(literal 2 binary32)))
(neg.f32 (/.f32 %218 #s(literal -2 binary32)))
(/.f32 %910 %184)
(/.f32 (*.f32 %910 #s(literal 1/2 binary32)) v)
(fma.f32 %184 #s(literal 1/2 binary32) %952)
(fma.f32 %184 #s(literal 1/2 binary32) %946)
(/.f32 (*.f32 %218 #s(literal 1 binary32)) #s(literal 2 binary32))
(/.f32 (-.f32 (*.f32 %184 #s(literal 2 binary32)) %13) #s(literal 4 binary32))
(/.f32 (-.f32 (*.f32 %383 #s(literal 2 binary32)) %55) #s(literal 2 binary32))
(fma.f32 #s(literal 2 binary32) %543 %952)
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal -2 binary32) %558))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %218))
(fma.f32 #s(literal 2 binary32) %543 %946)
(+.f32 %543 (/.f32 %897 #s(literal 2 binary32)))
(/.f32 (*.f32 %910 #s(literal 1 binary32)) %184)
(sinh.f32 %211)
%222
(fma.f32 #s(literal 2 binary32) v %55)
(+.f32 v (-.f32 v %181))
(+.f32 v (+.f32 v %55))
(+.f32 %55 %184)
(+.f32 %184 %55)
(+.f32 %997 v)
(-.f32 %184 %181)
(-.f32 %55 %186)
(neg.f32 %219)
(-.f32 v (-.f32 %6 %55))
(-.f32 v (+.f32 %6 %181))
(-.f32 %997 %6)
(/.f32 %1007 v)
(fma.f32 #s(literal 1 binary32) %55 %184)
(fma.f32 %13 #s(literal 1/2 binary32) %184)
(fma.f32 #s(literal -1 binary32) %181 %184)
(fma.f32 #s(literal 1/2 binary32) %13 %184)
(fma.f32 %55 #s(literal 1 binary32) %184)
(fma.f32 #s(literal -1/2 binary32) %48 %184)
(fma.f32 %194 #s(literal 1/4 binary32) %184)
(/.f32 (fma.f32 %184 %6 #s(literal -1/2 binary32)) %6)
(/.f32 (neg.f32 %1007) %6)
(fma.f32 #s(literal 2 binary32) %201 %184)
(*.f32 %1007 %13)
(/.f32 #s(literal 1 binary32) (/.f32 v %1007))
(+.f32 %925 %55)
(/.f32 (fma.f32 %184 %184 #s(literal 1 binary32)) %184)
(/.f32 (fma.f32 %184 %186 #s(literal -1 binary32)) %186)
(+.f32 %208 %1029)
(+.f32 %208 %1031)
(+.f32 (+.f32 %55 %208) %209)
(fma.f32 #s(literal 1/2 binary32) %220 %55)
(fma.f32 %220 #s(literal 1/2 binary32) %55)
(fma.f32 #s(literal 1/2 binary32) %222 %1029)
(fma.f32 #s(literal 1/2 binary32) %222 %1031)
(fma.f32 %222 #s(literal 1/2 binary32) %1029)
(fma.f32 %222 #s(literal 1/2 binary32) %1031)
(fma.f32 %219 #s(literal -1/2 binary32) %1029)
(fma.f32 %219 #s(literal -1/2 binary32) %1031)
(fma.f32 %223 #s(literal 1/2 binary32) %55)
(fma.f32 %227 #s(literal 2 binary32) %184)
(fma.f32 %225 #s(literal 1/4 binary32) %55)
(fma.f32 %229 #s(literal 2 binary32) %184)
(fma.f32 %231 #s(literal 4 binary32) %184)
(fma.f32 #s(literal 1/2 binary32) %55 v)
%208
(+.f32 v %201)
(+.f32 %201 v)
(-.f32 v %952)
(-.f32 v %946)
(neg.f32 %552)
(fma.f32 v #s(literal 1 binary32) %201)
(fma.f32 #s(literal 1 binary32) %201 v)
(fma.f32 #s(literal 1/2 binary32) %55 %383)
(fma.f32 %55 #s(literal 1/2 binary32) %383)
(*.f32 #s(literal 1/2 binary32) %222)
(*.f32 %222 #s(literal 1/2 binary32))
(*.f32 %219 #s(literal -1/2 binary32))
(+.f32 %383 %201)
(+.f32 %201 %383)
(/.f32 %222 #s(literal 2 binary32))
(/.f32 %219 #s(literal -2 binary32))
(-.f32 %383 %952)
(-.f32 %383 %946)
(/.f32 %1007 %184)
(fma.f32 %184 #s(literal 1/2 binary32) %201)
(/.f32 (*.f32 %1007 #s(literal 1/2 binary32)) v)
(fma.f32 #s(literal 1 binary32) %201 %383)
(/.f32 (fma.f32 %184 #s(literal 2 binary32) %13) #s(literal 4 binary32))
(/.f32 (fma.f32 #s(literal 2 binary32) %184 %13) #s(literal 4 binary32))
(fma.f32 #s(literal 2 binary32) %543 %201)
(/.f32 (fma.f32 %383 #s(literal 2 binary32) %55) #s(literal 2 binary32))
(/.f32 (*.f32 %222 #s(literal 1 binary32)) #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal -2 binary32) %219))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %222))
(/.f32 (*.f32 %1007 #s(literal 1 binary32)) %184)
(cosh.f32 %211)
(cosh.f32 %212)
%184
%527
%528
%529
%530
%531
%532
%533
%534
%535
%537
%538
%539
%541
%542
%544
%545
%547
%548
%549
%551
%553
%555
%556
%557
%559
%560
%561
%562
%563
%564
%565
%567
%568
%570
%572
%574
%575
%577
%579
%581
%583
%584
%585
%586
%587
%589
%591
%593
%594
%597
%598
%600
%603
%606
%609
%612
%615
%618
%621
%624
%627
%630
%633
%636
%639
%641
%65
(-.f32 #s(literal 0 binary32) %10)
(*.f32 #s(literal -1 binary32) %10)
(+.f32 #s(literal 0 binary32) %65)
(log.f32 %13)
%13
%46
%47
%49
%50
%52
%53
%54
%56
%57
%59
%61
%63
%64
%66
%68
%69
%71
%72
%74
%75
%77
%1094
(fma.f32 cosTheta_i cosTheta_O %1095)
(fma.f32 cosTheta_O cosTheta_i %1095)
(fma.f32 v %212 %2)
(fma.f32 %212 v %2)
(fma.f32 %211 %6 %2)
(+.f32 %2 %1095)
(+.f32 %1095 %2)
(-.f32 %2 (*.f32 %6 %212))
(-.f32 %2 (neg.f32 %1095))
(-.f32 %1095 %352)
(fma.f32 v %212 %1109)
(fma.f32 v %212 %1111)
(fma.f32 %212 v %1109)
(fma.f32 %212 v %1111)
(fma.f32 %211 %6 %1109)
(fma.f32 %211 %6 %1111)
(+.f32 %1095 %1109)
(+.f32 %1095 %1111)
(neg.f32 (-.f32 %352 %1095))
(+.f32 #s(literal 6931/10000 binary32) %173)
(+.f32 %173 #s(literal 6931/10000 binary32))
%661
(neg.f32 (-.f32 #s(literal -6931/10000 binary32) %173))
(-.f32 #s(literal 6931/10000 binary32) (neg.f32 %173))
(fma.f32 cosTheta_i cosTheta_O %1127)
(fma.f32 cosTheta_O cosTheta_i %1127)
(fma.f32 v %212 %268)
(fma.f32 %212 v %268)
%1132
(+.f32 #s(literal -1 binary32) %1094)
(+.f32 %1094 #s(literal -1 binary32))
(-.f32 %1094 #s(literal 1 binary32))
(+.f32 %2 %1127)
(+.f32 %268 %1095)
(+.f32 %1095 %268)
(fma.f32 cosTheta_i cosTheta_O %1139)
(fma.f32 cosTheta_O cosTheta_i %1139)
(neg.f32 (fma.f32 %211 v %847))
(+.f32 %2 %1139)
(neg.f32 %1145)
(-.f32 %1095 %847)
(-.f32 %1095 (fma.f32 %351 cosTheta_O #s(literal 1 binary32)))
(-.f32 %1095 (-.f32 %352 #s(literal -1 binary32)))
(fma.f32 #s(literal 1 binary32) #s(literal -1 binary32) %1094)
(fma.f32 #s(literal 2 binary32) #s(literal -1/2 binary32) %1094)
(fma.f32 #s(literal -2 binary32) #s(literal 1/2 binary32) %1094)
%1155
(fma.f32 #s(literal -1 binary32) %211 %308)
(neg.f32 %1157)
(/.f32 %1132 v)
(+.f32 %1160 %48)
(-.f32 %1160 %13)
(/.f32 %1145 %6)
(fma.f32 cosTheta_i %298 %1164)
(fma.f32 cosTheta_O %301 %1164)
(fma.f32 %301 cosTheta_O %1164)
(fma.f32 %298 cosTheta_i %1164)
(+.f32 %212 %1169)
(+.f32 %305 %1164)
(/.f32 %1132 %51)
(-.f32 %212 (fma.f32 %351 %298 %13))
(/.f32 %1175 v)
(*.f32 %13 %1132)
(*.f32 %1132 %13)
(*.f32 %1145 %48)
(fma.f32 #s(literal -1 binary32) %211 %1169)
(/.f32 #s(literal 1 binary32) (/.f32 v %1132))
(/.f32 (*.f32 %1132 #s(literal -1 binary32)) %6)
(/.f32 (-.f32 (*.f32 %1160 v) #s(literal 1 binary32)) v)
(+.f32 (/.f32 %1095 v) %308)
(fma.f32 %2 %13 %1164)
(fma.f32 %13 %2 %1164)
(/.f32 #s(literal 1 binary32) (/.f32 %6 %1145))
(fma.f32 %352 %48 %1164)
(/.f32 (-.f32 (*.f32 %1160 %6) #s(literal -1 binary32)) %6)
(*.f32 %1175 %13)
(fma.f32 %1094 %13 %48)
(fma.f32 %386 %13 %1164)
(/.f32 (-.f32 (*.f32 %1094 v) %383) %8)
(/.f32 (-.f32 (*.f32 %1094 %6) %372) %399)
(+.f32 #s(literal 6931/10000 binary32) %1155)
(+.f32 %1155 #s(literal 6931/10000 binary32))
%1209
(-.f32 #s(literal 6931/10000 binary32) %1157)
(neg.f32 (neg.f32 %1209))
(+.f32 %647 (fma.f32 %301 cosTheta_O %48))
(+.f32 %48 %1215)
(+.f32 %1215 %48)
(-.f32 %1215 %13)
(+.f32 %647 %1169)
(+.f32 %1160 %1220)
(+.f32 %1160 %1222)
(-.f32 %1160 %492)
(-.f32 #s(literal 6931/10000 binary32) (-.f32 %1226 %48))
(-.f32 #s(literal 6931/10000 binary32) (+.f32 %1226 %13))
(/.f32 %1231 v)
(fma.f32 %13 %1132 #s(literal 6931/10000 binary32))
(fma.f32 %1132 %13 #s(literal 6931/10000 binary32))
(fma.f32 %1145 %48 #s(literal 6931/10000 binary32))
(/.f32 %1236 v)
(fma.f32 #s(literal 1 binary32) %48 %1215)
(fma.f32 #s(literal -1 binary32) %13 %1215)
(+.f32 (/.f32 (*.f32 v #s(literal 6931/10000 binary32)) v) %1155)
(/.f32 (neg.f32 %1231) %6)
(/.f32 (fma.f32 #s(literal 6931/10000 binary32) %6 %1145) %6)
(/.f32 (neg.f32 %1236) %6)
(/.f32 (-.f32 (*.f32 %1215 %6) #s(literal -1 binary32)) %6)
(fma.f32 %1175 %13 #s(literal 6931/10000 binary32))
(*.f32 %1231 %13)
(*.f32 %1236 %13)
(/.f32 #s(literal 1 binary32) (/.f32 v %1231))
(fma.f32 %1094 %13 %1220)
(fma.f32 %1094 %13 %1222)
(/.f32 #s(literal 1 binary32) (/.f32 v %1236))
(-.f32 (/.f32 (*.f32 %1215 v) v) %13)
(+.f32 %10 #s(literal -6931/10000 binary32))
(+.f32 #s(literal -6931/10000 binary32) %10)
%659
(neg.f32 %656)
%647
%648
%649
%651
%653
%654
%655
%657
%658
%660
%662
%663
%664
%666
%668
%669
%1267
%265
%266
%267
%269
%270
%272
%273
%274
%276
%277
%278
%280
%281
%282
%283
%284
%285
%287
%288
%290
%292
%293
%294
%295
%297
%300
%302
%303
%304
%307
%309
%311
%313
%315
%316
%317
%318
%320
%321
%322
%323
%324
%326
%328
%331
%332
%335
%337
%338
%339
%340
%341
%342
%343
%344
%345
%348
%350
%353
%355
%356
%357
%358
%359
%360
%362
%363
%364
%365
%367
%371
%374
%377
%378
%381
%385
%387
%388
%389
%391
%392
%393
%396
%400
%401
%402
%407
%408
%409
%410
%411
%412
%414
%416
%421
%424
%427
%431
%434
%438
%442
%676
%715
%716
%718
%720
%723
%725
%727
%728
%729
%731
%733
%735
%736
%738
%740
%742
%743
%744
%745
%746
%747
%749
%751
%753
%755
%756
%758
%760
%762
%764
%766
%768
%770
%772
%774
%776
%778
%780
%781
%782
%783
%785
%787
%789
%791
%793
%795
%797
%798
%800
%802
%804
%807
%809
%812
%813
%815
%817
%821
%823
%825
%827
%829
%831
%833
%835
%1268
%1270
%1271
%1272
%1273
%1275
%1277
%1279
%1280
%1281
%1283
%1285
%1287
%1289
%1291
%1293
%1295
%1296
%1298
%1300
%1302
%1303
%1304
%1306
%1308
%1310
%1312
%1315
%1317
%1318
%1319
%1321
%1322
%1323
%1326
%1327
%1329
%1331
%1333
%1334
%1336
%1338
%1341
%1343
%1346
%1348
%1350
%1353
%1356
%1359
%1361
%1363
%1365
%1367
%1369
%1372
%1374
%1376
%1378
%1380
%1382
%1385
%1386
%1388
%1390
%1392
%1394
%1396
%1398
%1400
%1402
%1404
%1406
%1408
%1410
%1412
%726
(fabs.f32 %726)
(fabs.f32 (neg.f32 %726))
(/.f32 #s(literal 1 binary32) (exp.f32 %279))
(*.f32 %1418 %1419)
(*.f32 %1421 (exp.f32 %249))
(*.f32 %1419 %1418)
(/.f32 %1421 %1425)
(/.f32 (exp.f32 %268) (exp.f32 %22))
(/.f32 %1419 (exp.f32 #s(literal 1 binary32)))
(/.f32 (neg.f32 %1421) (neg.f32 %1425))
(*.f32 %1421 (/.f32 #s(literal 1 binary32) %1425))
(/.f32 #s(literal 1 binary32) (/.f32 %1425 %1421))
(+.f32 %1439 %1440)
(+.f32 %1440 %1439)
(-.f32 %1440 (sinh.f32 %279))
(sqrt.f32 (*.f32 %726 %726))
(-.f32 %1440 (neg.f32 %1439))
%676
%715
%716
%718
%720
%723
%725
%727
%728
%729
%731
%733
%735
(*.f32 #s(literal 1/2 binary32) %677)
%739
(/.f32 #s(literal 1/2 binary32) %680)
(fabs.f32 %739)
(fabs.f32 %769)
(/.f32 %773 #s(literal 2 binary32))
(exp.f32 %661)
(fma.f32 #s(literal 1/2 binary32) %700 %1455)
(fma.f32 %700 #s(literal 1/2 binary32) %1457)
(+.f32 (*.f32 %700 #s(literal 1/2 binary32)) %1457)
(+.f32 (*.f32 #s(literal 1/2 binary32) %700) %1455)
(sqrt.f32 (*.f32 %739 %739))
(+.f32 %819 %818)
(+.f32 %818 %819)
(-.f32 %818 (neg.f32 %819))
%736
%738
%740
%742
%743
%744
%745
%746
%747
%749
%751
%753
%755
%756
%758
%760
%762
%764
%766
%768
%770
%772
%774
%776
%778
%780
%781
%782
%783
%785
%787
%789
%791
%793
%795
%797
%798
%800
%802
%804
%807
%809
%812
%813
%815
%817
%821
%823
%825
%827
%829
%831
%833
%835
(exp.f32 %1267)
%1268
%1270
%1271
%1272
%1273
%1275
%1277
%1279
%1280
%1281
%1283
%1285
%1287
%1289
%1291
%1293
%1295
%1296
%1298
%1300
%1302
%1303
%1304
%1306
%1308
%1310
%1312
%1315
%1317
%1318
%1319
%1321
%1322
%1323
%1326
%1327
%1329
%1331
%1333
%1334
%1336
%1338
%1341
%1343
%1346
%1348
%1350
%1353
%1356
%1359
%1361
%1363
%1365
%1367
%1369
%1372
%1374
%1376
%1378
%1380
%1382
%1385
%1386
%1388
%1390
%1392
%1394
%1396
%1398
%1400
%1402
%1404
%1406
%1408
%1410
%1412
%1268
%1270
%1271
%1272
%1273
%1275
%1277
%1279
%1280
%1281
%1283
%1285
%1287
%1289
%1291
%1293
%1295
%1296
%1298
%1300
%1302
%1303
%1304
%1306
%1308
%1310
%1312
%1315
%1317
%1318
%1319
%1321
%1322
%1323
%1326
%1327
%1329
%1331
%1333
%1334
%1336
%1338
%1341
%1343
%1346
%1348
%1350
%1353
%1356
%1359
%1361
%1363
%1365
%1367
%1369
%1372
%1374
%1376
%1378
%1380
%1382
%1385
%1386
%1388
%1390
%1392
%1394
%1396
%1398
%1400
%1402
%1404
%1406
%1408
%1410
%1412
%1470
%1471
%1472
(*.f32 %1472 %55)
%1474
(*.f32 %1474 %736)
(/.f32 %1472 %184)
%1477
%1478
%1479
(exp.f32 %1479)
%1481
(exp.f32 %1481)
(exp.f32 %861)
(exp.f32 %862)
(*.f32 %875 %55)
%736
%738
%740
%742
%743
%744
%745
%746
%747
%749
%751
%753
%755
%756
%758
%760
%762
%764
%766
%768
%770
%772
%774
%776
%778
%780
%781
%782
%783
%785
%787
%789
%791
%793
%795
%797
%798
%800
%802
%804
%807
%809
%812
%813
%815
%817
%821
%823
%825
%827
%829
%831
%833
%835
%1268
%1270
%1271
%1272
%1273
%1275
%1277
%1279
%1280
%1281
%1283
%1285
%1287
%1289
%1291
%1293
%1295
%1296
%1298
%1300
%1302
%1303
%1304
%1306
%1308
%1310
%1312
%1315
%1317
%1318
%1319
%1321
%1322
%1323
%1326
%1327
%1329
%1331
%1333
%1334
%1336
%1338
%1341
%1343
%1346
%1348
%1350
%1353
%1356
%1359
%1361
%1363
%1365
%1367
%1369
%1372
%1374
%1376
%1378
%1380
%1382
%1385
%1386
%1388
%1390
%1392
%1394
%1396
%1398
%1400
%1402
%1404
%1406
%1408
%1410
%1412
%1268
%1270
%1271
%1272
%1273
%1275
%1277
%1279
%1280
%1281
%1283
%1285
%1287
%1289
%1291
%1293
%1295
%1296
%1298
%1300
%1302
%1303
%1304
%1306
%1308
%1310
%1312
%1315
%1317
%1318
%1319
%1321
%1322
%1323
%1326
%1327
%1329
%1331
%1333
%1334
%1336
%1338
%1341
%1343
%1346
%1348
%1350
%1353
%1356
%1359
%1361
%1363
%1365
%1367
%1369
%1372
%1374
%1376
%1378
%1380
%1382
%1385
%1386
%1388
%1390
%1392
%1394
%1396
%1398
%1400
%1402
%1404
%1406
%1408
%1410
%1412

reconstruct1.3s (4.0%)

Counts
2 300 → 599
Compiler

Compiled 2 300 to 3 080 computations (-33.9% saved)

eval306.0ms (0.9%)

Compiler

Compiled 693 to 2 572 computations (-271.1% saved)

prune65.0ms (0.2%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New67518693
Fresh000
Picked15015
Done000
Total69018708
Accuracy
99.8%
Counts
708 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
8.8%
%80 = (/.f32 #s(literal 1/2 binary32) v)
(/.f32 (exp.f32 (-.f32 (/.f32 (-.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) #s(literal 1 binary32)) v) #s(literal -6931/10000 binary32))) (+.f32 (/.f32 (+.f32 v (-.f32 v %80)) #s(literal 2 binary32)) (/.f32 (fma.f32 v #s(literal 2 binary32) %80) #s(literal 2 binary32))))
99.7%
(/.f32 (exp.f32 (-.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (approx (- (* cosTheta_O cosTheta_i) 1) #s(literal -1 binary32))) v) #s(literal -6931/10000 binary32))) (exp.f32 (log.f32 (+.f32 v v))))
99.7%
(/.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))) v) (-.f32 (log.f32 #s(literal 1/2 binary32)) #s(literal -6931/10000 binary32)))) v)
99.5%
(*.f32 (pow.f32 (exp.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32)))) (exp.f32 (neg.f32 (log.f32 v)))) (exp.f32 (-.f32 #s(literal 6931/10000 binary32) (log.f32 (+.f32 v v)))))
99.6%
(*.f32 (pow.f32 (approx (exp (- (* cosTheta_i cosTheta_O) (+ (* sinTheta_i sinTheta_O) 1))) (exp.f32 (-.f32 (*.f32 cosTheta_O cosTheta_i) #s(literal 1 binary32)))) (/.f32 #s(literal 1 binary32) v)) (exp.f32 (-.f32 #s(literal 6931/10000 binary32) (log.f32 (+.f32 v v)))))
99.7%
(*.f32 (exp.f32 (/.f32 (-.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) #s(literal 1 binary32)) v)) (*.f32 #s(literal 2097053/2097152 binary32) (exp.f32 (neg.f32 (log.f32 v)))))
99.7%
(*.f32 (exp.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))) v)) (/.f32 #s(literal 2097053/1048576 binary32) (+.f32 v v)))
99.7%
(*.f32 (exp.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (-.f32 (*.f32 cosTheta_O cosTheta_i) #s(literal 1 binary32))) v)) (*.f32 #s(literal 1/2 binary32) (exp.f32 (-.f32 #s(literal 6931/10000 binary32) (log.f32 v)))))
99.7%
(*.f32 (exp.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (approx (- (* cosTheta_O cosTheta_i) 1) #s(literal -1 binary32))) v)) (exp.f32 (-.f32 #s(literal 6931/10000 binary32) (log.f32 (+.f32 v v)))))
99.7%
(*.f32 (exp.f32 (-.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (approx (- (* cosTheta_O cosTheta_i) 1) #s(literal -1 binary32))) v) #s(literal -6931/10000 binary32))) (/.f32 #s(literal 1/2 binary32) v))
99.7%
(*.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))) v) (-.f32 (log.f32 #s(literal 1/2 binary32)) #s(literal -6931/10000 binary32)))) (/.f32 #s(literal 1 binary32) v))
4.7%
(*.f32 (approx (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) #s(literal 2097053/1048576 binary32)) (/.f32 #s(literal 1/2 binary32) v))
99.6%
%39 = (* cosTheta_O cosTheta_i)
%60 = (log (/ 1/2 v))
(exp.f32 (approx (+ (+ (/ (+ (- %39 (* sinTheta_i sinTheta_O)) -1) v) 6931/10000) %60) (-.f32 (+.f32 #s(literal 6931/10000 binary32) (approx (+ %60 (/ %39 v)) (neg.f32 (log.f32 (+.f32 v v))))) (/.f32 #s(literal 1 binary32) v))))
9.9%
(exp.f32 (approx (+ (+ (/ (+ (- (* cosTheta_O cosTheta_i) (* sinTheta_i sinTheta_O)) -1) v) 6931/10000) (log (/ 1/2 v))) (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))))
97.2%
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (/.f32 (-.f32 (*.f32 cosTheta_O cosTheta_i) (approx (+ 1 (* sinTheta_O sinTheta_i)) #s(literal 1 binary32))) v)))
12.9%
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (approx (/ (- (* cosTheta_O cosTheta_i) (+ 1 (* sinTheta_O sinTheta_i))) v) (/.f32 (*.f32 cosTheta_O cosTheta_i) v))))
4.7%
(approx (* (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) (/ 1/2 v)) (/.f32 #s(literal 1/2 binary32) (*.f32 v (exp.f32 #s(literal -6931/10000 binary32)))))
4.7%
(approx (* (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) (/ 1/2 v)) (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 2097053/1048576 binary32) v)))
Compiler

Compiled 18 to 92 computations (-411.1% saved)

sample7.0ms (0.0%)

Calls
Call 1
Inputs
%1 = (log 1/2)
%1
(exp -6931/10000)
(- %1 -6931/10000)
Outputs
#s(literal -1453635/2097152 binary32)
#s(literal 2097251/4194304 binary32)
#s(literal -6484447/137438953472 binary32)
Samples
0.0ms1valid
Compiler

Compiled 10 to 7 computations (30.0% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-exp!: 0.0ms (0.0% of total, 0.0 MiB)
adjust: 0.0ms (0.0% of total, 0.0 MiB)
ival-log!: 0.0ms (0.0% of total, 0.0 MiB)
ival-sub!: 0.0ms (0.0% of total, 0.0 MiB)
const: 0.0ms (0.0% of total, 0.0 MiB)

series4.0s (11.9%)

Counts
106 → 444
Calls
Call 1
Inputs
%2 = (*.f32 cosTheta_i cosTheta_O)
%6 = (*.f32 sinTheta_i sinTheta_O)
%8 = (/.f32 #s(literal 1 binary32) v)
%11 = (*.f32 cosTheta_O cosTheta_i)
%12 = (/.f32 %11 v)
%15 = (/.f32 #s(literal 1/2 binary32) v)
%16 = (/.f32 sinTheta_O v)
%17 = (log.f32 #s(literal 1/2 binary32))
%18 = (log.f32 v)
%19 = (neg.f32 sinTheta_i)
%20 = (*.f32 %19 %16)
%21 = (-.f32 %2 %6)
%22 = (-.f32 %21 #s(literal 1 binary32))
%23 = (/.f32 %22 v)
%24 = (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))
%26 = (-.f32 %23 #s(literal -6931/10000 binary32))
%27 = (+.f32 v v)
%28 = (log.f32 %27)
%29 = (neg.f32 %28)
%30 = (exp.f32 %28)
%31 = (-.f32 #s(literal 6931/10000 binary32) %28)
%32 = (exp.f32 %26)
%33 = (exp.f32 %23)
%34 = (exp.f32 %31)
%35 = (-.f32 %11 #s(literal 1 binary32))
%36 = (* cosTheta_i cosTheta_O)
%37 = (* sinTheta_i sinTheta_O)
%40 = (- (- %36 %37) 1)
%41 = (approx %40 %35)
%42 = (fma.f32 v #s(literal 2 binary32) %15)
%43 = (/.f32 %42 #s(literal 2 binary32))
%44 = (neg.f32 %18)
%45 = (exp.f32 %44)
%46 = (-.f32 %2 %24)
%47 = (/.f32 %46 v)
%48 = (exp.f32 %47)
%49 = (exp.f32 #s(literal -6931/10000 binary32))
%50 = (*.f32 v %49)
%51 = (exp.f32 %46)
%52 = (/.f32 %41 v)
%53 = (exp.f32 %52)
%56 = (* cosTheta_O cosTheta_i)
%58 = (approx (- %56 1) #s(literal -1 binary32))
%60 = (+ 1 (* sinTheta_O sinTheta_i))
%63 = (approx (/ (- %56 %60) v) %12)
%64 = (approx %60 #s(literal 1 binary32))
%65 = (exp.f32 %35)
%69 = (approx (exp (- %36 (+ %37 1))) %65)
%70 = (-.f32 #s(literal 6931/10000 binary32) %18)
%71 = (-.f32 %17 #s(literal -6931/10000 binary32))
%72 = (/.f32 #s(literal 1/2 binary32) %50)
%73 = (exp.f32 %70)
%74 = (*.f32 #s(literal 1/2 binary32) %73)
%76 = (/ 1/2 v)
%77 = (log %76)
%80 = (approx (+ %77 (/ %56 v)) %29)
%87 = (+ (+ (/ (+ (- %56 %37) -1) v) 6931/10000) %77)
%88 = (approx %87 %20)
%89 = (-.f32 v %15)
%90 = (+.f32 v %89)
%91 = (+.f32 %47 %71)
%92 = (exp.f32 %91)
%95 = (+.f32 #s(literal 6931/10000 binary32) %80)
%96 = (-.f32 %95 %8)
%97 = (approx %87 %96)
%110 = (+ (+ (- (- (/ %36 v) (/ %37 v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v))))
%111 = (approx %110 %63)
%113 = (pow.f32 %69 %8)
%116 = (-.f32 %11 %64)
%117 = (/.f32 %116 v)
%118 = (approx %110 %117)
%120 = (/.f32 %90 #s(literal 2 binary32))
%121 = (+.f32 %120 %43)
%123 = (*.f32 #s(literal 2097053/2097152 binary32) %45)
%125 = (approx %40 %58)
%126 = (/.f32 %125 v)
%127 = (-.f32 %126 #s(literal -6931/10000 binary32))
%128 = (exp.f32 %127)
%130 = (exp.f32 %126)
%136 = (exp (- (/ %40 v) -6931/10000))
%137 = (* %136 %76)
%139 = (pow.f32 %51 %45)
%141 = (/.f32 #s(literal 2097053/1048576 binary32) v)
%142 = (*.f32 #s(literal 1/2 binary32) %141)
%144 = (approx %136 #s(literal 2097053/1048576 binary32))
%146 = (/.f32 #s(literal 2097053/1048576 binary32) %27)
cosTheta_i
cosTheta_O
%2
v
sinTheta_i
sinTheta_O
%6
#s(literal 1 binary32)
%8
#s(literal 6931/10000 binary32)
#s(literal 2 binary32)
%11
%12
#s(literal -1 binary32)
#s(literal 1/2 binary32)
%15
%16
%17
%18
%19
%20
%21
%22
%23
%24
#s(literal -6931/10000 binary32)
%26
%27
%28
%29
%30
%31
%32
%33
%34
%35
%41
%42
%43
%44
%45
%46
%47
%48
%49
%50
%51
%52
%53
#s(literal 2097053/1048576 binary32)
#s(literal 2097053/2097152 binary32)
%58
%63
%64
%65
%69
%70
%71
%72
%73
%74
%80
%88
%89
%90
%91
%92
(/.f32 %92 v)
(*.f32 %92 %8)
%95
%96
%97
(exp.f32 %97)
(exp.f32 %88)
%111
(exp.f32 %111)
%113
(*.f32 %113 %34)
(*.f32 %53 %74)
%116
%117
%118
(exp.f32 %118)
%120
%121
(/.f32 %32 %121)
%123
(*.f32 %33 %123)
%125
%126
%127
%128
(*.f32 %128 %15)
%130
(*.f32 %130 %34)
(/.f32 %128 %30)
(approx %137 %72)
%139
(*.f32 %139 %34)
%141
%142
(approx %137 %142)
%144
(*.f32 %144 %15)
%146
(*.f32 %48 %146)
Outputs
%5 = (* cosTheta_i cosTheta_O)
%6 = (*.f32 cosTheta_O cosTheta_i)
%8 = (* cosTheta_O cosTheta_i)
%10 = (/ %8 v)
%11 = (/.f32 %6 v)
%15 = (* sinTheta_i sinTheta_O)
%16 = (- %5 %15)
%18 = (*.f32 sinTheta_O sinTheta_i)
%19 = (*.f32 #s(literal -1 binary32) %18)
%24 = (- %16 1)
%26 = (+.f32 #s(literal 1 binary32) %18)
%27 = (*.f32 #s(literal -1 binary32) %26)
%29 = (-.f32 %6 %26)
%31 = (/ %24 v)
%32 = (/.f32 %26 v)
%33 = (*.f32 #s(literal -1 binary32) %32)
%38 = (- %31 -6931/10000)
%40 = (/.f32 #s(literal 1 binary32) v)
%41 = (/.f32 %18 v)
%42 = (+.f32 %40 %41)
%43 = (-.f32 #s(literal 6931/10000 binary32) %42)
%45 = (+.f32 #s(literal 6931/10000 binary32) %11)
%46 = (-.f32 %45 %42)
%48 = (exp %38)
%49 = (exp.f32 %43)
%51 = (*.f32 cosTheta_i %49)
%52 = (*.f32 cosTheta_O %51)
%58 = (pow.f32 cosTheta_O #s(literal 2 binary32))
%59 = (*.f32 %58 %51)
%60 = (pow.f32 v #s(literal 2 binary32))
%62 = (*.f32 cosTheta_O %49)
%63 = (/.f32 %62 v)
%70 = (pow.f32 cosTheta_O #s(literal 3 binary32))
%71 = (*.f32 %70 %51)
%72 = (pow.f32 v #s(literal 3 binary32))
%74 = (*.f32 %58 %49)
%82 = (exp %31)
%83 = (exp.f32 %33)
%85 = (*.f32 cosTheta_i %83)
%86 = (*.f32 cosTheta_O %85)
%90 = (*.f32 %58 %85)
%92 = (*.f32 cosTheta_O %83)
%93 = (/.f32 %92 v)
%98 = (*.f32 %70 %85)
%100 = (*.f32 %58 %83)
%108 = (- %8 1)
%110 = (-.f32 %6 #s(literal 1 binary32))
%112 = (+ %15 1)
%113 = (- %5 %112)
%114 = (exp %113)
%116 = (exp.f32 (neg.f32 %26))
%118 = (*.f32 cosTheta_i %116)
%129 = (*.f32 %58 %116)
%137 = (exp %108)
%138 = (exp.f32 #s(literal -1 binary32))
%140 = (*.f32 cosTheta_i %138)
%160 = (/ 1/2 v)
%161 = (log %160)
%162 = (+ %161 %10)
%163 = (/.f32 #s(literal 1/2 binary32) v)
%164 = (log.f32 %163)
%166 = (+.f32 %164 %11)
%174 = (+ (+ (/ (+ (- %8 %15) -1) v) 6931/10000) %161)
%175 = (+.f32 #s(literal 6931/10000 binary32) %164)
%176 = (-.f32 %175 %42)
%178 = (+.f32 #s(literal 6931/10000 binary32) %166)
%179 = (-.f32 %178 %42)
%181 = (/ %113 v)
%184 = (+ %181 (- (log 1/2) -6931/10000))
%185 = (log.f32 #s(literal 1/2 binary32))
%186 = (+.f32 #s(literal 6931/10000 binary32) %185)
%187 = (-.f32 %186 %42)
%190 = (+.f32 #s(literal 6931/10000 binary32) (+.f32 %185 %11))
%191 = (-.f32 %190 %42)
%193 = (exp %184)
%194 = (exp.f32 %187)
%196 = (*.f32 cosTheta_i %194)
%197 = (*.f32 cosTheta_O %196)
%201 = (*.f32 %58 %196)
%203 = (*.f32 cosTheta_O %194)
%204 = (/.f32 %203 v)
%209 = (*.f32 %70 %196)
%211 = (*.f32 %58 %194)
%219 = (/ %193 v)
%220 = (/.f32 %194 v)
%226 = (/.f32 %203 %60)
%231 = (pow.f32 v #s(literal 4 binary32))
%239 = (+ 6931/10000 %162)
%242 = (/ 1 v)
%243 = (- %239 %242)
%244 = (-.f32 %175 %40)
%246 = (-.f32 %178 %40)
%248 = (exp %174)
%249 = (exp.f32 %176)
%251 = (*.f32 cosTheta_i %249)
%259 = (/.f32 (*.f32 cosTheta_O %249) v)
%274 = (pow %114 %242)
%275 = (*.f32 %116 %83)
%276 = (*.f32 cosTheta_i %275)
%278 = (exp.f32 %27)
%279 = (*.f32 v %278)
%283 = (pow.f32 %116 #s(literal 2 binary32))
%284 = (*.f32 %58 %283)
%285 = (pow.f32 %278 #s(literal 2 binary32))
%286 = (*.f32 %60 %285)
%290 = (exp.f32 (*.f32 #s(literal -2 binary32) %26))
%293 = (fma.f32 #s(literal -1 binary32) (/.f32 %284 %290) (/.f32 %129 %278))
%296 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %284 %286) (*.f32 #s(literal 1/2 binary32) (/.f32 %293 v)))
%297 = (*.f32 %83 %296)
%299 = (/.f32 (*.f32 cosTheta_O %275) %279)
%304 = (pow.f32 %116 #s(literal 3 binary32))
%305 = (*.f32 %70 %304)
%306 = (pow.f32 %278 #s(literal 3 binary32))
%307 = (*.f32 %72 %306)
%313 = (exp.f32 (*.f32 #s(literal -3 binary32) %26))
%318 = (fma.f32 #s(literal -3 binary32) (/.f32 (*.f32 %70 %283) %290) (fma.f32 #s(literal 2 binary32) (/.f32 %305 %313) (/.f32 (*.f32 %70 %116) %278)))
%320 = (*.f32 %116 %293)
%322 = (*.f32 %60 %278)
%326 = (fma.f32 #s(literal 1/6 binary32) (/.f32 %305 %307) (fma.f32 #s(literal 1/6 binary32) (/.f32 %318 v) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O %320) %322))))
%333 = (+ v v)
%334 = (log %333)
%335 = (- 6931/10000 %334)
%336 = (exp %335)
%337 = (* %274 %336)
%338 = (*.f32 #s(literal 2 binary32) v)
%341 = (exp.f32 (-.f32 #s(literal 6931/10000 binary32) (log.f32 %338)))
%342 = (*.f32 %83 %341)
%344 = (*.f32 %116 %342)
%345 = (*.f32 cosTheta_i %344)
%351 = (*.f32 %83 (*.f32 %341 %296))
%353 = (/.f32 (*.f32 cosTheta_O %344) %279)
%363 = (log v)
%364 = (- 6931/10000 %363)
%365 = (exp %364)
%366 = (* 1/2 %365)
%367 = (* %82 %366)
%368 = (log.f32 v)
%369 = (-.f32 #s(literal 6931/10000 binary32) %368)
%370 = (exp.f32 %369)
%371 = (*.f32 %83 %370)
%374 = (*.f32 cosTheta_i %371)
%384 = (/.f32 (*.f32 cosTheta_O %371) v)
%402 = (- v %160)
%403 = (+ v %402)
%405 = (/ %403 2)
%407 = (+ (* v 2) %160)
%408 = (/ %407 2)
%410 = (/ %48 (+ %405 %408))
%411 = (*.f32 #s(literal 1/2 binary32) %40)
%415 = (fma.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal 2 binary32) v %411) (*.f32 #s(literal 1/2 binary32) (-.f32 %338 %411)))
%416 = (/.f32 %49 %415)
%418 = (*.f32 v %415)
%422 = (*.f32 %60 %415)
%424 = (/.f32 %62 %418)
%428 = (*.f32 %72 %415)
%437 = (neg %363)
%438 = (exp %437)
%439 = (* 2097053/2097152 %438)
%440 = (* %82 %439)
%443 = (exp.f32 (neg.f32 %368))
%444 = (*.f32 %443 %83)
%447 = (*.f32 cosTheta_i %444)
%457 = (/.f32 (*.f32 cosTheta_O %444) v)
%475 = (* %48 %160)
%476 = (/.f32 %49 v)
%484 = (/.f32 %62 %60)
%499 = (* %82 %336)
%500 = (*.f32 cosTheta_i %342)
%508 = (/.f32 (*.f32 cosTheta_O %342) v)
%521 = (pow %114 %438)
%524 = (exp.f32 (*.f32 #s(literal -1 binary32) (*.f32 %443 %26)))
%527 = (*.f32 %443 (*.f32 %116 %524))
%528 = (*.f32 cosTheta_i %527)
%534 = (pow.f32 %443 #s(literal 2 binary32))
%535 = (*.f32 %534 %283)
%539 = (fma.f32 #s(literal 1/2 binary32) (*.f32 %443 %293) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %58 %535) %285)))
%540 = (*.f32 %524 %539)
%542 = (/.f32 (*.f32 cosTheta_O %527) %278)
%548 = (pow.f32 %443 #s(literal 3 binary32))
%549 = (*.f32 %548 %304)
%557 = (fma.f32 #s(literal 1/6 binary32) (*.f32 %443 %318) (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %70 %549) %306) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %534 %320)) %278))))
%564 = (* %521 %336)
%565 = (*.f32 %524 %341)
%568 = (*.f32 %443 (*.f32 %116 %565))
%569 = (*.f32 cosTheta_i %568)
%575 = (*.f32 %524 (*.f32 %341 %539))
%577 = (/.f32 (*.f32 cosTheta_O %568) %278)
%590 = (* (exp %181) (/ 2097053/1048576 %333))
%591 = (/.f32 %83 v)
%599 = (/.f32 %92 %60)
%614 = (/.f32 %18 cosTheta_i)
%624 = (*.f32 cosTheta_i v)
%626 = (/.f32 cosTheta_O v)
%630 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%632 = (/.f32 #s(literal 1 binary32) %624)
%634 = (+.f32 %632 (/.f32 %18 %624))
%638 = (exp.f32 %46)
%640 = (/.f32 %29 v)
%641 = (exp.f32 %640)
%648 = (exp.f32 %110)
%650 = (/.f32 %164 cosTheta_i)
%651 = (+.f32 %626 %650)
%654 = (fma.f32 #s(literal 6931/10000 binary32) %630 %651)
%664 = (exp.f32 %191)
%689 = (exp.f32 (*.f32 %443 %29))
%749 = (pow.f32 cosTheta_i #s(literal 2 binary32))
%750 = (*.f32 %749 %49)
%751 = (*.f32 cosTheta_O %750)
%753 = (/.f32 %51 v)
%758 = (pow.f32 cosTheta_i #s(literal 3 binary32))
%760 = (*.f32 cosTheta_O (*.f32 %758 %49))
%769 = (*.f32 %749 %83)
%770 = (*.f32 cosTheta_O %769)
%772 = (/.f32 %85 v)
%778 = (*.f32 cosTheta_O (*.f32 %758 %83))
%787 = (*.f32 %749 %116)
%793 = (*.f32 %758 %116)
%801 = (*.f32 %749 %138)
%815 = (*.f32 %749 %194)
%816 = (*.f32 cosTheta_O %815)
%818 = (/.f32 %196 v)
%824 = (*.f32 cosTheta_O (*.f32 %758 %194))
%834 = (/.f32 %196 %60)
%845 = (*.f32 %749 %249)
%848 = (/.f32 %251 v)
%863 = (*.f32 %749 %283)
%867 = (fma.f32 #s(literal -1 binary32) (/.f32 %863 %290) (/.f32 %787 %278))
%870 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %863 %286) (*.f32 #s(literal 1/2 binary32) (/.f32 %867 v)))
%871 = (*.f32 %83 %870)
%872 = (/.f32 %276 %279)
%877 = (*.f32 %758 %304)
%884 = (fma.f32 #s(literal -3 binary32) (/.f32 (*.f32 %758 %283) %290) (fma.f32 #s(literal 2 binary32) (/.f32 %877 %313) (/.f32 %793 %278)))
%886 = (*.f32 %116 %867)
%891 = (fma.f32 #s(literal 1/6 binary32) (/.f32 %877 %307) (fma.f32 #s(literal 1/6 binary32) (/.f32 %884 v) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_i %886) %322))))
%899 = (*.f32 %83 (*.f32 %341 %870))
%900 = (/.f32 %345 %279)
%910 = (*.f32 %749 %371)
%913 = (/.f32 %374 v)
%931 = (/.f32 %51 %418)
%942 = (*.f32 %749 %444)
%945 = (/.f32 %447 v)
%963 = (/.f32 %51 %60)
%978 = (*.f32 %749 %342)
%981 = (/.f32 %500 v)
%998 = (fma.f32 #s(literal 1/2 binary32) (*.f32 %443 %867) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %749 %535) %285)))
%999 = (*.f32 %524 %998)
%1000 = (/.f32 %528 %278)
%1013 = (fma.f32 #s(literal 1/6 binary32) (*.f32 %443 %884) (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %758 %549) %306) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_i (*.f32 %534 %886)) %278))))
%1021 = (*.f32 %524 (*.f32 %341 %998))
%1022 = (/.f32 %569 %278)
%1033 = (/.f32 %85 %60)
%1048 = (/.f32 %18 cosTheta_O)
%1058 = (*.f32 cosTheta_O v)
%1060 = (/.f32 cosTheta_i v)
%1064 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%1066 = (/.f32 #s(literal 1 binary32) %1058)
%1068 = (+.f32 %1066 (/.f32 %18 %1058))
%1075 = (/.f32 %164 cosTheta_O)
%1076 = (+.f32 %1060 %1075)
%1079 = (fma.f32 #s(literal 6931/10000 binary32) %1064 %1076)
%1148 = (neg sinTheta_i)
%1149 = (*.f32 #s(literal -1 binary32) sinTheta_i)
%1151 = (/ sinTheta_O v)
%1155 = (fma.f32 #s(literal -1 binary32) %18 %6)
%1159 = (/.f32 %110 v)
%1161 = (fma.f32 #s(literal -1 binary32) %41 %11)
%1166 = (-.f32 %45 %40)
%1171 = (exp.f32 %1166)
%1173 = (*.f32 sinTheta_i %1171)
%1174 = (*.f32 sinTheta_O %1173)
%1179 = (*.f32 sinTheta_O %1171)
%1180 = (/.f32 %1179 v)
%1181 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%1182 = (*.f32 %1181 %1173)
%1190 = (pow.f32 sinTheta_O #s(literal 3 binary32))
%1191 = (*.f32 %1190 %1173)
%1193 = (*.f32 %1181 %1171)
%1202 = (exp.f32 %1159)
%1204 = (*.f32 sinTheta_i %1202)
%1205 = (*.f32 sinTheta_O %1204)
%1210 = (*.f32 sinTheta_O %1202)
%1211 = (/.f32 %1210 v)
%1212 = (*.f32 %1181 %1204)
%1219 = (*.f32 %1190 %1204)
%1221 = (*.f32 %1181 %1202)
%1230 = (*.f32 sinTheta_i %648)
%1235 = (*.f32 sinTheta_O %648)
%1255 = (-.f32 %190 %40)
%1261 = (exp.f32 %1255)
%1263 = (*.f32 sinTheta_i %1261)
%1264 = (*.f32 sinTheta_O %1263)
%1269 = (*.f32 sinTheta_O %1261)
%1270 = (/.f32 %1269 v)
%1271 = (*.f32 %1181 %1263)
%1278 = (*.f32 %1190 %1263)
%1280 = (*.f32 %1181 %1261)
%1289 = (/.f32 %1261 v)
%1294 = (/.f32 %1269 %60)
%1308 = (exp.f32 %246)
%1310 = (*.f32 sinTheta_i %1308)
%1317 = (/.f32 (*.f32 sinTheta_O %1308) v)
%1336 = (pow.f32 %648 #s(literal 2 binary32))
%1339 = (exp.f32 (*.f32 #s(literal 2 binary32) %110))
%1341 = (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 %1181 %1336) %1339) %1181)
%1346 = (*.f32 %1202 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1341 v) (*.f32 #s(literal 1/2 binary32) (/.f32 %1181 %60))))
%1356 = (pow.f32 %648 #s(literal 3 binary32))
%1359 = (exp.f32 (*.f32 #s(literal 3 binary32) %110))
%1365 = (fma.f32 #s(literal -2 binary32) (/.f32 (*.f32 %1190 %1356) %1359) (fma.f32 #s(literal -1 binary32) %1190 (*.f32 #s(literal 3 binary32) (/.f32 (*.f32 %1190 %1336) %1339))))
%1370 = (*.f32 %1202 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 sinTheta_O %1341) %60) (fma.f32 #s(literal -1/6 binary32) (/.f32 %1190 %72) (*.f32 #s(literal 1/6 binary32) (/.f32 %1365 v)))))
%1377 = (*.f32 %341 %1202)
%1379 = (*.f32 sinTheta_i %1377)
%1385 = (/.f32 (*.f32 sinTheta_O %1377) v)
%1386 = (*.f32 %341 %1346)
%1397 = (*.f32 %370 %1202)
%1398 = (*.f32 #s(literal 1/2 binary32) %1397)
%1400 = (*.f32 sinTheta_i %1397)
%1406 = (/.f32 (*.f32 sinTheta_O %1397) v)
%1426 = (/.f32 %1171 %415)
%1431 = (/.f32 %1179 %418)
%1445 = (*.f32 %443 %1202)
%1446 = (*.f32 #s(literal 2097053/2097152 binary32) %1445)
%1449 = (*.f32 sinTheta_i %1445)
%1455 = (/.f32 (*.f32 sinTheta_O %1445) v)
%1475 = (/.f32 %1171 v)
%1476 = (*.f32 #s(literal 1/2 binary32) %1475)
%1481 = (/.f32 %1179 %60)
%1514 = (exp.f32 (*.f32 %443 %110))
%1516 = (*.f32 %443 %1514)
%1517 = (*.f32 sinTheta_i %1516)
%1522 = (*.f32 sinTheta_O %1516)
%1526 = (fma.f32 #s(literal 1/2 binary32) (*.f32 %443 %1341) (*.f32 #s(literal 1/2 binary32) (*.f32 %1181 %534)))
%1527 = (*.f32 %1514 %1526)
%1539 = (fma.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_O (*.f32 %534 %1341)) (fma.f32 #s(literal -1/6 binary32) (*.f32 %1190 %548) (*.f32 #s(literal 1/6 binary32) (*.f32 %443 %1365))))
%1547 = (*.f32 %1514 %341)
%1549 = (*.f32 %443 %1547)
%1550 = (*.f32 sinTheta_i %1549)
%1554 = (*.f32 sinTheta_O %1549)
%1556 = (*.f32 %1514 (*.f32 %341 %1526))
%1568 = (/.f32 %1202 v)
%1569 = (*.f32 #s(literal 2097053/2097152 binary32) %1568)
%1574 = (/.f32 %1210 %60)
%1590 = (/.f32 %6 sinTheta_i)
%1594 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%1595 = (+.f32 sinTheta_O %1594)
%1599 = (/.f32 sinTheta_O v)
%1600 = (*.f32 sinTheta_i v)
%1601 = (/.f32 %6 %1600)
%1603 = (/.f32 #s(literal 1 binary32) %1600)
%1610 = (+.f32 %1603 %1599)
%1627 = (*.f32 #s(literal -1 binary32) sinTheta_O)
%1638 = (-.f32 %11 %40)
%1650 = (*.f32 #s(literal -1 binary32) %1599)
%1669 = (/.f32 %1173 v)
%1670 = (pow.f32 sinTheta_i #s(literal 2 binary32))
%1671 = (*.f32 %1670 %1171)
%1672 = (*.f32 sinTheta_O %1671)
%1679 = (pow.f32 sinTheta_i #s(literal 3 binary32))
%1681 = (*.f32 sinTheta_O (*.f32 %1679 %1171))
%1691 = (/.f32 %1204 v)
%1692 = (*.f32 %1670 %1202)
%1693 = (*.f32 sinTheta_O %1692)
%1701 = (*.f32 sinTheta_O (*.f32 %1679 %1202))
%1711 = (*.f32 %1670 %648)
%1727 = (/.f32 %1263 v)
%1728 = (*.f32 %1670 %1261)
%1729 = (*.f32 sinTheta_O %1728)
%1737 = (*.f32 sinTheta_O (*.f32 %1679 %1261))
%1747 = (/.f32 %1263 %60)
%1761 = (/.f32 %1310 v)
%1762 = (*.f32 %1670 %1308)
%1783 = (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 %1670 %1336) %1339) %1670)
%1788 = (*.f32 %1202 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1783 v) (*.f32 #s(literal 1/2 binary32) (/.f32 %1670 %60))))
%1803 = (fma.f32 #s(literal -2 binary32) (/.f32 (*.f32 %1679 %1356) %1359) (fma.f32 #s(literal -1 binary32) %1679 (*.f32 #s(literal 3 binary32) (/.f32 (*.f32 %1679 %1336) %1339))))
%1808 = (*.f32 %1202 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 sinTheta_i %1783) %60) (fma.f32 #s(literal -1/6 binary32) (/.f32 %1679 %72) (*.f32 #s(literal 1/6 binary32) (/.f32 %1803 v)))))
%1815 = (/.f32 %1379 v)
%1816 = (*.f32 %341 %1788)
%1827 = (/.f32 %1400 v)
%1828 = (*.f32 %1670 %1397)
%1847 = (/.f32 %1173 %418)
%1861 = (/.f32 %1449 v)
%1862 = (*.f32 %1670 %1445)
%1881 = (/.f32 %1173 %60)
%1897 = (*.f32 %1670 %1377)
%1917 = (fma.f32 #s(literal 1/2 binary32) (*.f32 %443 %1783) (*.f32 #s(literal 1/2 binary32) (*.f32 %1670 %534)))
%1918 = (*.f32 %1514 %1917)
%1930 = (fma.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_i (*.f32 %534 %1783)) (fma.f32 #s(literal -1/6 binary32) (*.f32 %1679 %548) (*.f32 #s(literal 1/6 binary32) (*.f32 %443 %1803))))
%1939 = (*.f32 %1514 (*.f32 %341 %1917))
%1951 = (/.f32 %1204 %60)
%1967 = (/.f32 %6 sinTheta_O)
%1971 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%1972 = (+.f32 sinTheta_i %1971)
%1976 = (/.f32 sinTheta_i v)
%1977 = (*.f32 sinTheta_O v)
%1978 = (/.f32 %6 %1977)
%1980 = (/.f32 #s(literal 1 binary32) %1977)
%1987 = (+.f32 %1980 %1976)
%2025 = (*.f32 #s(literal -1 binary32) %1976)
%2052 = (log.f32 #s(literal 2 binary32))
%2053 = (+.f32 %2052 %368)
%2055 = (neg %334)
%2058 = (-.f32 #s(literal 6931/10000 binary32) %2053)
%2060 = (exp.f32 %2058)
%2062 = (*.f32 #s(literal 2 binary32) %60)
%2071 = (*.f32 #s(literal -1 binary32) %368)
%2075 = (* v (exp -6931/10000))
%2078 = (*.f32 v (exp.f32 #s(literal -6931/10000 binary32)))
%2087 = (+.f32 %185 %2071)
%2094 = (fma.f32 cosTheta_O cosTheta_i (*.f32 v (+.f32 #s(literal 6931/10000 binary32) %2087)))
%2128 = (/ 2097053/1048576 v)
%2135 = (log.f32 %40)
%2136 = (*.f32 #s(literal -1 binary32) %2135)
%2139 = (+.f32 %2052 %2136)
%2143 = (-.f32 #s(literal 6931/10000 binary32) %2139)
%2145 = (exp.f32 #s(literal 6931/10000 binary32))
%2147 = (*.f32 %2145 %29)
%2148 = (/.f32 %2147 v)
%2151 = (pow.f32 %29 #s(literal 2 binary32))
%2152 = (*.f32 %2145 %2151)
%2153 = (/.f32 %2152 %60)
%2154 = (fma.f32 #s(literal 1/2 binary32) %2153 %2148)
%2157 = (pow.f32 %29 #s(literal 3 binary32))
%2158 = (*.f32 %2145 %2157)
%2159 = (/.f32 %2158 %72)
%2166 = (/.f32 %2151 %60)
%2167 = (fma.f32 #s(literal 1/2 binary32) %2166 %11)
%2171 = (/.f32 %2157 %72)
%2176 = (exp.f32 %2143)
%2178 = (/.f32 #s(literal 1 binary32) %60)
%2179 = (*.f32 #s(literal 1/2 binary32) %2178)
%2183 = (*.f32 #s(literal 1/4 binary32) %2178)
%2189 = (exp.f32 (neg.f32 %2136))
%2191 = (-.f32 #s(literal 6931/10000 binary32) %2136)
%2193 = (exp.f32 %2191)
%2195 = (*.f32 #s(literal 1/2 binary32) %2193)
%2197 = (+.f32 %185 %2135)
%2200 = (+.f32 %185 (+.f32 %2135 %11))
%2202 = (+.f32 #s(literal 6931/10000 binary32) %2197)
%2204 = (+.f32 #s(literal 6931/10000 binary32) %2200)
%2214 = (exp.f32 %186)
%2216 = (*.f32 %2214 %29)
%2217 = (/.f32 %2216 v)
%2218 = (+.f32 %2214 %2217)
%2220 = (*.f32 %2214 %2151)
%2222 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %2220 %60) %2217)
%2223 = (+.f32 %2214 %2222)
%2225 = (*.f32 %2214 %2157)
%2228 = (+.f32 %2214 (fma.f32 #s(literal 1/6 binary32) (/.f32 %2225 %72) %2222))
%2241 = (exp.f32 %2202)
%2243 = (*.f32 %2241 %29)
%2244 = (/.f32 %2243 v)
%2247 = (*.f32 %2241 %2151)
%2249 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %2247 %60) %2244)
%2252 = (*.f32 %2241 %2157)
%2257 = (*.f32 %2176 %29)
%2258 = (/.f32 %2257 v)
%2261 = (*.f32 %2176 %2151)
%2263 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %2261 %60) %2258)
%2266 = (*.f32 %2176 %2157)
%2271 = (*.f32 %2193 %29)
%2274 = (fma.f32 #s(literal 1/2 binary32) %2193 (*.f32 #s(literal 1/2 binary32) (/.f32 %2271 v)))
%2276 = (*.f32 %2193 %2151)
%2278 = (fma.f32 #s(literal 1/4 binary32) (/.f32 %2276 %60) %2274)
%2280 = (*.f32 %2193 %2157)
%2291 = (fma.f32 #s(literal 1/2 binary32) %2145 (*.f32 #s(literal 1/2 binary32) %2148))
%2294 = (fma.f32 #s(literal 1/4 binary32) %2153 %2291)
%2300 = (*.f32 #s(literal 2097053/2097152 binary32) %2189)
%2302 = (*.f32 %2189 %29)
%2305 = (fma.f32 #s(literal 2097053/2097152 binary32) %2189 (*.f32 #s(literal 2097053/2097152 binary32) (/.f32 %2302 v)))
%2307 = (*.f32 %2189 %2151)
%2309 = (fma.f32 #s(literal 2097053/4194304 binary32) (/.f32 %2307 %60) %2305)
%2311 = (*.f32 %2189 %2157)
%2315 = (exp.f32 %2302)
%2319 = (*.f32 #s(literal 2097053/2097152 binary32) %640)
%2323 = (fma.f32 #s(literal 2097053/4194304 binary32) %2166 %2319)
%2331 = (/.f32 %2152 v)
%2338 = (/.f32 %2158 v)
%2348 = (/.f32 %2151 v)
%2355 = (/.f32 %2157 v)
%2373 = (/.f32 %2220 v)
%2380 = (/.f32 %2225 v)
%2413 = (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) %6))
%2445 = (+ (+ (- (- (/ %5 v) (/ %15 v)) %242) 6931/10000) (log (/ 1 (* 2 v))))
%2446 = (-.f32 %2413 %19)
%2453 = (exp %2445)
%2454 = (*.f32 %2241 %2446)
%2460 = (*.f32 %2241 (pow.f32 %2446 #s(literal 2 binary32)))
%2519 = (*.f32 #s(literal 1/2 binary32) %2147)
%2522 = (*.f32 #s(literal -1/2 binary32) %2145)
%2557 = (*.f32 #s(literal 2097053/2097152 binary32) %29)
(approx cosTheta_i #s(literal 0 binary32))
(approx cosTheta_i cosTheta_i)
(approx %5 %6)
(approx %10 %11)
(approx %16 %19)
(approx %16 (-.f32 %6 %18))
(approx %24 %27)
(approx %24 %29)
(approx %31 %33)
(approx %31 (fma.f32 #s(literal -1 binary32) %32 %11))
(approx %38 %43)
(approx %38 %46)
(approx %48 %49)
(approx %48 (+.f32 %49 (/.f32 %52 v)))
(approx %48 (+.f32 %49 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 %59 %60) %63))))
(approx %48 (+.f32 %49 (*.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 %71 %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %74 %60))) %63))))
(approx %82 %83)
(approx %82 (+.f32 %83 (/.f32 %86 v)))
(approx %82 (+.f32 %83 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 %90 %60) %93))))
(approx %82 (+.f32 %83 (*.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 %98 %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %100 %60))) %93))))
(approx %108 #s(literal -1 binary32))
(approx %108 %110)
(approx %114 %116)
(approx %114 (+.f32 %116 (*.f32 cosTheta_O %118)))
(approx %114 (+.f32 %116 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (*.f32 %58 %118) (*.f32 cosTheta_O %116)))))
(approx %114 (+.f32 %116 (*.f32 cosTheta_i (fma.f32 cosTheta_O %116 (*.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (*.f32 %70 %118) (*.f32 #s(literal 1/2 binary32) %129)))))))
(approx %137 %138)
(approx %137 (+.f32 %138 (*.f32 cosTheta_O %140)))
(approx %137 (+.f32 %138 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (*.f32 %58 %140) (*.f32 cosTheta_O %138)))))
(approx %137 (+.f32 %138 (*.f32 cosTheta_i (fma.f32 cosTheta_O %138 (*.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (*.f32 %70 %140) (*.f32 #s(literal 1/2 binary32) (*.f32 %58 %138))))))))
(approx %162 %164)
(approx %162 %166)
(approx %174 %176)
(approx %174 %179)
(approx %184 %187)
(approx %184 %191)
(approx %193 %194)
(approx %193 (+.f32 %194 (/.f32 %197 v)))
(approx %193 (+.f32 %194 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 %201 %60) %204))))
(approx %193 (+.f32 %194 (*.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 %209 %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %211 %60))) %204))))
(approx %219 %220)
(approx %219 (+.f32 %220 (/.f32 %197 %60)))
(approx %219 (fma.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 %201 %72) %226) %220))
(approx %219 (fma.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 %209 %231) (*.f32 #s(literal 1/2 binary32) (/.f32 %211 %72))) %226) %220))
(approx %239 %175)
(approx %239 %178)
(approx %243 %244)
(approx %243 %246)
(approx %248 %249)
(approx %248 (+.f32 %249 (/.f32 (*.f32 cosTheta_O %251) v)))
(approx %248 (+.f32 %249 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %58 %251) %60) %259))))
(approx %248 (+.f32 %249 (*.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %70 %251) %72) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %58 %249) %60))) %259))))
(approx %274 (+.f32 %83 (/.f32 (*.f32 cosTheta_O %276) %279)))
(approx %274 (+.f32 %83 (*.f32 cosTheta_i (fma.f32 cosTheta_i %297 %299))))
(approx %274 (+.f32 %83 (*.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 cosTheta_i (*.f32 %83 %326) %297) %299))))
(approx %337 %342)
(approx %337 (fma.f32 %83 %341 (/.f32 (*.f32 cosTheta_O %345) %279)))
(approx %337 (fma.f32 cosTheta_i (fma.f32 cosTheta_i %351 %353) %342))
(approx %337 (fma.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 cosTheta_i (*.f32 %83 (*.f32 %341 %326)) %351) %353) %342))
(approx %367 (*.f32 #s(literal 1/2 binary32) %371))
(approx %367 (fma.f32 #s(literal 1/2 binary32) %371 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O %374) v))))
(approx %367 (fma.f32 #s(literal 1/2 binary32) %371 (*.f32 cosTheta_i (fma.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %58 %374) %60) (*.f32 #s(literal 1/2 binary32) %384)))))
(approx %367 (fma.f32 #s(literal 1/2 binary32) %371 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) %384 (*.f32 cosTheta_i (fma.f32 #s(literal 1/12 binary32) (/.f32 (*.f32 %70 %374) %72) (*.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %58 %371) %60))))))))
(approx %410 %416)
(approx %410 (+.f32 %416 (/.f32 %52 %418)))
(approx %410 (fma.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 %59 %422) %424) %416))
(approx %410 (fma.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 %71 %428) (*.f32 #s(literal 1/2 binary32) (/.f32 %74 %422))) %424) %416))
(approx %440 (*.f32 #s(literal 2097053/2097152 binary32) %444))
(approx %440 (fma.f32 #s(literal 2097053/2097152 binary32) %444 (*.f32 #s(literal 2097053/2097152 binary32) (/.f32 (*.f32 cosTheta_O %447) v))))
(approx %440 (fma.f32 #s(literal 2097053/2097152 binary32) %444 (*.f32 cosTheta_i (fma.f32 #s(literal 2097053/4194304 binary32) (/.f32 (*.f32 %58 %447) %60) (*.f32 #s(literal 2097053/2097152 binary32) %457)))))
(approx %440 (fma.f32 #s(literal 2097053/2097152 binary32) %444 (*.f32 cosTheta_i (fma.f32 #s(literal 2097053/2097152 binary32) %457 (*.f32 cosTheta_i (fma.f32 #s(literal 2097053/12582912 binary32) (/.f32 (*.f32 %70 %447) %72) (*.f32 #s(literal 2097053/4194304 binary32) (/.f32 (*.f32 %58 %444) %60))))))))
(approx %475 (*.f32 #s(literal 1/2 binary32) %476))
(approx %475 (fma.f32 #s(literal 1/2 binary32) %476 (*.f32 #s(literal 1/2 binary32) (/.f32 %52 %60))))
(approx %475 (fma.f32 #s(literal 1/2 binary32) %476 (*.f32 cosTheta_i (fma.f32 #s(literal 1/4 binary32) (/.f32 %59 %72) (*.f32 #s(literal 1/2 binary32) %484)))))
(approx %475 (fma.f32 #s(literal 1/2 binary32) %476 (*.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) %484 (*.f32 cosTheta_i (fma.f32 #s(literal 1/12 binary32) (/.f32 %71 %231) (*.f32 #s(literal 1/4 binary32) (/.f32 %74 %72))))))))
(approx %499 (fma.f32 %83 %341 (/.f32 (*.f32 cosTheta_O %500) v)))
(approx %499 (fma.f32 cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %58 %500) %60) %508) %342))
(approx %499 (fma.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %70 %500) %72) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %58 %342) %60))) %508) %342))
(approx %521 %524)
(approx %521 (+.f32 %524 (/.f32 (*.f32 cosTheta_O %528) %278)))
(approx %521 (+.f32 %524 (*.f32 cosTheta_i (fma.f32 cosTheta_i %540 %542))))
(approx %521 (+.f32 %524 (*.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 cosTheta_i (*.f32 %524 %557) %540) %542))))
(approx %564 %565)
(approx %564 (fma.f32 %524 %341 (/.f32 (*.f32 cosTheta_O %569) %278)))
(approx %564 (fma.f32 cosTheta_i (fma.f32 cosTheta_i %575 %577) %565))
(approx %564 (fma.f32 cosTheta_i (fma.f32 cosTheta_i (fma.f32 cosTheta_i (*.f32 %524 (*.f32 %341 %557)) %575) %577) %565))
(approx %590 (*.f32 #s(literal 2097053/2097152 binary32) %591))
(approx %590 (fma.f32 #s(literal 2097053/2097152 binary32) %591 (*.f32 #s(literal 2097053/2097152 binary32) (/.f32 %86 %60))))
(approx %590 (fma.f32 #s(literal 2097053/2097152 binary32) %591 (*.f32 cosTheta_i (fma.f32 #s(literal 2097053/4194304 binary32) (/.f32 %90 %72) (*.f32 #s(literal 2097053/2097152 binary32) %599)))))
(approx %590 (fma.f32 #s(literal 2097053/2097152 binary32) %591 (*.f32 cosTheta_i (fma.f32 #s(literal 2097053/2097152 binary32) %599 (*.f32 cosTheta_i (fma.f32 #s(literal 2097053/12582912 binary32) (/.f32 %98 %231) (*.f32 #s(literal 2097053/4194304 binary32) (/.f32 %100 %72))))))))
(approx %16 (*.f32 cosTheta_i (+.f32 cosTheta_O (*.f32 #s(literal -1 binary32) %614))))
(approx %24 (*.f32 cosTheta_i (+.f32 cosTheta_O (*.f32 #s(literal -1 binary32) (/.f32 %26 cosTheta_i)))))
(approx %31 (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) (/.f32 %26 %624) %626)))
(approx %38 (*.f32 cosTheta_i (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %630 %626) %634)))
(approx %48 %638)
(approx %82 %641)
(approx %108 (*.f32 cosTheta_i (-.f32 cosTheta_O %630)))
(approx %114 (exp.f32 %29))
(approx %137 %648)
(approx %162 (*.f32 cosTheta_i %651))
(approx %174 (*.f32 cosTheta_i (-.f32 %654 %634)))
(approx %184 (*.f32 cosTheta_i (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %630 (+.f32 %626 (/.f32 %185 cosTheta_i))) %634)))
(approx %193 %664)
(approx %219 (/.f32 %664 v))
(approx %239 (*.f32 cosTheta_i %654))
(approx %243 (*.f32 cosTheta_i (-.f32 %654 %632)))
(approx %248 (exp.f32 %179))
(approx %337 (*.f32 %341 %641))
(approx %367 (*.f32 #s(literal 1/2 binary32) (*.f32 %370 %641)))
(approx %410 (/.f32 %638 %415))
(approx %440 (*.f32 #s(literal 2097053/2097152 binary32) (*.f32 %443 %641)))
(approx %475 (*.f32 #s(literal 1/2 binary32) (/.f32 %638 v)))
(approx %521 %689)
(approx %564 (*.f32 %689 %341))
(approx %590 (*.f32 #s(literal 2097053/2097152 binary32) (/.f32 %641 v)))
(approx %16 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) cosTheta_O %614))))
(approx %24 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) cosTheta_O (+.f32 %630 %614)))))
(approx %31 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %626 %634))))
(approx %38 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %626 (*.f32 #s(literal -1 binary32) (/.f32 %43 cosTheta_i))))))
(approx %108 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) cosTheta_O %630))))
(approx %162 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %626 (*.f32 #s(literal -1 binary32) %650)))))
(approx %174 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %626 (*.f32 #s(literal -1 binary32) (/.f32 %176 cosTheta_i))))))
(approx %184 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %626 (*.f32 #s(literal -1 binary32) (/.f32 %187 cosTheta_i))))))
(approx %239 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %626 (*.f32 #s(literal -1 binary32) (/.f32 %175 cosTheta_i))))))
(approx %243 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %626 (*.f32 #s(literal -1 binary32) (/.f32 %244 cosTheta_i))))))
(approx cosTheta_O cosTheta_O)
(approx %48 (+.f32 %49 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 %751 %60) %753))))
(approx %48 (+.f32 %49 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 %760 %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %750 %60))) %753))))
(approx %82 (+.f32 %83 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 %770 %60) %772))))
(approx %82 (+.f32 %83 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 %778 %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %769 %60))) %772))))
(approx %114 (+.f32 %116 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %787) %118))))
(approx %114 (+.f32 %116 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (*.f32 cosTheta_O %793) (*.f32 #s(literal 1/2 binary32) %787)) %118))))
(approx %137 (+.f32 %138 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %801) %140))))
(approx %137 (+.f32 %138 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (*.f32 cosTheta_O (*.f32 %758 %138)) (*.f32 #s(literal 1/2 binary32) %801)) %140))))
(approx %193 (+.f32 %194 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 %816 %60) %818))))
(approx %193 (+.f32 %194 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 %824 %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %815 %60))) %818))))
(approx %219 (fma.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 %816 %72) %834) %220))
(approx %219 (fma.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 %824 %231) (*.f32 #s(literal 1/2 binary32) (/.f32 %815 %72))) %834) %220))
(approx %248 (+.f32 %249 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O %845) %60) %848))))
(approx %248 (+.f32 %249 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %758 %249)) %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %845 %60))) %848))))
(approx %274 (+.f32 %83 (*.f32 cosTheta_O (fma.f32 cosTheta_O %871 %872))))
(approx %274 (+.f32 %83 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 cosTheta_O (*.f32 %83 %891) %871) %872))))
(approx %337 (fma.f32 cosTheta_O (fma.f32 cosTheta_O %899 %900) %342))
(approx %337 (fma.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 cosTheta_O (*.f32 %83 (*.f32 %341 %891)) %899) %900) %342))
(approx %367 (fma.f32 #s(literal 1/2 binary32) %371 (*.f32 cosTheta_O (fma.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 cosTheta_O %910) %60) (*.f32 #s(literal 1/2 binary32) %913)))))
(approx %367 (fma.f32 #s(literal 1/2 binary32) %371 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) %913 (*.f32 cosTheta_O (fma.f32 #s(literal 1/12 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %758 %371)) %72) (*.f32 #s(literal 1/4 binary32) (/.f32 %910 %60))))))))
(approx %410 (fma.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 %751 %422) %931) %416))
(approx %410 (fma.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 %760 %428) (*.f32 #s(literal 1/2 binary32) (/.f32 %750 %422))) %931) %416))
(approx %440 (fma.f32 #s(literal 2097053/2097152 binary32) %444 (*.f32 cosTheta_O (fma.f32 #s(literal 2097053/4194304 binary32) (/.f32 (*.f32 cosTheta_O %942) %60) (*.f32 #s(literal 2097053/2097152 binary32) %945)))))
(approx %440 (fma.f32 #s(literal 2097053/2097152 binary32) %444 (*.f32 cosTheta_O (fma.f32 #s(literal 2097053/2097152 binary32) %945 (*.f32 cosTheta_O (fma.f32 #s(literal 2097053/12582912 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %758 %444)) %72) (*.f32 #s(literal 2097053/4194304 binary32) (/.f32 %942 %60))))))))
(approx %475 (fma.f32 #s(literal 1/2 binary32) %476 (*.f32 cosTheta_O (fma.f32 #s(literal 1/4 binary32) (/.f32 %751 %72) (*.f32 #s(literal 1/2 binary32) %963)))))
(approx %475 (fma.f32 #s(literal 1/2 binary32) %476 (*.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) %963 (*.f32 cosTheta_O (fma.f32 #s(literal 1/12 binary32) (/.f32 %760 %231) (*.f32 #s(literal 1/4 binary32) (/.f32 %750 %72))))))))
(approx %499 (fma.f32 cosTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O %978) %60) %981) %342))
(approx %499 (fma.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 %758 %342)) %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %978 %60))) %981) %342))
(approx %521 (+.f32 %524 (*.f32 cosTheta_O (fma.f32 cosTheta_O %999 %1000))))
(approx %521 (+.f32 %524 (*.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 cosTheta_O (*.f32 %524 %1013) %999) %1000))))
(approx %564 (fma.f32 cosTheta_O (fma.f32 cosTheta_O %1021 %1022) %565))
(approx %564 (fma.f32 cosTheta_O (fma.f32 cosTheta_O (fma.f32 cosTheta_O (*.f32 %524 (*.f32 %341 %1013)) %1021) %1022) %565))
(approx %590 (fma.f32 #s(literal 2097053/2097152 binary32) %591 (*.f32 cosTheta_O (fma.f32 #s(literal 2097053/4194304 binary32) (/.f32 %770 %72) (*.f32 #s(literal 2097053/2097152 binary32) %1033)))))
(approx %590 (fma.f32 #s(literal 2097053/2097152 binary32) %591 (*.f32 cosTheta_O (fma.f32 #s(literal 2097053/2097152 binary32) %1033 (*.f32 cosTheta_O (fma.f32 #s(literal 2097053/12582912 binary32) (/.f32 %778 %231) (*.f32 #s(literal 2097053/4194304 binary32) (/.f32 %769 %72))))))))
(approx %16 (*.f32 cosTheta_O (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) %1048))))
(approx %24 (*.f32 cosTheta_O (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) (/.f32 %26 cosTheta_O)))))
(approx %31 (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) (/.f32 %26 %1058) %1060)))
(approx %38 (*.f32 cosTheta_O (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %1064 %1060) %1068)))
(approx %108 (*.f32 cosTheta_O (-.f32 cosTheta_i %1064)))
(approx %162 (*.f32 cosTheta_O %1076))
(approx %174 (*.f32 cosTheta_O (-.f32 %1079 %1068)))
(approx %184 (*.f32 cosTheta_O (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %1064 (+.f32 %1060 (/.f32 %185 cosTheta_O))) %1068)))
(approx %239 (*.f32 cosTheta_O %1079))
(approx %243 (*.f32 cosTheta_O (-.f32 %1079 %1066)))
(approx %16 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) cosTheta_i %1048))))
(approx %24 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) cosTheta_i (+.f32 %1064 %1048)))))
(approx %31 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %1060 %1068))))
(approx %38 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %1060 (*.f32 #s(literal -1 binary32) (/.f32 %43 cosTheta_O))))))
(approx %108 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) cosTheta_i %1064))))
(approx %162 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %1060 (*.f32 #s(literal -1 binary32) %1075)))))
(approx %174 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %1060 (*.f32 #s(literal -1 binary32) (/.f32 %176 cosTheta_O))))))
(approx %184 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %1060 (*.f32 #s(literal -1 binary32) (/.f32 %187 cosTheta_O))))))
(approx %239 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %1060 (*.f32 #s(literal -1 binary32) (/.f32 %175 cosTheta_O))))))
(approx %243 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (fma.f32 #s(literal -1 binary32) %1060 (*.f32 #s(literal -1 binary32) (/.f32 %244 cosTheta_O))))))
(approx sinTheta_i sinTheta_i)
(approx %15 %18)
(approx %1148 %1149)
(approx (* %1148 %1151) (*.f32 #s(literal -1 binary32) %41))
(approx %16 %1155)
(approx %24 (-.f32 %1155 #s(literal 1 binary32)))
(approx %31 %1159)
(approx %31 (-.f32 %1161 %40))
(approx %112 #s(literal 1 binary32))
(approx %112 %26)
(approx %38 %1166)
(approx %38 (-.f32 (+.f32 #s(literal 6931/10000 binary32) %1161) %40))
(approx %48 %1171)
(approx %48 (+.f32 %1171 (*.f32 #s(literal -1 binary32) (/.f32 %1174 v))))
(approx %48 (+.f32 %1171 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1180 (*.f32 #s(literal 1/2 binary32) (/.f32 %1182 %60))))))
(approx %48 (+.f32 %1171 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1180 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %1191 %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %1193 %60))))))))
(approx %82 %1202)
(approx %82 (+.f32 %1202 (*.f32 #s(literal -1 binary32) (/.f32 %1205 v))))
(approx %82 (+.f32 %1202 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1211 (*.f32 #s(literal 1/2 binary32) (/.f32 %1212 %60))))))
(approx %82 (+.f32 %1202 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1211 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %1219 %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %1221 %60))))))))
(approx %114 (+.f32 %648 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %1230))))
(approx %114 (+.f32 %648 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1235 (*.f32 #s(literal 1/2 binary32) (*.f32 %1181 %1230))))))
(approx %114 (+.f32 %648 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1235 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (*.f32 %1190 %1230) (*.f32 #s(literal 1/2 binary32) (*.f32 %1181 %648))))))))
(approx %174 (-.f32 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %164 %1161)) %40))
(approx %184 %1255)
(approx %184 (-.f32 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %185 %1161)) %40))
(approx %193 %1261)
(approx %193 (+.f32 %1261 (*.f32 #s(literal -1 binary32) (/.f32 %1264 v))))
(approx %193 (+.f32 %1261 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1270 (*.f32 #s(literal 1/2 binary32) (/.f32 %1271 %60))))))
(approx %193 (+.f32 %1261 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1270 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %1278 %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %1280 %60))))))))
(approx %219 %1289)
(approx %219 (fma.f32 #s(literal -1 binary32) (/.f32 %1264 %60) %1289))
(approx %219 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1294 (*.f32 #s(literal 1/2 binary32) (/.f32 %1271 %72))) %1289))
(approx %219 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1294 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %1278 %231) (*.f32 #s(literal 1/2 binary32) (/.f32 %1280 %72))))) %1289))
(approx %248 %1308)
(approx %248 (+.f32 %1308 (*.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %1310) v))))
(approx %248 (+.f32 %1308 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1317 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %1181 %1310) %60))))))
(approx %248 (+.f32 %1308 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1317 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 %1190 %1310) %72) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %1181 %1308) %60))))))))
(approx %274 (+.f32 %1202 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1211 (*.f32 sinTheta_i %1346)))))
(approx %274 (+.f32 %1202 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1211 (*.f32 sinTheta_i (fma.f32 sinTheta_i %1370 %1346))))))
(approx %337 %1377)
(approx %337 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %1379) v) %1377))
(approx %337 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1385 (*.f32 sinTheta_i %1386)) %1377))
(approx %337 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1385 (*.f32 sinTheta_i (fma.f32 sinTheta_i (*.f32 %341 %1370) %1386))) %1377))
(approx %367 %1398)
(approx %367 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 sinTheta_O %1400) v) %1398))
(approx %367 (fma.f32 #s(literal 1/2 binary32) %1397 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1406 (*.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %1181 %1400) %60))))))
(approx %367 (fma.f32 #s(literal 1/2 binary32) %1397 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1406 (*.f32 sinTheta_i (fma.f32 #s(literal -1/12 binary32) (/.f32 (*.f32 %1190 %1400) %72) (*.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %1181 %1397) %60))))))))
(approx %410 %1426)
(approx %410 (fma.f32 #s(literal -1 binary32) (/.f32 %1174 %418) %1426))
(approx %410 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1431 (*.f32 #s(literal 1/2 binary32) (/.f32 %1182 %422))) %1426))
(approx %410 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1431 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %1191 %428) (*.f32 #s(literal 1/2 binary32) (/.f32 %1193 %422))))) %1426))
(approx %440 %1446)
(approx %440 (fma.f32 #s(literal -2097053/2097152 binary32) (/.f32 (*.f32 sinTheta_O %1449) v) %1446))
(approx %440 (fma.f32 #s(literal 2097053/2097152 binary32) %1445 (*.f32 sinTheta_i (fma.f32 #s(literal -2097053/2097152 binary32) %1455 (*.f32 #s(literal 2097053/4194304 binary32) (/.f32 (*.f32 %1181 %1449) %60))))))
(approx %440 (fma.f32 #s(literal 2097053/2097152 binary32) %1445 (*.f32 sinTheta_i (fma.f32 #s(literal -2097053/2097152 binary32) %1455 (*.f32 sinTheta_i (fma.f32 #s(literal -2097053/12582912 binary32) (/.f32 (*.f32 %1190 %1449) %72) (*.f32 #s(literal 2097053/4194304 binary32) (/.f32 (*.f32 %1181 %1445) %60))))))))
(approx %475 %1476)
(approx %475 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1174 %60) %1476))
(approx %475 (fma.f32 #s(literal 1/2 binary32) %1475 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1481 (*.f32 #s(literal 1/4 binary32) (/.f32 %1182 %72))))))
(approx %475 (fma.f32 #s(literal 1/2 binary32) %1475 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1481 (*.f32 sinTheta_i (fma.f32 #s(literal -1/12 binary32) (/.f32 %1191 %231) (*.f32 #s(literal 1/4 binary32) (/.f32 %1193 %72))))))))
(approx %499 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1385 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %1181 %1379) %60))) %1377))
(approx %499 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1385 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 %1190 %1379) %72) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %1181 %1377) %60))))) %1377))
(approx %521 %1514)
(approx %521 (+.f32 %1514 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %1517))))
(approx %521 (+.f32 %1514 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1522 (*.f32 sinTheta_i %1527)))))
(approx %521 (+.f32 %1514 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1522 (*.f32 sinTheta_i (fma.f32 sinTheta_i (*.f32 %1514 %1539) %1527))))))
(approx %564 %1547)
(approx %564 (fma.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %1550) %1547))
(approx %564 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1554 (*.f32 sinTheta_i %1556)) %1547))
(approx %564 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %1554 (*.f32 sinTheta_i (fma.f32 sinTheta_i (*.f32 %1514 (*.f32 %341 %1539)) %1556))) %1547))
(approx %590 %1569)
(approx %590 (fma.f32 #s(literal -2097053/2097152 binary32) (/.f32 %1205 %60) %1569))
(approx %590 (fma.f32 #s(literal 2097053/2097152 binary32) %1568 (*.f32 sinTheta_i (fma.f32 #s(literal -2097053/2097152 binary32) %1574 (*.f32 #s(literal 2097053/4194304 binary32) (/.f32 %1212 %72))))))
(approx %590 (fma.f32 #s(literal 2097053/2097152 binary32) %1568 (*.f32 sinTheta_i (fma.f32 #s(literal -2097053/2097152 binary32) %1574 (*.f32 sinTheta_i (fma.f32 #s(literal -2097053/12582912 binary32) (/.f32 %1219 %231) (*.f32 #s(literal 2097053/4194304 binary32) (/.f32 %1221 %72))))))))
(approx %16 (*.f32 sinTheta_i (-.f32 %1590 sinTheta_O)))
(approx %24 (*.f32 sinTheta_i (-.f32 %1590 %1595)))
(approx %31 (*.f32 sinTheta_i (-.f32 (fma.f32 #s(literal -1 binary32) %1599 %1601) %1603)))
(approx %112 (*.f32 sinTheta_i %1595))
(approx %38 (*.f32 sinTheta_i (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %1594 %1601) %1610)))
(approx %174 (*.f32 sinTheta_i (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %1594 (+.f32 (/.f32 %164 sinTheta_i) %1601)) %1610)))
(approx %184 (*.f32 sinTheta_i (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %1594 (+.f32 (/.f32 %185 sinTheta_i) %1601)) %1610)))
(approx %16 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) %1590) %1627))))
(approx %24 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %110 sinTheta_i)) %1627))))
(approx %31 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) (/.f32 %1638 sinTheta_i) %1599))))
(approx %112 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 %1627 %1594))))
(approx %38 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %1166 sinTheta_i)) %1650))))
(approx %174 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %246 sinTheta_i)) %1650))))
(approx %184 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %1255 sinTheta_i)) %1650))))
(approx sinTheta_O sinTheta_O)
(approx %1151 %1599)
(approx %48 (+.f32 %1171 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1669 (*.f32 #s(literal 1/2 binary32) (/.f32 %1672 %60))))))
(approx %48 (+.f32 %1171 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1669 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1681 %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %1671 %60))))))))
(approx %82 (+.f32 %1202 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1691 (*.f32 #s(literal 1/2 binary32) (/.f32 %1693 %60))))))
(approx %82 (+.f32 %1202 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1691 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1701 %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %1692 %60))))))))
(approx %114 (+.f32 %648 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1230 (*.f32 #s(literal 1/2 binary32) (*.f32 sinTheta_O %1711))))))
(approx %114 (+.f32 %648 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1230 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (*.f32 sinTheta_O (*.f32 %1679 %648)) (*.f32 #s(literal 1/2 binary32) %1711)))))))
(approx %193 (+.f32 %1261 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1727 (*.f32 #s(literal 1/2 binary32) (/.f32 %1729 %60))))))
(approx %193 (+.f32 %1261 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1727 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1737 %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %1728 %60))))))))
(approx %219 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1747 (*.f32 #s(literal 1/2 binary32) (/.f32 %1729 %72))) %1289))
(approx %219 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1747 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1737 %231) (*.f32 #s(literal 1/2 binary32) (/.f32 %1728 %72))))) %1289))
(approx %248 (+.f32 %1308 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1761 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 sinTheta_O %1762) %60))))))
(approx %248 (+.f32 %1308 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1761 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %1679 %1308)) %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %1762 %60))))))))
(approx %274 (+.f32 %1202 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1691 (*.f32 sinTheta_O %1788)))))
(approx %274 (+.f32 %1202 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1691 (*.f32 sinTheta_O (fma.f32 sinTheta_O %1808 %1788))))))
(approx %337 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1815 (*.f32 sinTheta_O %1816)) %1377))
(approx %337 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1815 (*.f32 sinTheta_O (fma.f32 sinTheta_O (*.f32 %341 %1808) %1816))) %1377))
(approx %367 (fma.f32 #s(literal 1/2 binary32) %1397 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1827 (*.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 sinTheta_O %1828) %60))))))
(approx %367 (fma.f32 #s(literal 1/2 binary32) %1397 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1827 (*.f32 sinTheta_O (fma.f32 #s(literal -1/12 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %1679 %1397)) %72) (*.f32 #s(literal 1/4 binary32) (/.f32 %1828 %60))))))))
(approx %410 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1847 (*.f32 #s(literal 1/2 binary32) (/.f32 %1672 %422))) %1426))
(approx %410 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1847 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1681 %428) (*.f32 #s(literal 1/2 binary32) (/.f32 %1671 %422))))) %1426))
(approx %440 (fma.f32 #s(literal 2097053/2097152 binary32) %1445 (*.f32 sinTheta_O (fma.f32 #s(literal -2097053/2097152 binary32) %1861 (*.f32 #s(literal 2097053/4194304 binary32) (/.f32 (*.f32 sinTheta_O %1862) %60))))))
(approx %440 (fma.f32 #s(literal 2097053/2097152 binary32) %1445 (*.f32 sinTheta_O (fma.f32 #s(literal -2097053/2097152 binary32) %1861 (*.f32 sinTheta_O (fma.f32 #s(literal -2097053/12582912 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %1679 %1445)) %72) (*.f32 #s(literal 2097053/4194304 binary32) (/.f32 %1862 %60))))))))
(approx %475 (fma.f32 #s(literal 1/2 binary32) %1475 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1881 (*.f32 #s(literal 1/4 binary32) (/.f32 %1672 %72))))))
(approx %475 (fma.f32 #s(literal 1/2 binary32) %1475 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1881 (*.f32 sinTheta_O (fma.f32 #s(literal -1/12 binary32) (/.f32 %1681 %231) (*.f32 #s(literal 1/4 binary32) (/.f32 %1671 %72))))))))
(approx %499 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1815 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 sinTheta_O %1897) %60))) %1377))
(approx %499 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1815 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %1679 %1377)) %72) (*.f32 #s(literal 1/2 binary32) (/.f32 %1897 %60))))) %1377))
(approx %521 (+.f32 %1514 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1517 (*.f32 sinTheta_O %1918)))))
(approx %521 (+.f32 %1514 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1517 (*.f32 sinTheta_O (fma.f32 sinTheta_O (*.f32 %1514 %1930) %1918))))))
(approx %564 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1550 (*.f32 sinTheta_O %1939)) %1547))
(approx %564 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1550 (*.f32 sinTheta_O (fma.f32 sinTheta_O (*.f32 %1514 (*.f32 %341 %1930)) %1939))) %1547))
(approx %590 (fma.f32 #s(literal 2097053/2097152 binary32) %1568 (*.f32 sinTheta_O (fma.f32 #s(literal -2097053/2097152 binary32) %1951 (*.f32 #s(literal 2097053/4194304 binary32) (/.f32 %1693 %72))))))
(approx %590 (fma.f32 #s(literal 2097053/2097152 binary32) %1568 (*.f32 sinTheta_O (fma.f32 #s(literal -2097053/2097152 binary32) %1951 (*.f32 sinTheta_O (fma.f32 #s(literal -2097053/12582912 binary32) (/.f32 %1701 %231) (*.f32 #s(literal 2097053/4194304 binary32) (/.f32 %1692 %72))))))))
(approx %16 (*.f32 sinTheta_O (-.f32 %1967 sinTheta_i)))
(approx %24 (*.f32 sinTheta_O (-.f32 %1967 %1972)))
(approx %31 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal -1 binary32) %1976 %1978) %1980)))
(approx %112 (*.f32 sinTheta_O %1972))
(approx %38 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %1971 %1978) %1987)))
(approx %174 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %1971 (+.f32 (/.f32 %164 sinTheta_O) %1978)) %1987)))
(approx %184 (*.f32 sinTheta_O (-.f32 (fma.f32 #s(literal 6931/10000 binary32) %1971 (+.f32 (/.f32 %185 sinTheta_O) %1978)) %1987)))
(approx %16 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) %1967) %1149))))
(approx %24 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %110 sinTheta_O)) %1149))))
(approx %31 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) (/.f32 %1638 sinTheta_O) %1976))))
(approx %112 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 %1149 %1971))))
(approx %38 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %1166 sinTheta_O)) %2025))))
(approx %174 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %246 sinTheta_O)) %2025))))
(approx %184 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 %1255 sinTheta_O)) %2025))))
(approx v v)
(approx %242 %40)
(approx %160 %163)
(approx %363 %368)
(approx %31 %640)
(approx %38 (/.f32 (-.f32 (fma.f32 #s(literal 6931/10000 binary32) v %6) %26) v))
(approx %333 %338)
(approx %334 %2053)
(approx %2055 (*.f32 #s(literal -1 binary32) %2053))
(approx %335 %2058)
(approx %336 %2060)
(approx %407 (/.f32 (+.f32 #s(literal 1/2 binary32) %2062) v))
(approx %408 (/.f32 #s(literal 1/4 binary32) v))
(approx %408 (/.f32 (+.f32 #s(literal 1/4 binary32) %60) v))
(approx %437 %2071)
(approx %438 %443)
(approx %2075 %2078)
(approx %364 %369)
(approx (/ 1/2 %2075) (/.f32 #s(literal 1/2 binary32) %2078))
(approx %365 %370)
(approx %366 (*.f32 #s(literal 1/2 binary32) %370))
(approx %162 (/.f32 (fma.f32 cosTheta_O cosTheta_i (*.f32 v %2087)) v))
(approx %174 (/.f32 (-.f32 %2094 %26) v))
(approx %402 (/.f32 #s(literal -1/2 binary32) v))
(approx %402 (/.f32 (-.f32 %60 #s(literal 1/2 binary32)) v))
(approx %403 (/.f32 (-.f32 %2062 #s(literal 1/2 binary32)) v))
(approx %184 (/.f32 (-.f32 (fma.f32 cosTheta_O cosTheta_i (*.f32 v %186)) %26) v))
(approx %239 (/.f32 %2094 v))
(approx %243 (/.f32 (-.f32 %2094 #s(literal 1 binary32)) v))
(approx %337 (*.f32 %2060 %641))
(approx %405 (/.f32 #s(literal -1/4 binary32) v))
(approx %405 (/.f32 (-.f32 %60 #s(literal 1/4 binary32)) v))
(approx %439 (*.f32 #s(literal 2097053/2097152 binary32) %443))
(approx %564 (*.f32 %689 %2060))
(approx %2128 (/.f32 #s(literal 2097053/1048576 binary32) v))
(approx (* 1/2 %2128) (/.f32 #s(literal 2097053/2097152 binary32) v))
(approx %363 %2136)
(approx %38 #s(literal 6931/10000 binary32))
(approx %334 %2139)
(approx %2055 (*.f32 #s(literal -1 binary32) %2139))
(approx %335 %2143)
(approx %48 %2145)
(approx %48 (+.f32 %2145 %2148))
(approx %48 (+.f32 %2145 %2154))
(approx %48 (+.f32 %2145 (fma.f32 #s(literal 1/6 binary32) %2159 %2154)))
(approx %82 (-.f32 (+.f32 #s(literal 1 binary32) %11) %42))
(approx %82 (-.f32 (+.f32 #s(literal 1 binary32) %2167) %42))
(approx %82 (-.f32 (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal 1/6 binary32) %2171 %2167)) %42))
(approx %336 %2176)
(approx %407 (*.f32 v (+.f32 #s(literal 2 binary32) %2179)))
(approx %408 (*.f32 v (+.f32 #s(literal 1 binary32) %2183)))
(approx %437 %2135)
(approx %438 %2189)
(approx %364 %2191)
(approx %365 %2193)
(approx %366 %2195)
(approx %162 %2197)
(approx %162 %2200)
(approx %174 %2202)
(approx %174 (-.f32 %2204 %42))
(approx %402 (*.f32 v (-.f32 #s(literal 1 binary32) %2179)))
(approx %403 (*.f32 v (-.f32 #s(literal 2 binary32) %2179)))
(approx %184 %186)
(approx %193 %2214)
(approx %193 %2218)
(approx %193 %2223)
(approx %193 %2228)
(approx %219 (/.f32 %2214 v))
(approx %219 (/.f32 %2218 v))
(approx %219 (/.f32 %2223 v))
(approx %219 (/.f32 %2228 v))
(approx %239 %2204)
(approx %243 (-.f32 %2204 %40))
(approx %248 %2241)
(approx %248 (+.f32 %2241 %2244))
(approx %248 (+.f32 %2241 %2249))
(approx %248 (+.f32 %2241 (fma.f32 #s(literal 1/6 binary32) (/.f32 %2252 %72) %2249)))
(approx %337 (+.f32 %2176 %2258))
(approx %337 (+.f32 %2176 %2263))
(approx %337 (+.f32 %2176 (fma.f32 #s(literal 1/6 binary32) (/.f32 %2266 %72) %2263)))
(approx %367 %2274)
(approx %367 %2278)
(approx %367 (fma.f32 #s(literal 1/12 binary32) (/.f32 %2280 %72) %2278))
(approx %405 (*.f32 v (-.f32 #s(literal 1 binary32) %2183)))
(approx %410 (*.f32 #s(literal 1/2 binary32) (/.f32 %2145 v)))
(approx %410 (/.f32 %2291 v))
(approx %410 (/.f32 %2294 v))
(approx %410 (/.f32 (fma.f32 #s(literal 1/12 binary32) %2159 %2294) v))
(approx %439 %2300)
(approx %440 %2305)
(approx %440 %2309)
(approx %440 (fma.f32 #s(literal 2097053/12582912 binary32) (/.f32 %2311 %72) %2309))
(approx %521 %2315)
(approx %564 (*.f32 %2315 %2176))
(approx %590 (/.f32 (+.f32 #s(literal 2097053/2097152 binary32) %2319) v))
(approx %590 (/.f32 (+.f32 #s(literal 2097053/2097152 binary32) %2323) v))
(approx %590 (/.f32 (+.f32 #s(literal 2097053/2097152 binary32) (fma.f32 #s(literal 2097053/12582912 binary32) %2171 %2323)) v))
(approx %48 (+.f32 %2145 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2147 (*.f32 #s(literal -1/2 binary32) %2331)) v))))
(approx %48 (+.f32 %2145 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2147 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) %2338 (*.f32 #s(literal 1/2 binary32) %2152)) v))) v))))
(approx %82 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %29 (*.f32 #s(literal -1/2 binary32) %2348)) v))))
(approx %82 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %29 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) %2355 (*.f32 #s(literal 1/2 binary32) %2151)) v))) v))))
(approx %402 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %2179 #s(literal 1 binary32)))))
(approx %403 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %2179 #s(literal 2 binary32)))))
(approx %193 (+.f32 %2214 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2216 (*.f32 #s(literal -1/2 binary32) %2373)) v))))
(approx %193 (+.f32 %2214 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2216 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) %2380 (*.f32 #s(literal 1/2 binary32) %2220)) v))) v))))
(approx %219 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2214 (*.f32 #s(literal -1 binary32) %2217)) v)))
(approx %219 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2214 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) %2373 %2216) v))) v)))
(approx %219 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2214 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %2220 (*.f32 #s(literal -1/6 binary32) %2380)) v) %2216) v))) v)))
(approx %243 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %185 (+.f32 %2135 (*.f32 #s(literal -1 binary32) (/.f32 %2413 v))))))
(approx %248 (+.f32 %2241 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2243 (*.f32 #s(literal -1/2 binary32) (/.f32 %2247 v))) v))))
(approx %248 (+.f32 %2241 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2243 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) (/.f32 %2252 v) (*.f32 #s(literal 1/2 binary32) %2247)) v))) v))))
(approx %2445 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %185 (+.f32 %2135 (*.f32 #s(literal -1 binary32) (/.f32 %2446 v))))))
(approx %2453 (+.f32 %2241 (*.f32 #s(literal -1 binary32) (/.f32 %2454 v))))
(approx %2453 (+.f32 %2241 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %2460 v) %2454) v))))
(approx %2453 (+.f32 %2241 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 (*.f32 %2241 (pow.f32 %2446 #s(literal 3 binary32))) v) (*.f32 #s(literal 1/2 binary32) %2460)) v) %2454) v))))
(approx %337 (+.f32 %2176 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2257 (*.f32 #s(literal -1/2 binary32) (/.f32 %2261 v))) v))))
(approx %337 (+.f32 %2176 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2257 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) (/.f32 %2266 v) (*.f32 #s(literal 1/2 binary32) %2261)) v))) v))))
(approx %367 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %2271 (*.f32 #s(literal -1/4 binary32) (/.f32 %2276 v))) v) %2195))
(approx %367 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/12 binary32) (/.f32 %2280 v) (*.f32 #s(literal 1/4 binary32) %2276)) v) (*.f32 #s(literal -1/2 binary32) %2271)) v) %2195))
(approx %405 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %2183 #s(literal 1 binary32)))))
(approx %410 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %2145 (*.f32 #s(literal -1/2 binary32) %2148)) v)))
(approx %410 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/4 binary32) %2331 %2519) v) %2522) v)))
(approx %410 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) %2152 (*.f32 #s(literal -1/12 binary32) %2338)) v) %2519) v) %2522) v)))
(approx %440 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2097053/2097152 binary32) %2302 (*.f32 #s(literal -2097053/4194304 binary32) (/.f32 %2307 v))) v) %2300))
(approx %440 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 2097053/12582912 binary32) (/.f32 %2311 v) (*.f32 #s(literal 2097053/4194304 binary32) %2307)) v) (*.f32 #s(literal -2097053/2097152 binary32) %2302)) v) %2300))
(approx %590 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -2097053/2097152 binary32) %640) #s(literal 2097053/2097152 binary32)) v)))
(approx %590 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 2097053/4194304 binary32) %2348 %2557) v)) #s(literal 2097053/2097152 binary32)) v)))
(approx %590 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2097053/4194304 binary32) %2151 (*.f32 #s(literal -2097053/12582912 binary32) %2355)) v) %2557) v)) #s(literal 2097053/2097152 binary32)) v)))
Calls

15 calls:

TimeVariablePoint
35.0ms
cosTheta_O
-inf
28.0ms
v
0
25.0ms
cosTheta_i
0
25.0ms
cosTheta_O
0
24.0ms
sinTheta_i
inf

rewrite2.6s (7.6%)

Counts
106 → 1 541
Calls
Call 1
Inputs
%2 = (*.f32 cosTheta_i cosTheta_O)
%6 = (*.f32 sinTheta_i sinTheta_O)
%8 = (/.f32 #s(literal 1 binary32) v)
%11 = (*.f32 cosTheta_O cosTheta_i)
%12 = (/.f32 %11 v)
%15 = (/.f32 #s(literal 1/2 binary32) v)
%16 = (/.f32 sinTheta_O v)
%17 = (log.f32 #s(literal 1/2 binary32))
%18 = (log.f32 v)
%19 = (neg.f32 sinTheta_i)
%20 = (*.f32 %19 %16)
%21 = (-.f32 %2 %6)
%22 = (-.f32 %21 #s(literal 1 binary32))
%23 = (/.f32 %22 v)
%24 = (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))
%26 = (-.f32 %23 #s(literal -6931/10000 binary32))
%27 = (+.f32 v v)
%28 = (log.f32 %27)
%29 = (neg.f32 %28)
%30 = (exp.f32 %28)
%31 = (-.f32 #s(literal 6931/10000 binary32) %28)
%32 = (exp.f32 %26)
%33 = (exp.f32 %23)
%34 = (exp.f32 %31)
%35 = (-.f32 %11 #s(literal 1 binary32))
%36 = (* cosTheta_i cosTheta_O)
%37 = (* sinTheta_i sinTheta_O)
%40 = (- (- %36 %37) 1)
%41 = (approx %40 %35)
%42 = (fma.f32 v #s(literal 2 binary32) %15)
%43 = (/.f32 %42 #s(literal 2 binary32))
%44 = (neg.f32 %18)
%45 = (exp.f32 %44)
%46 = (-.f32 %2 %24)
%47 = (/.f32 %46 v)
%48 = (exp.f32 %47)
%49 = (exp.f32 #s(literal -6931/10000 binary32))
%50 = (*.f32 v %49)
%51 = (exp.f32 %46)
%52 = (/.f32 %41 v)
%53 = (exp.f32 %52)
%56 = (* cosTheta_O cosTheta_i)
%58 = (approx (- %56 1) #s(literal -1 binary32))
%60 = (+ 1 (* sinTheta_O sinTheta_i))
%63 = (approx (/ (- %56 %60) v) %12)
%64 = (approx %60 #s(literal 1 binary32))
%65 = (exp.f32 %35)
%69 = (approx (exp (- %36 (+ %37 1))) %65)
%70 = (-.f32 #s(literal 6931/10000 binary32) %18)
%71 = (-.f32 %17 #s(literal -6931/10000 binary32))
%72 = (/.f32 #s(literal 1/2 binary32) %50)
%73 = (exp.f32 %70)
%74 = (*.f32 #s(literal 1/2 binary32) %73)
%76 = (/ 1/2 v)
%77 = (log %76)
%80 = (approx (+ %77 (/ %56 v)) %29)
%87 = (+ (+ (/ (+ (- %56 %37) -1) v) 6931/10000) %77)
%88 = (approx %87 %20)
%89 = (-.f32 v %15)
%90 = (+.f32 v %89)
%91 = (+.f32 %47 %71)
%92 = (exp.f32 %91)
%95 = (+.f32 #s(literal 6931/10000 binary32) %80)
%96 = (-.f32 %95 %8)
%97 = (approx %87 %96)
%110 = (+ (+ (- (- (/ %36 v) (/ %37 v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v))))
%111 = (approx %110 %63)
%113 = (pow.f32 %69 %8)
%116 = (-.f32 %11 %64)
%117 = (/.f32 %116 v)
%118 = (approx %110 %117)
%120 = (/.f32 %90 #s(literal 2 binary32))
%121 = (+.f32 %120 %43)
%123 = (*.f32 #s(literal 2097053/2097152 binary32) %45)
%125 = (approx %40 %58)
%126 = (/.f32 %125 v)
%127 = (-.f32 %126 #s(literal -6931/10000 binary32))
%128 = (exp.f32 %127)
%130 = (exp.f32 %126)
%136 = (exp (- (/ %40 v) -6931/10000))
%137 = (* %136 %76)
%139 = (pow.f32 %51 %45)
%141 = (/.f32 #s(literal 2097053/1048576 binary32) v)
%142 = (*.f32 #s(literal 1/2 binary32) %141)
%144 = (approx %136 #s(literal 2097053/1048576 binary32))
%146 = (/.f32 #s(literal 2097053/1048576 binary32) %27)
cosTheta_i
cosTheta_O
%2
v
sinTheta_i
sinTheta_O
%6
#s(literal 1 binary32)
%8
#s(literal 6931/10000 binary32)
#s(literal 2 binary32)
%11
%12
#s(literal -1 binary32)
#s(literal 1/2 binary32)
%15
%16
%17
%18
%19
%20
%21
%22
%23
%24
#s(literal -6931/10000 binary32)
%26
%27
%28
%29
%30
%31
%32
%33
%34
%35
%41
%42
%43
%44
%45
%46
%47
%48
%49
%50
%51
%52
%53
#s(literal 2097053/1048576 binary32)
#s(literal 2097053/2097152 binary32)
%58
%63
%64
%65
%69
%70
%71
%72
%73
%74
%80
%88
%89
%90
%91
%92
(/.f32 %92 v)
(*.f32 %92 %8)
%95
%96
%97
(exp.f32 %97)
(exp.f32 %88)
%111
(exp.f32 %111)
%113
(*.f32 %113 %34)
(*.f32 %53 %74)
%116
%117
%118
(exp.f32 %118)
%120
%121
(/.f32 %32 %121)
%123
(*.f32 %33 %123)
%125
%126
%127
%128
(*.f32 %128 %15)
%130
(*.f32 %130 %34)
(/.f32 %128 %30)
(approx %137 %72)
%139
(*.f32 %139 %34)
%141
%142
(approx %137 %142)
%144
(*.f32 %144 %15)
%146
(*.f32 %48 %146)
Outputs
%2 = (*.f32 cosTheta_i cosTheta_O)
%3 = (*.f32 cosTheta_O cosTheta_i)
%6 = (neg.f32 v)
%8 = (*.f32 v v)
%10 = (log.f32 v)
%13 = (/.f32 #s(literal 1 binary32) v)
%16 = (/.f32 (+.f32 v %13) #s(literal 2 binary32))
%18 = (/.f32 (-.f32 v %13) #s(literal 2 binary32))
%22 = (*.f32 sinTheta_i sinTheta_O)
%46 = (/.f32 #s(literal -1 binary32) %6)
%47 = (fabs.f32 %13)
%48 = (/.f32 #s(literal -1 binary32) v)
%49 = (fabs.f32 %48)
%50 = (neg.f32 %48)
%51 = (neg.f32 %6)
%52 = (/.f32 #s(literal 1 binary32) %51)
%53 = (*.f32 #s(literal 1 binary32) %13)
%54 = (*.f32 %13 #s(literal 1 binary32))
%55 = (/.f32 #s(literal 1/2 binary32) v)
%56 = (*.f32 #s(literal 2 binary32) %55)
%57 = (*.f32 #s(literal -1 binary32) %48)
%59 = (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 1 binary32)))
%61 = (/.f32 #s(literal 1 binary32) (/.f32 %6 #s(literal -1 binary32)))
%63 = (sqrt.f32 (*.f32 %13 %13))
%64 = (pow.f32 v #s(literal -1 binary32))
%65 = (neg.f32 %10)
%66 = (exp.f32 %65)
%68 = (/.f32 #s(literal 1 binary32) (pow.f32 v #s(literal 1 binary32)))
%69 = (-.f32 %16 %18)
%70 = (neg.f32 %18)
%71 = (+.f32 %16 %70)
%72 = (+.f32 %70 %16)
%73 = (-.f32 %18 %16)
%74 = (fabs.f32 %73)
%75 = (neg.f32 %73)
%77 = (-.f32 %16 (neg.f32 %70))
%95 = (cosh.f32 (/.f32 #s(literal 0 binary32) #s(literal 2 binary32)))
%98 = (/.f32 %2 v)
%99 = (/.f32 cosTheta_O v)
%101 = (/.f32 cosTheta_i v)
%105 = (neg.f32 cosTheta_i)
%106 = (*.f32 %105 cosTheta_O)
%110 = (*.f32 %2 #s(literal 1 binary32))
%143 = (/.f32 #s(literal -1/2 binary32) v)
%146 = (+.f32 v v)
%148 = (*.f32 #s(literal -2 binary32) v)
%156 = (/.f32 #s(literal 2 binary32) v)
%163 = (/.f32 #s(literal 1/2 binary32) %146)
%170 = (fma.f32 %55 #s(literal 1/2 binary32) v)
%171 = (-.f32 v %163)
%173 = (log.f32 %146)
%174 = (neg.f32 %173)
%176 = (log.f32 #s(literal 1/2 binary32))
%183 = (fma.f32 v #s(literal 2 binary32) %143)
%184 = (fma.f32 #s(literal -2 binary32) v %143)
%185 = (-.f32 %183 %184)
%187 = (fma.f32 v #s(literal 2 binary32) %55)
%188 = (fma.f32 %183 #s(literal 1 binary32) %187)
%190 = (*.f32 #s(literal 2 binary32) %185)
%192 = (/.f32 #s(literal 1 binary32) %185)
%194 = (/.f32 #s(literal 1 binary32) %188)
%196 = (/.f32 #s(literal 1 binary32) %190)
%198 = (sinh.f32 %174)
%203 = (/.f32 sinTheta_O v)
%204 = (neg.f32 sinTheta_O)
%210 = (*.f32 sinTheta_O #s(literal 1 binary32))
%216 = (neg.f32 %204)
%224 = (log.f32 #s(literal 2 binary32))
%227 = (neg.f32 sinTheta_i)
%229 = (*.f32 %204 sinTheta_i)
%234 = (*.f32 %227 %203)
%235 = (*.f32 %203 sinTheta_i)
%242 = (neg.f32 %229)
%250 = (-.f32 %2 %22)
%259 = (-.f32 %22 %2)
%265 = (-.f32 #s(literal -1 binary32) %22)
%266 = (fma.f32 cosTheta_i cosTheta_O %265)
%267 = (fma.f32 cosTheta_O cosTheta_i %265)
%268 = (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))
%269 = (-.f32 %2 %268)
%270 = (fma.f32 cosTheta_i cosTheta_O #s(literal -1 binary32))
%271 = (-.f32 %270 %22)
%272 = (+.f32 %2 %265)
%273 = (+.f32 #s(literal -1 binary32) %250)
%274 = (+.f32 %250 #s(literal -1 binary32))
%275 = (+.f32 %265 %2)
%276 = (-.f32 #s(literal -1 binary32) %259)
%277 = (-.f32 %250 #s(literal 1 binary32))
%278 = (+.f32 %270 %229)
%279 = (-.f32 %22 %270)
%280 = (neg.f32 %279)
%281 = (fma.f32 #s(literal 1 binary32) #s(literal -1 binary32) %250)
%282 = (fma.f32 #s(literal 2 binary32) #s(literal -1/2 binary32) %250)
%283 = (fma.f32 #s(literal -2 binary32) #s(literal 1/2 binary32) %250)
%284 = (/.f32 %269 v)
%285 = (/.f32 %279 %6)
%286 = (/.f32 %279 v)
%287 = (neg.f32 %286)
%288 = (/.f32 %269 %51)
%290 = (neg.f32 (/.f32 %269 %6))
%291 = (*.f32 %269 #s(literal 1 binary32))
%292 = (/.f32 %291 v)
%293 = (*.f32 %13 %269)
%294 = (*.f32 %269 %13)
%295 = (*.f32 %279 %48)
%297 = (/.f32 #s(literal 1 binary32) (/.f32 v %269))
%298 = (/.f32 %265 v)
%299 = (fma.f32 cosTheta_i %99 %298)
%300 = (fma.f32 cosTheta_O %101 %298)
%301 = (fma.f32 %101 cosTheta_O %298)
%302 = (fma.f32 %99 cosTheta_i %298)
%303 = (/.f32 %268 v)
%304 = (-.f32 %98 %303)
%306 = (-.f32 (/.f32 %270 v) %235)
%308 = (/.f32 (*.f32 %269 #s(literal -1 binary32)) %6)
%309 = (*.f32 %279 %13)
%310 = (neg.f32 %309)
%311 = (neg.f32 %303)
%312 = (fma.f32 cosTheta_i %99 %311)
%313 = (fma.f32 cosTheta_O %101 %311)
%314 = (fma.f32 %101 cosTheta_O %311)
%315 = (fma.f32 %99 cosTheta_i %311)
%316 = (+.f32 %98 %298)
%317 = (/.f32 %250 v)
%318 = (+.f32 %48 %317)
%319 = (+.f32 %317 %48)
%320 = (-.f32 %317 %13)
%321 = (+.f32 %98 %311)
%323 = (/.f32 #s(literal 1 binary32) (/.f32 %6 %279))
%325 = (neg.f32 (-.f32 %303 %98))
%328 = (neg.f32 (+.f32 (/.f32 %259 v) %13))
%329 = (*.f32 %291 %13)
%330 = (*.f32 %98 v)
%332 = (/.f32 (-.f32 %330 %268) v)
%333 = (fma.f32 %317 v #s(literal -1 binary32))
%334 = (/.f32 %333 v)
%335 = (fma.f32 %2 %13 %298)
%336 = (fma.f32 #s(literal 1 binary32) %48 %317)
%337 = (fma.f32 %13 %2 %298)
%338 = (fma.f32 %13 %250 %48)
%339 = (fma.f32 #s(literal -1 binary32) %13 %317)
%340 = (fma.f32 %250 %13 %48)
%341 = (fma.f32 %2 %13 %311)
%342 = (fma.f32 %13 %2 %311)
%343 = (-.f32 %330 %22)
%345 = (/.f32 (-.f32 %343 #s(literal 1 binary32)) v)
%347 = (/.f32 (+.f32 %343 #s(literal -1 binary32)) v)
%348 = (fma.f32 %106 %48 %298)
%349 = (fma.f32 %227 %203 %48)
%350 = (fma.f32 cosTheta_i %99 %349)
%351 = (fma.f32 cosTheta_O %101 %349)
%352 = (fma.f32 %101 cosTheta_O %349)
%353 = (fma.f32 %99 cosTheta_i %349)
%354 = (fma.f32 %106 %48 %311)
%355 = (+.f32 %98 %349)
%356 = (-.f32 %234 %13)
%357 = (fma.f32 cosTheta_i %99 %356)
%358 = (fma.f32 cosTheta_O %101 %356)
%359 = (fma.f32 %101 cosTheta_O %356)
%360 = (fma.f32 %99 cosTheta_i %356)
%362 = (/.f32 (neg.f32 %333) %6)
%363 = (*.f32 %2 v)
%366 = (/.f32 (-.f32 %363 (*.f32 v %268)) %8)
%367 = (*.f32 v #s(literal -1 binary32))
%369 = (/.f32 (fma.f32 %250 v %367) %8)
%370 = (*.f32 #s(literal -1 binary32) v)
%372 = (/.f32 (fma.f32 %250 v %370) %8)
%373 = (+.f32 %98 %356)
%376 = (/.f32 (-.f32 (*.f32 %317 %6) #s(literal -1 binary32)) %6)
%378 = (*.f32 v #s(literal 1 binary32))
%380 = (/.f32 (-.f32 (*.f32 %250 v) %378) %8)
%381 = (fma.f32 %110 %13 %298)
%382 = (*.f32 %333 %13)
%383 = (fma.f32 %110 %13 %311)
%385 = (/.f32 #s(literal 1 binary32) (/.f32 v %333))
%386 = (fma.f32 %2 %13 %349)
%387 = (fma.f32 %13 %2 %349)
%390 = (-.f32 (/.f32 (*.f32 %317 v) v) %13)
%393 = (*.f32 v %6)
%394 = (/.f32 (-.f32 (*.f32 %250 %6) %367) %393)
%395 = (fma.f32 %2 %13 %356)
%396 = (fma.f32 %13 %2 %356)
%401 = (/.f32 (-.f32 (*.f32 %106 v) (*.f32 %6 %268)) (*.f32 %6 v))
%402 = (fma.f32 %106 %48 %349)
%403 = (fma.f32 %106 %48 %356)
%404 = (fma.f32 %343 %13 %48)
%405 = (fma.f32 %110 %13 %349)
%406 = (fma.f32 %110 %13 %356)
%408 = (/.f32 (fma.f32 %343 v %367) %8)
%410 = (/.f32 (fma.f32 %343 v %370) %8)
%413 = (-.f32 %363 (*.f32 (*.f32 v sinTheta_i) sinTheta_O))
%414 = (/.f32 #s(literal 1 binary32) %8)
%415 = (fma.f32 %413 %414 %48)
%418 = (/.f32 (-.f32 (*.f32 %343 v) %378) %8)
%421 = (/.f32 (-.f32 (*.f32 %343 %6) %367) %393)
%422 = (*.f32 %8 #s(literal -1 binary32))
%424 = (*.f32 %8 v)
%425 = (/.f32 (fma.f32 %413 v %422) %424)
%428 = (/.f32 (fma.f32 %413 v (*.f32 #s(literal -1 binary32) %8)) %424)
%432 = (/.f32 (-.f32 (*.f32 %413 v) (*.f32 %8 #s(literal 1 binary32))) %424)
%436 = (/.f32 (-.f32 (*.f32 %413 %6) %422) (*.f32 %8 %6))
%437 = (*.f32 %269 %70)
%438 = (fma.f32 %269 %16 %437)
%439 = (*.f32 %70 %269)
%440 = (fma.f32 %16 %269 %439)
%442 = (+.f32 (*.f32 %269 %16) %437)
%444 = (+.f32 (*.f32 %16 %269) %439)
%451 = (*.f32 %216 sinTheta_i)
%467 = (-.f32 %284 #s(literal -6931/10000 binary32))
%468 = (-.f32 #s(literal -6931/10000 binary32) %284)
%484 = (-.f32 %48 #s(literal -6931/10000 binary32))
%486 = (+.f32 %48 #s(literal 6931/10000 binary32))
%488 = (+.f32 #s(literal 6931/10000 binary32) %317)
%492 = (-.f32 %13 #s(literal 6931/10000 binary32))
%495 = (neg.f32 %492)
%508 = (-.f32 %234 %492)
%527 = (*.f32 v #s(literal 2 binary32))
%528 = (*.f32 #s(literal 2 binary32) v)
%529 = (fabs.f32 %146)
%530 = (-.f32 v %6)
%531 = (fabs.f32 %148)
%532 = (neg.f32 %148)
%533 = (+.f32 v %51)
%534 = (/.f32 #s(literal 1 binary32) %55)
%535 = (fma.f32 v #s(literal 1 binary32) %378)
%536 = (*.f32 #s(literal 1 binary32) v)
%537 = (fma.f32 #s(literal 1 binary32) v %536)
%538 = (+.f32 %378 %378)
%539 = (+.f32 %536 %536)
%540 = (*.f32 %146 %146)
%541 = (sqrt.f32 %540)
%542 = (fma.f32 %146 #s(literal 1/2 binary32) %378)
%543 = (*.f32 v #s(literal 1/2 binary32))
%544 = (fma.f32 #s(literal 2 binary32) %543 %378)
%545 = (exp.f32 %173)
%546 = (fma.f32 %55 #s(literal 1/2 binary32) %171)
%547 = (+.f32 v %546)
%548 = (+.f32 %170 %171)
%549 = (+.f32 %171 %170)
%551 = (+.f32 (+.f32 %171 v) %163)
%553 = (-.f32 %170 (neg.f32 %171))
%554 = (neg.f32 %170)
%555 = (-.f32 %171 %554)
%556 = (fma.f32 #s(literal 1/2 binary32) %183 %170)
%557 = (fma.f32 %183 #s(literal 1/2 binary32) %170)
%558 = (fma.f32 v #s(literal 1 binary32) %546)
%559 = (fma.f32 #s(literal 1/2 binary32) %187 %171)
%560 = (fma.f32 %187 #s(literal 1/2 binary32) %171)
%561 = (fma.f32 %184 #s(literal -1/2 binary32) %171)
%562 = (-.f32 %55 %146)
%563 = (fma.f32 %562 #s(literal -1/2 binary32) %170)
%564 = (*.f32 #s(literal 1/2 binary32) %185)
%565 = (*.f32 %185 #s(literal 1/2 binary32))
%566 = (+.f32 %378 %546)
%568 = (-.f32 %170 (*.f32 %562 #s(literal 1/2 binary32)))
%570 = (+.f32 (+.f32 %171 %378) %163)
%571 = (/.f32 %185 #s(literal 2 binary32))
%573 = (/.f32 (+.f32 %184 %562) #s(literal -2 binary32))
%575 = (/.f32 (+.f32 %562 %184) #s(literal -2 binary32))
%577 = (/.f32 (neg.f32 %185) #s(literal -2 binary32))
%578 = (-.f32 v %55)
%579 = (fma.f32 %578 #s(literal 1/2 binary32) %170)
%580 = (fma.f32 v #s(literal 1/2 binary32) %579)
%581 = (fma.f32 %146 #s(literal 1/2 binary32) %546)
%582 = (*.f32 %188 #s(literal 1/2 binary32))
%583 = (+.f32 %543 %579)
%584 = (fma.f32 #s(literal 2 binary32) %543 %546)
%585 = (*.f32 %190 #s(literal 1/4 binary32))
%587 = (*.f32 %578 #s(literal 1/2 binary32))
%588 = (+.f32 (+.f32 %170 %543) %587)
%589 = (/.f32 %188 #s(literal 2 binary32))
%591 = (/.f32 (fma.f32 %170 #s(literal 2 binary32) %183) #s(literal 2 binary32))
%593 = (/.f32 (fma.f32 %170 #s(literal -2 binary32) %562) #s(literal -2 binary32))
%595 = (/.f32 (fma.f32 %171 #s(literal -2 binary32) %184) #s(literal -2 binary32))
%596 = (-.f32 %587 %554)
%597 = (fma.f32 v #s(literal 1/2 binary32) %596)
%600 = (+.f32 (/.f32 (*.f32 %183 #s(literal 2 binary32)) #s(literal 4 binary32)) %170)
%601 = (/.f32 %190 #s(literal 4 binary32))
%602 = (+.f32 %543 %596)
%604 = (/.f32 (neg.f32 %188) #s(literal -2 binary32))
%607 = (/.f32 (neg.f32 %190) #s(literal -4 binary32))
%610 = (/.f32 (fma.f32 %184 #s(literal 2 binary32) (*.f32 #s(literal -2 binary32) %183)) #s(literal -4 binary32))
%613 = (/.f32 (fma.f32 %184 #s(literal 2 binary32) (*.f32 %183 #s(literal -2 binary32))) #s(literal -4 binary32))
%616 = (/.f32 (fma.f32 %183 #s(literal -2 binary32) (*.f32 #s(literal 2 binary32) %184)) #s(literal -4 binary32))
%619 = (/.f32 (fma.f32 %183 #s(literal -2 binary32) (*.f32 %184 #s(literal 2 binary32))) #s(literal -4 binary32))
%622 = (/.f32 (fma.f32 %184 #s(literal -2 binary32) (*.f32 #s(literal -2 binary32) %562)) #s(literal 4 binary32))
%625 = (/.f32 (fma.f32 %562 #s(literal 2 binary32) (*.f32 #s(literal -2 binary32) %187)) #s(literal -4 binary32))
%628 = (/.f32 (fma.f32 %562 #s(literal -2 binary32) (*.f32 #s(literal -2 binary32) %184)) #s(literal 4 binary32))
%631 = (/.f32 (fma.f32 %187 #s(literal -2 binary32) (*.f32 #s(literal 2 binary32) %562)) #s(literal -4 binary32))
%634 = (/.f32 (fma.f32 %184 #s(literal -2 binary32) (*.f32 %562 #s(literal -2 binary32))) #s(literal 4 binary32))
%637 = (/.f32 (fma.f32 %562 #s(literal 2 binary32) (*.f32 %187 #s(literal -2 binary32))) #s(literal -4 binary32))
%640 = (/.f32 (fma.f32 %562 #s(literal -2 binary32) (*.f32 %184 #s(literal -2 binary32))) #s(literal 4 binary32))
%643 = (/.f32 (fma.f32 %187 #s(literal -2 binary32) (*.f32 %562 #s(literal 2 binary32))) #s(literal -4 binary32))
%645 = (/.f32 (/.f32 %190 #s(literal 2 binary32)) #s(literal 2 binary32))
%657 = (-.f32 #s(literal 6931/10000 binary32) %173)
%660 = (-.f32 %173 #s(literal 6931/10000 binary32))
%665 = (-.f32 %176 #s(literal -6931/10000 binary32))
%667 = (exp.f32 %467)
%669 = (neg.f32 %667)
%673 = (exp.f32 %284)
%674 = (exp.f32 #s(literal 6931/10000 binary32))
%677 = (exp.f32 #s(literal -6931/10000 binary32))
%679 = (neg.f32 %673)
%680 = (neg.f32 %677)
%684 = (exp.f32 %317)
%687 = (sinh.f32 %467)
%688 = (cosh.f32 %467)
%697 = (cosh.f32 %284)
%699 = (sinh.f32 %284)
%702 = (fabs.f32 %673)
%703 = (fabs.f32 %679)
%705 = (/.f32 #s(literal 1 binary32) (exp.f32 %286))
%707 = (*.f32 %684 (exp.f32 %48))
%710 = (/.f32 (exp.f32 %98) (exp.f32 %303))
%712 = (/.f32 %684 (exp.f32 %13))
%713 = (exp.f32 %269)
%714 = (pow.f32 %713 %13)
%715 = (+.f32 %699 %697)
%716 = (+.f32 %697 %699)
%718 = (-.f32 %697 (sinh.f32 %286))
%720 = (sqrt.f32 (*.f32 %673 %673))
%722 = (-.f32 %697 (neg.f32 %699))
%723 = (/.f32 %674 %146)
%724 = (*.f32 v %677)
%725 = (/.f32 #s(literal 1/2 binary32) %724)
%727 = (/.f32 (*.f32 %674 #s(literal 1/2 binary32)) v)
%729 = (/.f32 (*.f32 #s(literal 1/2 binary32) %674) v)
%730 = (/.f32 %674 v)
%731 = (*.f32 #s(literal 1/2 binary32) %730)
%732 = (*.f32 %55 %674)
%733 = (*.f32 %730 #s(literal 1/2 binary32))
%734 = (*.f32 %674 %55)
%735 = (fabs.f32 %723)
%736 = (/.f32 %55 %677)
%737 = (/.f32 %730 #s(literal 2 binary32))
%739 = (/.f32 (/.f32 %674 #s(literal 2 binary32)) v)
%740 = (/.f32 #s(literal 1/2 binary32) %677)
%741 = (/.f32 %740 v)
%742 = (*.f32 %6 %677)
%743 = (/.f32 #s(literal -1/2 binary32) %742)
%744 = (neg.f32 %674)
%745 = (/.f32 %744 %148)
%747 = (neg.f32 (/.f32 #s(literal -1/2 binary32) %724))
%749 = (fabs.f32 (neg.f32 %723))
%750 = (/.f32 %143 %680)
%752 = (/.f32 #s(literal 1/2 binary32) (neg.f32 %742))
%754 = (neg.f32 (/.f32 #s(literal 1/2 binary32) %742))
%755 = (*.f32 %146 %677)
%756 = (/.f32 #s(literal 1 binary32) %755)
%758 = (/.f32 (*.f32 %674 #s(literal 1 binary32)) %146)
%760 = (/.f32 (*.f32 #s(literal 1 binary32) %674) %146)
%761 = (*.f32 #s(literal 1 binary32) %723)
%763 = (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) %724))
%764 = (*.f32 %148 %677)
%765 = (/.f32 #s(literal -1 binary32) %764)
%767 = (/.f32 #s(literal 1 binary32) (/.f32 %146 %674))
%769 = (/.f32 #s(literal 1 binary32) (/.f32 %724 #s(literal 1/2 binary32)))
%771 = (/.f32 (*.f32 %730 #s(literal 1 binary32)) #s(literal 2 binary32))
%773 = (*.f32 #s(literal -1/2 binary32) (/.f32 #s(literal 1 binary32) %742))
%774 = (exp.f32 %657)
%776 = (/.f32 #s(literal 1 binary32) (/.f32 %677 %55))
%778 = (/.f32 #s(literal 1 binary32) (/.f32 %742 #s(literal -1/2 binary32)))
%780 = (/.f32 #s(literal 1 binary32) (exp.f32 %660))
%782 = (sqrt.f32 (*.f32 %723 %723))
%783 = (sinh.f32 %657)
%784 = (cosh.f32 %657)
%785 = (+.f32 %783 %784)
%786 = (+.f32 %784 %783)
%788 = (-.f32 %784 (sinh.f32 %660))
%789 = (-.f32 #s(literal 6931/10000 binary32) %10)
%790 = (cosh.f32 %789)
%791 = (sinh.f32 %789)
%792 = (*.f32 #s(literal 1/2 binary32) %791)
%793 = (fma.f32 #s(literal 1/2 binary32) %790 %792)
%794 = (*.f32 %791 #s(literal 1/2 binary32))
%795 = (fma.f32 %790 #s(literal 1/2 binary32) %794)
%797 = (+.f32 (*.f32 %790 #s(literal 1/2 binary32)) %794)
%799 = (+.f32 (*.f32 #s(literal 1/2 binary32) %790) %792)
%801 = (-.f32 %784 (neg.f32 %783))
%806 = (-.f32 #s(literal 1 binary32) %2)
%811 = (* cosTheta_i cosTheta_O)
%812 = (* sinTheta_i sinTheta_O)
%813 = (- %811 %812)
%815 = (+ %813 -1)
%816 = (approx %815 %270)
%824 = (+.f32 %55 v)
%834 = (fma.f32 %146 v #s(literal 1/2 binary32))
%851 = (*.f32 %146 v)
%858 = (+.f32 %171 %55)
%860 = (-.f32 %171 %143)
%880 = (neg.f32 %163)
%882 = (/.f32 %143 #s(literal 2 binary32))
%927 = (sinh.f32 #s(literal -6931/10000 binary32))
%928 = (cosh.f32 #s(literal 6931/10000 binary32))
%938 = (*.f32 v %927)
%940 = (*.f32 %927 v)
%947 = (exp.f32 %250)
%948 = (E.f32 )
%954 = (exp.f32 #s(literal -1 binary32))
%956 = (exp.f32 %2)
%960 = (exp.f32 %270)
%963 = (exp.f32 %268)
%965 = (neg.f32 %956)
%972 = (sinh.f32 %269)
%973 = (cosh.f32 %269)
%982 = (/.f32 %816 v)
%983 = (exp.f32 %982)
%996 = (approx (+ %811 -1) #s(literal -1 binary32))
%997 = (/ %815 v)
%998 = (approx %997 %98)
%1001 = (approx (+ 1 %812) #s(literal 1 binary32))
%1015 = (sinh.f32 %270)
%1016 = (cosh.f32 %270)
%1028 = (approx (/ (exp %813) (E )) %960)
%1031 = (-.f32 %10 #s(literal 6931/10000 binary32))
%1040 = (-.f32 #s(literal -6931/10000 binary32) %176)
%1074 = (/ 1/2 v)
%1075 = (log %1074)
%1079 = (approx (+ %1075 (* cosTheta_O (/ cosTheta_i v))) %174)
%1081 = (+ %997 6931/10000)
%1082 = (+ %1081 %1075)
%1083 = (approx %1082 %234)
%1086 = (-.f32 %55 v)
%1088 = (fma.f32 v v #s(literal -1/2 binary32))
%1129 = (-.f32 %171 %55)
%1141 = (+.f32 %284 %176)
%1144 = (-.f32 %284 %1040)
%1167 = (-.f32 %48 %1040)
%1169 = (+.f32 %48 %665)
%1171 = (+.f32 %665 %317)
%1192 = (exp.f32 %1144)
%1194 = (neg.f32 %1192)
%1200 = (*.f32 %1192 #s(literal -1 binary32))
%1204 = (exp.f32 %665)
%1213 = (sinh.f32 %1144)
%1214 = (cosh.f32 %1144)
%1221 = (/.f32 %1192 v)
%1222 = (/.f32 %1194 %6)
%1224 = (neg.f32 (/.f32 %1192 %6))
%1226 = (neg.f32 (/.f32 %1194 v))
%1227 = (*.f32 #s(literal 1 binary32) %1221)
%1228 = (*.f32 %13 %1192)
%1229 = (*.f32 %1192 %13)
%1231 = (/.f32 #s(literal 1 binary32) (/.f32 v %1192))
%1233 = (/.f32 (neg.f32 %1194) %51)
%1234 = (/.f32 %1200 %6)
%1236 = (/.f32 (*.f32 #s(literal -1 binary32) %1192) %6)
%1237 = (*.f32 %1194 %48)
%1239 = (/.f32 #s(literal 1 binary32) (/.f32 %6 %1194))
%1241 = (*.f32 %673 (/.f32 %1204 v))
%1243 = (*.f32 %673 (*.f32 %1204 %13))
%1244 = (*.f32 %13 %673)
%1245 = (*.f32 %1244 %1204)
%1248 = (+.f32 (/.f32 %1214 v) (/.f32 %1213 v))
%1249 = (*.f32 %13 %1213)
%1250 = (fma.f32 %13 %1214 %1249)
%1251 = (*.f32 %1213 %13)
%1252 = (fma.f32 %1214 %13 %1251)
%1254 = (+.f32 (*.f32 %1214 %13) %1251)
%1256 = (+.f32 (*.f32 %13 %1214) %1249)
%1257 = (+.f32 #s(literal 6931/10000 binary32) %1079)
%1258 = (-.f32 %1257 %13)
%1259 = (approx %1082 %1258)
%1262 = (approx %1082 %998)
%1264 = (pow.f32 %1028 %13)
%1267 = (-.f32 %2 %1001)
%1268 = (/.f32 %1267 v)
%1269 = (approx %1082 %1268)
%1304 = (/.f32 %667 %146)
%1305 = (*.f32 %667 #s(literal 1/2 binary32))
%1306 = (/.f32 %1305 v)
%1307 = (*.f32 %55 %667)
%1308 = (*.f32 %667 %55)
%1309 = (fabs.f32 %1304)
%1311 = (/.f32 (/.f32 %667 v) #s(literal 2 binary32))
%1313 = (/.f32 (*.f32 %667 #s(literal -1/2 binary32)) %6)
%1315 = (/.f32 (*.f32 #s(literal -1/2 binary32) %667) %6)
%1316 = (/.f32 %669 %148)
%1317 = (*.f32 %669 %143)
%1319 = (neg.f32 (/.f32 %667 %148))
%1321 = (/.f32 (neg.f32 %669) %146)
%1323 = (fabs.f32 (neg.f32 %1304))
%1325 = (neg.f32 (/.f32 %669 %146))
%1327 = (/.f32 (neg.f32 %1305) %6)
%1328 = (*.f32 %667 #s(literal 1 binary32))
%1329 = (/.f32 %1328 %146)
%1331 = (/.f32 (*.f32 #s(literal 1 binary32) %667) %146)
%1332 = (*.f32 #s(literal 1 binary32) %1304)
%1334 = (/.f32 (*.f32 %667 #s(literal -1 binary32)) %148)
%1336 = (/.f32 (*.f32 #s(literal -1 binary32) %667) %148)
%1338 = (*.f32 #s(literal 1/2 binary32) (*.f32 %13 %667))
%1339 = (*.f32 %1305 %13)
%1340 = (*.f32 %1328 %55)
%1342 = (/.f32 #s(literal 1 binary32) (/.f32 %146 %667))
%1344 = (/.f32 #s(literal 1 binary32) (/.f32 v %1305))
%1345 = (-.f32 %284 %660)
%1346 = (exp.f32 %1345)
%1348 = (/.f32 #s(literal 1 binary32) (/.f32 %148 %669))
%1349 = (*.f32 %677 %146)
%1350 = (/.f32 %673 %1349)
%1351 = (*.f32 %673 %723)
%1352 = (*.f32 %723 %673)
%1353 = (*.f32 %673 #s(literal 1/2 binary32))
%1354 = (/.f32 %1353 %724)
%1356 = (/.f32 (*.f32 %1353 %674) v)
%1358 = (*.f32 #s(literal 1/2 binary32) (*.f32 %730 %673))
%1359 = (*.f32 %730 %1353)
%1360 = (*.f32 %1353 %730)
%1362 = (*.f32 (*.f32 %673 %730) #s(literal 1/2 binary32))
%1364 = (/.f32 (*.f32 %673 %55) %677)
%1365 = (*.f32 %55 %673)
%1366 = (/.f32 %1365 %677)
%1368 = (/.f32 (*.f32 %673 #s(literal -1/2 binary32)) %742)
%1370 = (/.f32 (*.f32 #s(literal -1/2 binary32) %673) %742)
%1372 = (/.f32 (*.f32 %673 #s(literal 1 binary32)) %1349)
%1374 = (/.f32 (*.f32 #s(literal 1 binary32) %673) %755)
%1377 = (/.f32 (*.f32 %673 #s(literal -1 binary32)) (*.f32 %677 %148))
%1379 = (/.f32 (*.f32 #s(literal -1 binary32) %673) %764)
%1381 = (*.f32 (/.f32 %667 %185) #s(literal 2 binary32))
%1383 = (*.f32 (/.f32 %667 %188) #s(literal 2 binary32))
%1385 = (*.f32 (/.f32 %667 %190) #s(literal 4 binary32))
%1388 = (+.f32 (/.f32 %688 %146) (/.f32 %687 %146))
%1389 = (*.f32 %55 %687)
%1390 = (fma.f32 %55 %688 %1389)
%1391 = (*.f32 %687 %55)
%1392 = (fma.f32 %688 %55 %1391)
%1394 = (sqrt.f32 (*.f32 %1304 %1304))
%1396 = (+.f32 (*.f32 %688 %55) %1391)
%1398 = (+.f32 (*.f32 %55 %688) %1389)
%1399 = (sinh.f32 %1345)
%1400 = (cosh.f32 %1345)
%1401 = (+.f32 %1399 %1400)
%1402 = (+.f32 %1400 %1399)
%1404 = (-.f32 %1400 (neg.f32 %1399))
%1405 = (*.f32 %723 %699)
%1406 = (fma.f32 %723 %697 %1405)
%1407 = (*.f32 %699 %723)
%1408 = (fma.f32 %697 %723 %1407)
%1410 = (+.f32 (*.f32 %697 %723) %1407)
%1412 = (+.f32 (*.f32 %723 %697) %1405)
%1413 = (*.f32 %673 %783)
%1414 = (fma.f32 %673 %784 %1413)
%1415 = (*.f32 %783 %673)
%1416 = (fma.f32 %784 %673 %1415)
%1418 = (+.f32 (*.f32 %673 %784) %1413)
%1420 = (+.f32 (*.f32 %784 %673) %1415)
%1421 = (*.f32 %791 %1353)
%1422 = (fma.f32 %790 %1353 %1421)
%1423 = (*.f32 %1353 %791)
%1424 = (fma.f32 %1353 %790 %1423)
%1426 = (+.f32 (*.f32 %1353 %790) %1423)
%1428 = (+.f32 (*.f32 %790 %1353) %1421)
%1429 = (/.f32 #s(literal 2097053/2097152 binary32) v)
%1431 = (/.f32 #s(literal -2097053/2097152 binary32) %6)
%1432 = (/.f32 #s(literal 2097053/1048576 binary32) %146)
%1433 = (/.f32 #s(literal -2097053/1048576 binary32) %148)
%1434 = (*.f32 %13 #s(literal 2097053/2097152 binary32))
%1435 = (/.f32 #s(literal 2097053/1048576 binary32) v)
%1436 = (*.f32 #s(literal 1/2 binary32) %1435)
%1437 = (*.f32 %55 #s(literal 2097053/1048576 binary32))
%1438 = (*.f32 #s(literal 2097053/1048576 binary32) %55)
%1439 = (*.f32 #s(literal 2097053/2097152 binary32) %13)
%1440 = (*.f32 %1435 #s(literal 1/2 binary32))
%1441 = (*.f32 #s(literal -2097053/1048576 binary32) %143)
%1443 = (neg.f32 (/.f32 #s(literal -2097053/1048576 binary32) %146))
%1445 = (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/2097152 binary32)))
%1446 = (/.f32 %1435 #s(literal 2 binary32))
%1448 = (neg.f32 (/.f32 #s(literal 2097053/1048576 binary32) %148))
%1450 = (/.f32 #s(literal 1 binary32) (/.f32 %146 #s(literal 2097053/1048576 binary32)))
%1452 = (/.f32 #s(literal 1 binary32) (/.f32 %148 #s(literal -2097053/1048576 binary32)))
%1454 = (/.f32 (*.f32 %1435 #s(literal 1 binary32)) #s(literal 2 binary32))
%1456 = (/.f32 (*.f32 #s(literal 1 binary32) %1435) #s(literal 2 binary32))
%1457 = (*.f32 #s(literal 2097053/2097152 binary32) %70)
%1458 = (fma.f32 #s(literal 2097053/2097152 binary32) %16 %1457)
%1459 = (*.f32 %70 #s(literal 2097053/2097152 binary32))
%1460 = (fma.f32 %16 #s(literal 2097053/2097152 binary32) %1459)
%1462 = (+.f32 (*.f32 %16 #s(literal 2097053/2097152 binary32)) %1459)
%1464 = (+.f32 (*.f32 #s(literal 2097053/2097152 binary32) %16) %1457)
%1465 = (*.f32 %673 #s(literal 2097053/2097152 binary32))
%1466 = (/.f32 %1465 v)
%1467 = (*.f32 %673 %1429)
%1468 = (*.f32 %1429 %673)
%1470 = (*.f32 (/.f32 %673 v) #s(literal 2097053/2097152 binary32))
%1471 = (*.f32 %673 #s(literal 2097053/1048576 binary32))
%1472 = (/.f32 %1471 %146)
%1474 = (/.f32 (*.f32 %673 #s(literal -2097053/1048576 binary32)) %148)
%1476 = (/.f32 (*.f32 #s(literal -2097053/1048576 binary32) %673) %148)
%1478 = (/.f32 (*.f32 %1465 #s(literal 1 binary32)) v)
%1479 = (*.f32 %13 %1465)
%1480 = (*.f32 #s(literal 2097053/1048576 binary32) %1365)
%1481 = (*.f32 #s(literal 2097053/2097152 binary32) %1244)
%1482 = (*.f32 %1353 %1435)
%1483 = (*.f32 %1465 %13)
%1484 = (*.f32 %1471 %55)
%1486 = (*.f32 (*.f32 %673 %13) #s(literal 2097053/2097152 binary32))
%1488 = (/.f32 (/.f32 %1471 v) #s(literal 2 binary32))
%1490 = (/.f32 (/.f32 %1471 #s(literal 2 binary32)) v)
%1492 = (/.f32 (neg.f32 %1471) %148)
%1494 = (/.f32 #s(literal 1 binary32) (/.f32 %146 %1471))
%1495 = (*.f32 %1429 %699)
%1496 = (fma.f32 %1429 %697 %1495)
%1497 = (*.f32 %699 %1429)
%1498 = (fma.f32 %697 %1429 %1497)
%1500 = (+.f32 (*.f32 %697 %1429) %1497)
%1502 = (+.f32 (*.f32 %1429 %697) %1495)
%1503 = (*.f32 %70 %1465)
%1504 = (fma.f32 %16 %1465 %1503)
%1505 = (*.f32 %1465 %70)
%1506 = (fma.f32 %1465 %16 %1505)
%1508 = (+.f32 (*.f32 %1465 %16) %1505)
%1510 = (+.f32 (*.f32 %16 %1465) %1503)
%1511 = (approx %815 %996)
%1512 = (/.f32 %1511 v)
%1513 = (-.f32 %1512 #s(literal -6931/10000 binary32))
%1514 = (exp.f32 %1513)
%1516 = (exp.f32 %1512)
%1519 = (exp %1081)
%1520 = (* %1519 %1074)
%1536 = (approx %1519 #s(literal 2097053/1048576 binary32))
cosTheta_i
cosTheta_O
%2
%3
v
(fabs.f32 v)
(fabs.f32 %6)
(sqrt.f32 %8)
(exp.f32 %10)
(+.f32 %16 %18)
sinTheta_i
sinTheta_O
%22
(*.f32 sinTheta_O sinTheta_i)
#s(literal 1 binary32)
(fabs.f32 #s(literal 1 binary32))
(fabs.f32 #s(literal -1 binary32))
(neg.f32 #s(literal -1 binary32))
(sqrt.f32 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 0 binary32))
(+.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 2 binary32))
(/.f32 #s(literal 2 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/4 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 0 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
%13
%46
%47
%49
%50
%52
%53
%54
%56
%57
%59
%61
%63
%64
%66
%68
%69
%71
%72
%74
%75
%77
#s(literal 6931/10000 binary32)
(neg.f32 #s(literal -6931/10000 binary32))
(+.f32 #s(literal 6931/10000 binary32) #s(literal 0 binary32))
#s(literal 2 binary32)
(fabs.f32 #s(literal 2 binary32))
(neg.f32 #s(literal -2 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 4 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) (*.f32 %95 %95))
%2
%3
%98
(*.f32 cosTheta_i %99)
(*.f32 cosTheta_O %101)
(*.f32 %101 cosTheta_O)
(*.f32 %99 cosTheta_i)
(/.f32 %106 %6)
(neg.f32 (*.f32 %105 %99))
(/.f32 %110 v)
(*.f32 %2 %13)
(*.f32 %13 %2)
(/.f32 #s(literal 1 binary32) (/.f32 v %2))
(/.f32 (neg.f32 %106) %51)
(/.f32 (*.f32 %2 #s(literal -1 binary32)) %6)
(*.f32 %106 %48)
(/.f32 #s(literal 1 binary32) (/.f32 %6 %106))
(*.f32 %110 %13)
#s(literal -1 binary32)
(neg.f32 #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal -1/2 binary32))
(*.f32 #s(literal -2 binary32) #s(literal 1/2 binary32))
#s(literal 1/2 binary32)
(fabs.f32 #s(literal 1/2 binary32))
(fabs.f32 #s(literal -1/2 binary32))
(neg.f32 #s(literal -1/2 binary32))
(sqrt.f32 #s(literal 1/4 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/4 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) #s(literal 2 binary32))
(/.f32 #s(literal -1 binary32) #s(literal -2 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) #s(literal 1 binary32)))
(pow.f32 #s(literal 2 binary32) #s(literal -1 binary32))
%55
(/.f32 #s(literal -1/2 binary32) %6)
(fabs.f32 %55)
(neg.f32 %143)
(/.f32 #s(literal 1/2 binary32) %51)
(/.f32 #s(literal 1 binary32) %146)
(/.f32 #s(literal -1 binary32) %148)
(*.f32 #s(literal 1 binary32) %55)
(*.f32 %13 #s(literal 1/2 binary32))
(*.f32 #s(literal -1 binary32) %143)
(*.f32 #s(literal 1/2 binary32) %13)
(*.f32 %55 #s(literal 1 binary32))
(*.f32 #s(literal -1/2 binary32) %48)
(*.f32 %156 #s(literal 1/4 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 1/2 binary32)))
(/.f32 %13 #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 %6 #s(literal -1/2 binary32)))
(*.f32 #s(literal 2 binary32) %163)
(/.f32 #s(literal 1 binary32) (/.f32 %146 #s(literal 1 binary32)))
(/.f32 #s(literal 1 binary32) (/.f32 %148 #s(literal -1 binary32)))
(pow.f32 %146 #s(literal -1 binary32))
(-.f32 %170 %171)
(exp.f32 %174)
(/.f32 (exp.f32 %176) v)
(exp.f32 (*.f32 %173 #s(literal -1 binary32)))
(/.f32 #s(literal 1 binary32) (pow.f32 %146 #s(literal 1 binary32)))
(/.f32 #s(literal 2 binary32) %185)
(/.f32 #s(literal 2 binary32) %188)
(/.f32 #s(literal 4 binary32) %190)
(*.f32 %192 #s(literal 2 binary32))
(*.f32 %194 #s(literal 2 binary32))
(*.f32 %196 #s(literal 4 binary32))
(+.f32 %170 %198)
(fma.f32 #s(literal 1/2 binary32) %187 %198)
(fma.f32 %187 #s(literal 1/2 binary32) %198)
(fma.f32 %184 #s(literal -1/2 binary32) %198)
%203
(/.f32 %204 %6)
(neg.f32 (/.f32 %204 v))
(neg.f32 (/.f32 sinTheta_O %6))
(/.f32 %210 v)
(*.f32 sinTheta_O %13)
(*.f32 %13 sinTheta_O)
(/.f32 #s(literal 1 binary32) (/.f32 v sinTheta_O))
(/.f32 %216 %51)
(/.f32 (*.f32 sinTheta_O #s(literal -1 binary32)) %6)
(*.f32 %204 %48)
(/.f32 #s(literal 1 binary32) (/.f32 %6 %204))
(*.f32 %210 %13)
%176
(neg.f32 %224)
(-.f32 #s(literal 0 binary32) %224)
%10
%227
(/.f32 %22 %6)
(/.f32 %229 v)
(*.f32 sinTheta_i (neg.f32 %203))
(*.f32 %203 %227)
%234
(neg.f32 %235)
(/.f32 %229 %51)
(/.f32 (*.f32 %204 %227) %6)
(/.f32 (*.f32 %227 %204) %6)
(/.f32 %242 %6)
(*.f32 %22 %48)
(*.f32 sinTheta_O (*.f32 %13 %227))
(*.f32 %229 %13)
(/.f32 #s(literal 1 binary32) (/.f32 v %229))
%250
(fma.f32 cosTheta_i cosTheta_O %229)
(fma.f32 cosTheta_O cosTheta_i %229)
(fma.f32 sinTheta_i %204 %2)
(fma.f32 sinTheta_O %227 %2)
(fma.f32 %227 sinTheta_O %2)
(fma.f32 %204 sinTheta_i %2)
(+.f32 %2 %229)
(+.f32 %229 %2)
(neg.f32 %259)
(-.f32 %2 (*.f32 (neg.f32 %227) sinTheta_O))
(-.f32 %2 %242)
%266
%267
%269
%271
%272
%273
%274
%275
%276
%277
%278
%280
%281
%282
%283
%284
%285
%287
%288
%290
%292
%293
%294
%295
%297
%299
%300
%301
%302
%304
%306
%308
%310
%312
%313
%314
%315
%316
%318
%319
%320
%321
%323
%325
%328
%329
%332
%334
%335
%336
%337
%338
%339
%340
%341
%342
%345
%347
%348
%350
%351
%352
%353
%354
%355
%357
%358
%359
%360
%362
%366
%369
%372
%373
%376
%380
%381
%382
%383
%385
%386
%387
%390
%394
%395
%396
%401
%402
%403
%404
%405
%406
%408
%410
%415
%418
%421
%425
%428
%432
%436
%438
%440
%442
%444
%268
(fma.f32 sinTheta_O sinTheta_i #s(literal 1 binary32))
(+.f32 %22 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) %22)
(-.f32 %22 #s(literal -1 binary32))
(neg.f32 %265)
(-.f32 #s(literal 1 binary32) %229)
(+.f32 #s(literal 1 binary32) %451)
(+.f32 #s(literal 1 binary32) %242)
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %22)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %22)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %22)
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %451)
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %242)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %451)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %242)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %451)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %242)
#s(literal -6931/10000 binary32)
(neg.f32 #s(literal 6931/10000 binary32))
(+.f32 #s(literal 6931/10000 binary32) %284)
(+.f32 %284 #s(literal 6931/10000 binary32))
(-.f32 #s(literal 6931/10000 binary32) %286)
%467
(neg.f32 %468)
(neg.f32 (+.f32 %286 #s(literal -6931/10000 binary32)))
(/.f32 (fma.f32 #s(literal 6931/10000 binary32) v %269) v)
(fma.f32 %13 %269 #s(literal 6931/10000 binary32))
(fma.f32 %269 %13 #s(literal 6931/10000 binary32))
(fma.f32 %279 %48 #s(literal 6931/10000 binary32))
(-.f32 #s(literal 6931/10000 binary32) %309)
(-.f32 %98 (+.f32 %303 #s(literal -6931/10000 binary32)))
(-.f32 %98 (-.f32 %303 #s(literal 6931/10000 binary32)))
(-.f32 (+.f32 #s(literal 6931/10000 binary32) %98) %303)
(+.f32 %317 %484)
(+.f32 %317 %486)
(+.f32 %488 %48)
(/.f32 (fma.f32 #s(literal 6931/10000 binary32) %6 %279) %6)
(-.f32 %317 %492)
(-.f32 %488 %13)
(+.f32 %317 %495)
(neg.f32 (-.f32 %492 %317))
(fma.f32 %291 %13 #s(literal 6931/10000 binary32))
(fma.f32 %13 %250 %484)
(fma.f32 %13 %250 %486)
(fma.f32 %250 %13 %484)
(fma.f32 %250 %13 %486)
(-.f32 %98 (fma.f32 sinTheta_i %203 %492))
(fma.f32 %13 %250 %495)
(fma.f32 %250 %13 %495)
(fma.f32 cosTheta_i %99 %508)
(fma.f32 cosTheta_O %101 %508)
(fma.f32 %101 cosTheta_O %508)
(fma.f32 %99 cosTheta_i %508)
(+.f32 %98 %508)
(/.f32 (fma.f32 #s(literal 6931/10000 binary32) v %333) v)
(fma.f32 %333 %13 #s(literal 6931/10000 binary32))
(fma.f32 %2 %13 %508)
(fma.f32 %13 %2 %508)
(fma.f32 %106 %48 %508)
(fma.f32 %343 %13 %484)
(fma.f32 %343 %13 %486)
(fma.f32 %110 %13 %508)
(fma.f32 %343 %13 %495)
(fma.f32 %413 %414 %484)
(fma.f32 %413 %414 %486)
(fma.f32 %413 %414 %495)
%146
%527
%528
%529
%530
%531
%532
%533
%534
%535
%537
%538
%539
%541
%542
%544
%545
%547
%548
%549
%551
%553
%555
%556
%557
%558
%559
%560
%561
%563
%564
%565
%566
%568
%570
%571
%573
%575
%577
%580
%581
%582
%583
%584
%585
%588
%589
%591
%593
%595
%597
%600
%601
%602
%604
%607
%610
%613
%616
%619
%622
%625
%628
%631
%634
%637
%640
%643
%645
%173
(neg.f32 %174)
(-.f32 %173 #s(literal 0 binary32))
(+.f32 %10 %224)
(+.f32 %224 %10)
(-.f32 %10 %176)
%174
(log.f32 %55)
(-.f32 #s(literal 0 binary32) %173)
(*.f32 #s(literal -1 binary32) %173)
(+.f32 #s(literal 0 binary32) %174)
(-.f32 %176 %10)
(+.f32 %176 %65)
%146
%527
%528
%529
%530
%531
%532
%533
%534
%535
%537
%538
%539
%541
%542
%544
%545
%547
%548
%549
%551
%553
%555
%556
%557
%558
%559
%560
%561
%563
%564
%565
%566
%568
%570
%571
%573
%575
%577
%580
%581
%582
%583
%584
%585
%588
%589
%591
%593
%595
%597
%600
%601
%602
%604
%607
%610
%613
%616
%619
%622
%625
%628
%631
%634
%637
%640
%643
%645
%657
(+.f32 #s(literal 6931/10000 binary32) %174)
(+.f32 %174 #s(literal 6931/10000 binary32))
(neg.f32 %660)
(neg.f32 (+.f32 #s(literal -6931/10000 binary32) %173))
(fma.f32 #s(literal -1 binary32) %173 #s(literal 6931/10000 binary32))
(-.f32 %665 %10)
%667
(fabs.f32 %667)
(fabs.f32 %669)
(/.f32 #s(literal 1 binary32) (exp.f32 %468))
(*.f32 %673 %674)
(*.f32 %674 %673)
(/.f32 %673 %677)
(/.f32 %679 %680)
(/.f32 #s(literal 1 binary32) (/.f32 %677 %673))
(/.f32 %684 (exp.f32 %492))
(+.f32 %687 %688)
(+.f32 %688 %687)
(-.f32 %688 (sinh.f32 %468))
(sqrt.f32 (*.f32 %667 %667))
(-.f32 %688 (neg.f32 %687))
(+.f32 (/.f32 %697 %677) (/.f32 %699 %677))
%673
%702
%703
%705
%707
%710
%712
%714
%715
%716
%718
%720
%722
%723
%725
%727
%729
%731
%732
%733
%734
%735
%736
%737
%739
%741
%743
%745
%747
%749
%750
%752
%754
%756
%758
%760
%761
%763
%765
%767
%769
%771
%773
%774
%776
%778
%780
%782
%785
%786
%788
%793
%795
%797
%799
%801
%270
(fma.f32 cosTheta_O cosTheta_i #s(literal -1 binary32))
(+.f32 %2 #s(literal -1 binary32))
(+.f32 #s(literal -1 binary32) %2)
(-.f32 %2 #s(literal 1 binary32))
(neg.f32 %806)
(fma.f32 #s(literal 1 binary32) #s(literal -1 binary32) %2)
(fma.f32 #s(literal 2 binary32) #s(literal -1/2 binary32) %2)
(fma.f32 #s(literal -2 binary32) #s(literal 1/2 binary32) %2)
%816
%187
(fma.f32 #s(literal 2 binary32) v %55)
(+.f32 v (-.f32 v %143))
(+.f32 v (+.f32 v %55))
(+.f32 %55 %146)
(+.f32 %146 %55)
(+.f32 %824 v)
(-.f32 %146 %143)
(-.f32 %55 %148)
(neg.f32 %184)
(-.f32 v (-.f32 %6 %55))
(-.f32 v (+.f32 %6 %143))
(-.f32 %824 %6)
(/.f32 %834 v)
(fma.f32 #s(literal 1 binary32) %55 %146)
(fma.f32 %13 #s(literal 1/2 binary32) %146)
(fma.f32 #s(literal -1 binary32) %143 %146)
(fma.f32 #s(literal 1/2 binary32) %13 %146)
(fma.f32 %55 #s(literal 1 binary32) %146)
(fma.f32 #s(literal -1/2 binary32) %48 %146)
(fma.f32 %156 #s(literal 1/4 binary32) %146)
(/.f32 (fma.f32 %146 %6 #s(literal -1/2 binary32)) %6)
(/.f32 (neg.f32 %834) %6)
(fma.f32 #s(literal 2 binary32) %163 %146)
(*.f32 %834 %13)
(/.f32 #s(literal 1 binary32) (/.f32 v %834))
(+.f32 (/.f32 %851 v) %55)
(/.f32 (fma.f32 %146 %146 #s(literal 1 binary32)) %146)
(/.f32 (fma.f32 %146 %148 #s(literal -1 binary32)) %148)
(+.f32 %170 %858)
(+.f32 %170 %860)
(+.f32 (+.f32 %55 %170) %171)
(fma.f32 #s(literal 1/2 binary32) %185 %55)
(fma.f32 %185 #s(literal 1/2 binary32) %55)
(fma.f32 #s(literal 1/2 binary32) %187 %858)
(fma.f32 #s(literal 1/2 binary32) %187 %860)
(fma.f32 %187 #s(literal 1/2 binary32) %858)
(fma.f32 %187 #s(literal 1/2 binary32) %860)
(fma.f32 %184 #s(literal -1/2 binary32) %858)
(fma.f32 %184 #s(literal -1/2 binary32) %860)
(fma.f32 %188 #s(literal 1/2 binary32) %55)
(fma.f32 %192 #s(literal 2 binary32) %146)
(fma.f32 %190 #s(literal 1/4 binary32) %55)
(fma.f32 %194 #s(literal 2 binary32) %146)
(fma.f32 %196 #s(literal 4 binary32) %146)
(fma.f32 #s(literal 1/2 binary32) %55 v)
%170
(+.f32 v %163)
(+.f32 %163 v)
(-.f32 v %880)
(-.f32 v %882)
(neg.f32 %554)
(fma.f32 v #s(literal 1 binary32) %163)
(fma.f32 #s(literal 1 binary32) %163 v)
(fma.f32 #s(literal 1/2 binary32) %55 %378)
(fma.f32 %55 #s(literal 1/2 binary32) %378)
(*.f32 #s(literal 1/2 binary32) %187)
(*.f32 %187 #s(literal 1/2 binary32))
(*.f32 %184 #s(literal -1/2 binary32))
(+.f32 %378 %163)
(+.f32 %163 %378)
(/.f32 %187 #s(literal 2 binary32))
(/.f32 %184 #s(literal -2 binary32))
(-.f32 %378 %880)
(-.f32 %378 %882)
(/.f32 %834 %146)
(fma.f32 %146 #s(literal 1/2 binary32) %163)
(/.f32 (*.f32 %834 #s(literal 1/2 binary32)) v)
(fma.f32 #s(literal 1 binary32) %163 %378)
(fma.f32 #s(literal 2 binary32) %543 %163)
(/.f32 (fma.f32 %146 #s(literal 2 binary32) %13) #s(literal 4 binary32))
(/.f32 (fma.f32 #s(literal 2 binary32) %146 %13) #s(literal 4 binary32))
(/.f32 (fma.f32 %378 #s(literal 2 binary32) %55) #s(literal 2 binary32))
(/.f32 (*.f32 %187 #s(literal 1 binary32)) #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal -2 binary32) %184))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %187))
(/.f32 (*.f32 %834 #s(literal 1 binary32)) %146)
(cosh.f32 %173)
(cosh.f32 %174)
%65
(-.f32 #s(literal 0 binary32) %10)
(*.f32 #s(literal -1 binary32) %10)
(+.f32 #s(literal 0 binary32) %65)
(log.f32 %13)
%13
%46
%47
%49
%50
%52
%53
%54
%56
%57
%59
%61
%63
%64
%66
%68
%69
%71
%72
%74
%75
%77
%266
%267
%269
%271
%272
%273
%274
%275
%276
%277
%278
%280
%281
%282
%283
%284
%285
%287
%288
%290
%292
%293
%294
%295
%297
%299
%300
%301
%302
%304
%306
%308
%310
%312
%313
%314
%315
%316
%318
%319
%320
%321
%323
%325
%328
%329
%332
%334
%335
%336
%337
%338
%339
%340
%341
%342
%345
%347
%348
%350
%351
%352
%353
%354
%355
%357
%358
%359
%360
%362
%366
%369
%372
%373
%376
%380
%381
%382
%383
%385
%386
%387
%390
%394
%395
%396
%401
%402
%403
%404
%405
%406
%408
%410
%415
%418
%421
%425
%428
%432
%436
%438
%440
%442
%444
%673
%702
%703
%705
%707
%710
%712
%714
%715
%716
%718
%720
%722
%677
(fabs.f32 %677)
(fabs.f32 %680)
(/.f32 #s(literal 1 binary32) %674)
(+.f32 %927 %928)
(+.f32 %928 %927)
(-.f32 %928 (sinh.f32 #s(literal 6931/10000 binary32)))
(sqrt.f32 (*.f32 %677 %677))
(-.f32 %928 (neg.f32 %927))
%724
(*.f32 %677 v)
(fma.f32 v %928 %938)
(fma.f32 %928 v %940)
(+.f32 (*.f32 %928 v) %940)
(+.f32 (*.f32 v %928) %938)
%713
(fabs.f32 %713)
(/.f32 %947 %948)
(fabs.f32 (neg.f32 %713))
(/.f32 #s(literal 1 binary32) (exp.f32 %279))
(*.f32 %954 %947)
(*.f32 %956 (exp.f32 %265))
(*.f32 %947 %954)
(/.f32 %960 (exp.f32 %22))
(/.f32 %956 %963)
(/.f32 %965 (neg.f32 %963))
(*.f32 %956 (/.f32 #s(literal 1 binary32) %963))
(/.f32 #s(literal 1 binary32) (/.f32 %963 %956))
(+.f32 %972 %973)
(+.f32 %973 %972)
(-.f32 %973 (sinh.f32 %279))
(sqrt.f32 (*.f32 %713 %713))
(-.f32 %973 (neg.f32 %972))
%982
%983
#s(literal 2097053/1048576 binary32)
(neg.f32 #s(literal -2097053/1048576 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 2097053/1048576 binary32))
(*.f32 #s(literal 2097053/1048576 binary32) #s(literal 1 binary32))
#s(literal 2097053/2097152 binary32)
(*.f32 #s(literal 1 binary32) #s(literal 2097053/2097152 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 2097053/1048576 binary32))
(*.f32 #s(literal 2097053/1048576 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 2097053/2097152 binary32) #s(literal 1 binary32))
(/.f32 #s(literal 2097053/1048576 binary32) #s(literal 2 binary32))
%996
%998
%1001
%960
(fabs.f32 %960)
(/.f32 %956 %948)
(fabs.f32 (neg.f32 %960))
(/.f32 %965 (neg.f32 %948))
(/.f32 #s(literal 1 binary32) (exp.f32 %806))
(*.f32 %956 (/.f32 #s(literal 1 binary32) %948))
(/.f32 #s(literal 1 binary32) (/.f32 %948 %956))
(*.f32 %956 %954)
(+.f32 %1015 %1016)
(+.f32 %1016 %1015)
(sqrt.f32 (*.f32 %960 %960))
(-.f32 %1016 (sinh.f32 %806))
(-.f32 %1016 (neg.f32 %1015))
%1028
%789
(+.f32 #s(literal 6931/10000 binary32) %65)
(+.f32 %65 #s(literal 6931/10000 binary32))
(neg.f32 %1031)
(neg.f32 (+.f32 #s(literal -6931/10000 binary32) %10))
(-.f32 #s(literal 6931/10000 binary32) (neg.f32 %65))
(fma.f32 #s(literal -1 binary32) %10 #s(literal 6931/10000 binary32))
(+.f32 #s(literal 6931/10000 binary32) %176)
(+.f32 %176 #s(literal 6931/10000 binary32))
%665
(neg.f32 %1040)
%723
%725
%727
%729
%731
%732
%733
%734
%735
%736
%737
%739
%741
%743
%745
%747
%749
%750
%752
%754
%756
%758
%760
%761
%763
%765
%767
%769
%771
%773
%774
%776
%778
%780
%782
%785
%786
%788
%793
%795
%797
%799
%801
%730
(fabs.f32 %730)
(/.f32 %744 %6)
(fabs.f32 (neg.f32 %730))
(/.f32 #s(literal 1 binary32) %724)
(*.f32 #s(literal 1 binary32) %730)
(*.f32 %674 %13)
(/.f32 #s(literal 1 binary32) (/.f32 v %674))
(/.f32 %13 %677)
(/.f32 #s(literal -1 binary32) %742)
(neg.f32 (/.f32 #s(literal -1 binary32) %724))
(exp.f32 %789)
(*.f32 #s(literal 2 binary32) %723)
(/.f32 #s(literal 1 binary32) (/.f32 %724 #s(literal 1 binary32)))
(*.f32 %156 %740)
(*.f32 (/.f32 #s(literal 2 binary32) %677) %55)
(/.f32 #s(literal 1 binary32) (exp.f32 %1031))
(pow.f32 %724 #s(literal -1 binary32))
(sqrt.f32 (*.f32 %730 %730))
(+.f32 %791 %790)
(+.f32 %790 %791)
(-.f32 %790 (sinh.f32 %1031))
(-.f32 %790 (neg.f32 %791))
%723
%725
%727
%729
%731
%732
%733
%734
%735
%736
%737
%739
%741
%743
%745
%747
%749
%750
%752
%754
%756
%758
%760
%761
%763
%765
%767
%769
%771
%773
%774
%776
%778
%780
%782
%785
%786
%788
%793
%795
%797
%799
%801
%1079
%1083
(+.f32 v %143)
(+.f32 %143 v)
%578
(neg.f32 %1086)
(/.f32 %1088 v)
(fma.f32 #s(literal 1 binary32) %143 v)
(fma.f32 #s(literal -1 binary32) %55 v)
(fma.f32 #s(literal 1/2 binary32) %48 v)
(fma.f32 #s(literal -1/2 binary32) %13 v)
(/.f32 (neg.f32 %1088) %6)
(/.f32 (-.f32 %393 #s(literal -1/2 binary32)) %6)
(*.f32 %1088 %13)
(/.f32 #s(literal 1 binary32) (/.f32 v %1088))
(-.f32 (/.f32 %8 v) %55)
(/.f32 (-.f32 %851 #s(literal 1 binary32)) %146)
(/.f32 (-.f32 (*.f32 v %148) #s(literal -1 binary32)) %148)
%183
(fma.f32 #s(literal 2 binary32) v %143)
(+.f32 v %578)
(+.f32 %146 %143)
(+.f32 %578 v)
(-.f32 v %1086)
(-.f32 %146 %55)
(neg.f32 %562)
(-.f32 %578 %6)
(/.f32 (-.f32 %851 #s(literal 1/2 binary32)) v)
(/.f32 (fma.f32 v v %1088) v)
(fma.f32 %1088 %13 v)
(/.f32 (-.f32 (*.f32 %146 %6) #s(literal -1/2 binary32)) %6)
(/.f32 (-.f32 %540 #s(literal 1 binary32)) %146)
(/.f32 (-.f32 (*.f32 %146 %148) #s(literal -1 binary32)) %148)
(+.f32 %170 %1129)
(fma.f32 #s(literal 1/2 binary32) %185 %143)
(fma.f32 %185 #s(literal 1/2 binary32) %143)
(fma.f32 #s(literal 1/2 binary32) %187 %1129)
(fma.f32 %187 #s(literal 1/2 binary32) %1129)
(fma.f32 %184 #s(literal -1/2 binary32) %1129)
(fma.f32 %188 #s(literal 1/2 binary32) %143)
(fma.f32 %190 #s(literal 1/4 binary32) %143)
(+.f32 %176 %467)
(+.f32 %284 %665)
(+.f32 %665 %284)
(+.f32 %1141 #s(literal 6931/10000 binary32))
(-.f32 %176 %468)
%1144
(-.f32 %665 %286)
(-.f32 %1141 #s(literal -6931/10000 binary32))
(neg.f32 (-.f32 %1040 %284))
(neg.f32 (-.f32 #s(literal -6931/10000 binary32) %1141))
(neg.f32 (+.f32 %286 %1040))
(neg.f32 (+.f32 %1040 %286))
(/.f32 (fma.f32 %665 v %269) v)
(fma.f32 %13 %269 %665)
(fma.f32 %269 %13 %665)
(fma.f32 %279 %48 %665)
(-.f32 %665 %309)
(-.f32 %98 (-.f32 %303 %665))
(-.f32 %98 (+.f32 %303 %1040))
(-.f32 (+.f32 %665 %98) %303)
(+.f32 %317 %1167)
(+.f32 %317 %1169)
(+.f32 %1171 %48)
(/.f32 (fma.f32 %665 %6 %279) %6)
(-.f32 %317 (-.f32 %13 %665))
(-.f32 %317 (+.f32 %13 %1040))
(-.f32 %1171 %13)
(fma.f32 %291 %13 %665)
(fma.f32 %13 %250 %1167)
(fma.f32 %13 %250 %1169)
(fma.f32 %250 %13 %1167)
(fma.f32 %250 %13 %1169)
(/.f32 (fma.f32 %665 v %333) v)
(fma.f32 %333 %13 %665)
(fma.f32 %343 %13 %1167)
(fma.f32 %343 %13 %1169)
(fma.f32 %413 %414 %1167)
(fma.f32 %413 %414 %1169)
%1192
(fabs.f32 %1192)
(fabs.f32 %1194)
(exp.f32 (+.f32 %1144 #s(literal 0 binary32)))
(*.f32 #s(literal 1 binary32) %1192)
(*.f32 %1192 #s(literal 1 binary32))
(neg.f32 %1200)
(*.f32 (*.f32 %1192 #s(literal 2 binary32)) #s(literal 1/2 binary32))
(*.f32 %673 %1204)
(*.f32 %1204 %673)
(/.f32 %673 (exp.f32 %1040))
(/.f32 (exp.f32 %1141) %677)
(*.f32 %673 (*.f32 %1204 #s(literal 1 binary32)))
(+.f32 %1213 %1214)
(+.f32 %1214 %1213)
(sqrt.f32 (*.f32 %1192 %1192))
(-.f32 %1214 (neg.f32 %1213))
%1221
%1222
%1224
%1226
%1227
%1228
%1229
%1231
%1233
%1234
%1236
%1237
%1239
%1241
%1243
%1245
%1248
%1250
%1252
%1254
%1256
%1221
%1222
%1224
%1226
%1227
%1228
%1229
%1231
%1233
%1234
%1236
%1237
%1239
%1241
%1243
%1245
%1248
%1250
%1252
%1254
%1256
%1257
%1258
%1259
(exp.f32 %1259)
(exp.f32 %1083)
%1262
(exp.f32 %1262)
%1264
(*.f32 %1264 %723)
(*.f32 %983 %723)
%1267
%1268
%1269
(exp.f32 %1269)
%171
(*.f32 #s(literal 1/2 binary32) %183)
(*.f32 %183 #s(literal 1/2 binary32))
(*.f32 %562 #s(literal -1/2 binary32))
(-.f32 %378 %163)
(/.f32 %183 #s(literal 2 binary32))
(/.f32 %562 #s(literal -2 binary32))
(neg.f32 (/.f32 %183 #s(literal -2 binary32)))
(neg.f32 (/.f32 %562 #s(literal 2 binary32)))
(fma.f32 v #s(literal 1/2 binary32) %587)
(fma.f32 %578 #s(literal 1/2 binary32) %543)
(+.f32 %543 %587)
(+.f32 %587 %543)
(/.f32 (*.f32 %183 #s(literal 1 binary32)) #s(literal 2 binary32))
(-.f32 %543 (/.f32 %1086 #s(literal 2 binary32)))
(-.f32 %543 (neg.f32 %587))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %183))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal -2 binary32) %562))
(/.f32 (fma.f32 %543 #s(literal 2 binary32) %578) #s(literal 2 binary32))
(/.f32 (fma.f32 #s(literal 2 binary32) v (*.f32 #s(literal 2 binary32) %578)) #s(literal 4 binary32))
(/.f32 (fma.f32 #s(literal 2 binary32) v (*.f32 %578 #s(literal 2 binary32))) #s(literal 4 binary32))
(sinh.f32 %173)
%146
%527
%528
%529
%530
%531
%532
%533
%534
%535
%537
%538
%539
%541
%542
%544
%545
%547
%548
%549
%551
%553
%555
%556
%557
%558
%559
%560
%561
%563
%564
%565
%566
%568
%570
%571
%573
%575
%577
%580
%581
%582
%583
%584
%585
%588
%589
%591
%593
%595
%597
%600
%601
%602
%604
%607
%610
%613
%616
%619
%622
%625
%628
%631
%634
%637
%640
%643
%645
%1304
%1306
%1307
%1308
%1309
%1311
%1313
%1315
%1316
%1317
%1319
%1321
%1323
%1325
%1327
%1329
%1331
%1332
%1334
%1336
%1338
%1339
%1340
%1342
%1344
%1346
%1348
%1350
%1351
%1352
%1354
%1356
%1358
%1359
%1360
%1362
%1364
%1366
%1368
%1370
%1372
%1374
%1377
%1379
%1381
%1383
%1385
%1388
%1390
%1392
%1394
%1396
%1398
%1401
%1402
%1404
%1406
%1408
%1410
%1412
%1414
%1416
%1418
%1420
%1422
%1424
%1426
%1428
%1429
%1431
%1432
%1433
%1434
%1436
%1437
%1438
%1439
%1440
%1441
%1443
%1445
%1446
%1448
%1450
%1452
%1454
%1456
%1458
%1460
%1462
%1464
%1466
%1467
%1468
%1470
%1472
%1474
%1476
%1478
%1479
%1480
%1481
%1482
%1483
%1484
%1486
%1488
%1490
%1492
%1494
%1496
%1498
%1500
%1502
%1504
%1506
%1508
%1510
%1511
%1512
%1513
%1514
(*.f32 %1514 %55)
%1516
(*.f32 %1516 %723)
(/.f32 %1514 %146)
(approx %1520 %723)
%673
%702
%703
%705
%707
%710
%712
%714
%715
%716
%718
%720
%722
%1304
%1306
%1307
%1308
%1309
%1311
%1313
%1315
%1316
%1317
%1319
%1321
%1323
%1325
%1327
%1329
%1331
%1332
%1334
%1336
%1338
%1339
%1340
%1342
%1344
%1346
%1348
%1350
%1351
%1352
%1354
%1356
%1358
%1359
%1360
%1362
%1364
%1366
%1368
%1370
%1372
%1374
%1377
%1379
%1381
%1383
%1385
%1388
%1390
%1392
%1394
%1396
%1398
%1401
%1402
%1404
%1406
%1408
%1410
%1412
%1414
%1416
%1418
%1420
%1422
%1424
%1426
%1428
%1435
(/.f32 #s(literal -2097053/1048576 binary32) %6)
(neg.f32 (/.f32 #s(literal -2097053/1048576 binary32) v))
(/.f32 #s(literal 2097053/1048576 binary32) %51)
(neg.f32 (/.f32 #s(literal 2097053/1048576 binary32) %6))
(*.f32 %13 #s(literal 2097053/1048576 binary32))
(*.f32 #s(literal 2097053/1048576 binary32) %13)
(*.f32 #s(literal -2097053/1048576 binary32) %48)
(/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/1048576 binary32)))
(/.f32 #s(literal 1 binary32) (/.f32 %6 #s(literal -2097053/1048576 binary32)))
%1429
%1431
%1432
%1433
%1434
%1436
%1437
%1438
%1439
%1440
%1441
%1443
%1445
%1446
%1448
%1450
%1452
%1454
%1456
%1458
%1460
%1462
%1464
(approx %1520 %1429)
%1536
(*.f32 %1536 %55)
%1429
%1431
%1432
%1433
%1434
%1436
%1437
%1438
%1439
%1440
%1441
%1443
%1445
%1446
%1448
%1450
%1452
%1454
%1456
%1458
%1460
%1462
%1464
%1466
%1467
%1468
%1470
%1472
%1474
%1476
%1478
%1479
%1480
%1481
%1482
%1483
%1484
%1486
%1488
%1490
%1492
%1494
%1496
%1498
%1500
%1502
%1504
%1506
%1508
%1510

reconstruct1.0s (3.1%)

Counts
1 988 → 594
Compiler

Compiled 1 988 to 3 495 computations (-75.8% saved)

eval402.0ms (1.2%)

Compiler

Compiled 821 to 2 946 computations (-258.8% saved)

prune152.0ms (0.4%)

Pruning

28 alts after pruning (22 fresh and 6 done)

PrunedKeptTotal
New79922821
Fresh000
Picked12618
Done000
Total81128839
Accuracy
99.9%
Counts
839 → 28
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(/.f32 (/.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))) v) (log.f32 #s(literal 1/2 binary32)))) (exp.f32 #s(literal -6931/10000 binary32))) v)
99.7%
(/.f32 (exp.f32 (/.f32 (fma.f32 (-.f32 (log.f32 #s(literal 1/2 binary32)) #s(literal -6931/10000 binary32)) v (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32)))) v)) v)
8.8%
%111 = (/.f32 #s(literal 1/2 binary32) v)
(/.f32 (exp.f32 (-.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (approx (- (* cosTheta_O cosTheta_i) 1) #s(literal -1 binary32))) v) #s(literal -6931/10000 binary32))) (+.f32 (+.f32 (fma.f32 %111 #s(literal 1/2 binary32) v) (*.f32 v #s(literal 1/2 binary32))) (*.f32 (-.f32 v %111) #s(literal 1/2 binary32))))
99.7%
(/.f32 (exp.f32 (-.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (approx (- (* cosTheta_O cosTheta_i) 1) #s(literal -1 binary32))) v) #s(literal -6931/10000 binary32))) (+.f32 v v))
99.7%
(/.f32 (exp.f32 (-.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (approx (- (* cosTheta_O cosTheta_i) 1) #s(literal -1 binary32))) v) #s(literal -6931/10000 binary32))) (exp.f32 (log.f32 (+.f32 v v))))
99.6%
%179 = (exp.f32 (log.f32 v))
(/.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))) %179) (-.f32 (log.f32 #s(literal 1/2 binary32)) #s(literal -6931/10000 binary32)))) %179)
99.7%
(/.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))) v) #s(literal -6484447/137438953472 binary32))) v)
99.6%
(*.f32 (pow.f32 (exp.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32)))) (/.f32 #s(literal 1 binary32) v)) (/.f32 #s(literal 2097053/1048576 binary32) (+.f32 v v)))
99.6%
(*.f32 (pow.f32 (approx (exp (- (* cosTheta_i cosTheta_O) (+ (* sinTheta_i sinTheta_O) 1))) (exp.f32 (approx (- (* cosTheta_O cosTheta_i) 1) #s(literal -1 binary32)))) (/.f32 #s(literal 1 binary32) v)) (exp.f32 (-.f32 #s(literal 6931/10000 binary32) (log.f32 (+.f32 v v)))))
99.7%
(*.f32 (exp.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))) v)) (*.f32 #s(literal -2097053/1048576 binary32) (/.f32 #s(literal -1/2 binary32) v)))
99.7%
(*.f32 (exp.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (approx (+ (* sinTheta_i sinTheta_O) 1) #s(literal 1 binary32))) v)) (/.f32 #s(literal 2097053/1048576 binary32) (+.f32 v v)))
99.7%
(*.f32 (exp.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (approx (- (* cosTheta_O cosTheta_i) 1) #s(literal -1 binary32))) v)) (*.f32 #s(literal 1/2 binary32) (exp.f32 (-.f32 #s(literal 6931/10000 binary32) (log.f32 v)))))
8.9%
%111 = (/.f32 #s(literal 1/2 binary32) v)
(*.f32 (exp.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (approx (- (* cosTheta_O cosTheta_i) 1) #s(literal -1 binary32))) v)) (exp.f32 (-.f32 #s(literal 6931/10000 binary32) (log.f32 (+.f32 (+.f32 (fma.f32 %111 #s(literal 1/2 binary32) v) (*.f32 v #s(literal 1/2 binary32))) (*.f32 (-.f32 v %111) #s(literal 1/2 binary32)))))))
99.7%
(*.f32 (exp.f32 (-.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (approx (- (* cosTheta_O cosTheta_i) 1) #s(literal -1 binary32))) v) #s(literal -6931/10000 binary32))) (/.f32 #s(literal 1/2 binary32) v))
99.7%
(*.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))) v) #s(literal -6484447/137438953472 binary32))) (/.f32 #s(literal 1 binary32) v))
99.7%
(*.f32 (exp.f32 (approx (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) (/.f32 (-.f32 (*.f32 cosTheta_O cosTheta_i) #s(literal 1 binary32)) v))) (*.f32 #s(literal 2097053/2097152 binary32) (exp.f32 (neg.f32 (log.f32 v)))))
4.5%
(*.f32 (approx (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) #s(literal 2097053/1048576 binary32)) (/.f32 #s(literal 1/2 binary32) (sqrt.f32 (*.f32 v v))))
4.7%
(*.f32 (approx (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) #s(literal 2097053/1048576 binary32)) (/.f32 #s(literal 1/2 binary32) v))
99.6%
%64 = (* cosTheta_O cosTheta_i)
%91 = (log (/ 1/2 v))
(exp.f32 (approx (+ (+ (/ (+ (- %64 (* sinTheta_i sinTheta_O)) -1) v) 6931/10000) %91) (-.f32 (+.f32 #s(literal 6931/10000 binary32) (approx (+ %91 (/ %64 v)) (neg.f32 (log.f32 (+.f32 v v))))) (/.f32 #s(literal 1 binary32) v))))
9.9%
(exp.f32 (approx (+ (+ (/ (+ (- (* cosTheta_O cosTheta_i) (* sinTheta_i sinTheta_O)) -1) v) 6931/10000) (log (/ 1/2 v))) (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))))
97.2%
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (/.f32 (-.f32 (*.f32 cosTheta_O cosTheta_i) (approx (+ 1 (* sinTheta_O sinTheta_i)) #s(literal 1 binary32))) v)))
6.5%
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (approx (/ (- (* cosTheta_O cosTheta_i) (+ 1 (* sinTheta_O sinTheta_i))) v) (/.f32 (*.f32 cosTheta_O (approx cosTheta_i #s(literal 0 binary32))) v))))
12.9%
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (approx (/ (- (* cosTheta_O cosTheta_i) (+ 1 (* sinTheta_O sinTheta_i))) v) (*.f32 cosTheta_i (/.f32 cosTheta_O v)))))
99.7%
(approx (* (exp (/ (- (* cosTheta_i cosTheta_O) (+ (* sinTheta_i sinTheta_O) 1)) v)) (/ 2097053/1048576 (+ v v))) (*.f32 #s(literal 2097053/2097152 binary32) (/.f32 (exp.f32 (/.f32 (-.f32 (*.f32 cosTheta_O cosTheta_i) #s(literal 1 binary32)) v)) v)))
4.7%
(approx (* (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) (/ 1/2 v)) (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/2097152 binary32))))
4.7%
(approx (* (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) (/ 1/2 v)) (/.f32 #s(literal 1/2 binary32) (*.f32 v #s(literal 2097251/4194304 binary32))))
4.7%
(approx (* (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) (/ 1/2 v)) (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/1048576 binary32)))))
4.7%
(approx (* (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) (/ 1/2 v)) (approx (* 1/2 (/ 2097053/1048576 v)) (/.f32 #s(literal 2097053/2097152 binary32) v)))
Compiler

Compiled 28 to 127 computations (-353.6% saved)

regimes1.8s (5.4%)

Accuracy

Total 0.1b remaining (0.1%)

Threshold costs 0.1b (0.1%)

0.1b94.0%
0.0b-0.0%
0.0b0.0%
0.0b0.0%
0.0b0.0%

Counts
1 → 1
3 → 1
4 → 1
10 → 1
11 → 1
14 → 2
15 → 1
18 → 1
19 → 1
27 → 1
52 → 1
Calls
Call 1
Inputs
(approx (* (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) (/ 1/2 v)) (approx (* 1/2 (/ 2097053/1048576 v)) (/.f32 #s(literal 2097053/2097152 binary32) v)))
Outputs
(approx (* (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) (/ 1/2 v)) (approx (* 1/2 (/ 2097053/1048576 v)) (/.f32 #s(literal 2097053/2097152 binary32) v)))
Call 2
Inputs
%16 = (* (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) (/ 1/2 v))
(approx %16 (approx (* 1/2 (/ 2097053/1048576 v)) (/.f32 #s(literal 2097053/2097152 binary32) v)))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 2097053/1048576 binary32) v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v #s(literal 2097251/4194304 binary32))))
Outputs
(approx (* (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) (/ 1/2 v)) (/.f32 #s(literal 1/2 binary32) (*.f32 v #s(literal 2097251/4194304 binary32))))
Call 3
Inputs
%13 = (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000))
%16 = (* %13 (/ 1/2 v))
(approx %16 (approx (* 1/2 (/ 2097053/1048576 v)) (/.f32 #s(literal 2097053/2097152 binary32) v)))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 2097053/1048576 binary32) v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v #s(literal 2097251/4194304 binary32))))
(*.f32 (approx %13 #s(literal 2097053/1048576 binary32)) (/.f32 #s(literal 1/2 binary32) v))
Outputs
(*.f32 (approx (exp (- (/ (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) v) -6931/10000)) #s(literal 2097053/1048576 binary32)) (/.f32 #s(literal 1/2 binary32) v))
Call 4
Inputs
%2 = (* cosTheta_i cosTheta_O)
%5 = (* sinTheta_i sinTheta_O)
%13 = (exp (- (/ (- (- %2 %5) 1) v) -6931/10000))
%16 = (* %13 (/ 1/2 v))
%33 = (approx %13 #s(literal 2097053/1048576 binary32))
(approx %16 (approx (* 1/2 (/ 2097053/1048576 v)) (/.f32 #s(literal 2097053/2097152 binary32) v)))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 2097053/1048576 binary32) v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v #s(literal 2097251/4194304 binary32))))
(*.f32 %33 (/.f32 #s(literal 1/2 binary32) v))
(approx %16 (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/2097152 binary32))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/1048576 binary32)))))
(*.f32 %33 (/.f32 #s(literal 1/2 binary32) (sqrt.f32 (*.f32 v v))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 (exp.f32 #s(literal 6931/10000 binary32)) v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v (exp.f32 #s(literal -6931/10000 binary32)))))
(exp.f32 (approx (+ (+ (- (- (/ %2 v) (/ %5 v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (approx (/ (- (* cosTheta_O cosTheta_i) (+ 1 (* sinTheta_O sinTheta_i))) v) (*.f32 cosTheta_i (/.f32 cosTheta_O v)))))
Outputs
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (approx (/ (- (* cosTheta_O cosTheta_i) (+ 1 (* sinTheta_O sinTheta_i))) v) (*.f32 cosTheta_i (/.f32 cosTheta_O v)))))
Call 5
Inputs
%2 = (* cosTheta_i cosTheta_O)
%5 = (* sinTheta_i sinTheta_O)
%13 = (exp (- (/ (- (- %2 %5) 1) v) -6931/10000))
%16 = (* %13 (/ 1/2 v))
%33 = (approx %13 #s(literal 2097053/1048576 binary32))
%69 = (+ (+ (- (- (/ %2 v) (/ %5 v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v))))
%74 = (/ (- (* cosTheta_O cosTheta_i) (+ 1 (* sinTheta_O sinTheta_i))) v)
(approx %16 (approx (* 1/2 (/ 2097053/1048576 v)) (/.f32 #s(literal 2097053/2097152 binary32) v)))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 2097053/1048576 binary32) v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v #s(literal 2097251/4194304 binary32))))
(*.f32 %33 (/.f32 #s(literal 1/2 binary32) v))
(approx %16 (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/2097152 binary32))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/1048576 binary32)))))
(*.f32 %33 (/.f32 #s(literal 1/2 binary32) (sqrt.f32 (*.f32 v v))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 (exp.f32 #s(literal 6931/10000 binary32)) v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v (exp.f32 #s(literal -6931/10000 binary32)))))
(exp.f32 (approx %69 (approx %74 (*.f32 cosTheta_i (/.f32 cosTheta_O v)))))
(exp.f32 (approx %69 (approx %74 (/.f32 (*.f32 cosTheta_O cosTheta_i) v))))
Outputs
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (approx (/ (- (* cosTheta_O cosTheta_i) (+ 1 (* sinTheta_O sinTheta_i))) v) (/.f32 (*.f32 cosTheta_O cosTheta_i) v))))
Call 6
Inputs
%2 = (* cosTheta_i cosTheta_O)
%5 = (* sinTheta_i sinTheta_O)
%13 = (exp (- (/ (- (- %2 %5) 1) v) -6931/10000))
%15 = (/ 1/2 v)
%16 = (* %13 %15)
%33 = (approx %13 #s(literal 2097053/1048576 binary32))
%34 = (/.f32 #s(literal 1/2 binary32) v)
%49 = (exp.f32 #s(literal 6931/10000 binary32))
%69 = (+ (+ (- (- (/ %2 v) (/ %5 v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v))))
%70 = (* cosTheta_O cosTheta_i)
%74 = (/ (- %70 (+ 1 (* sinTheta_O sinTheta_i))) v)
(approx %16 (approx (* 1/2 (/ 2097053/1048576 v)) (/.f32 #s(literal 2097053/2097152 binary32) v)))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 2097053/1048576 binary32) v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v #s(literal 2097251/4194304 binary32))))
(*.f32 %33 %34)
(approx %16 (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/2097152 binary32))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/1048576 binary32)))))
(*.f32 %33 (/.f32 #s(literal 1/2 binary32) (sqrt.f32 (*.f32 v v))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 %49 v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v (exp.f32 #s(literal -6931/10000 binary32)))))
(exp.f32 (approx %69 (approx %74 (*.f32 cosTheta_i (/.f32 cosTheta_O v)))))
(exp.f32 (approx %69 (approx %74 (/.f32 (*.f32 cosTheta_O cosTheta_i) v))))
(exp.f32 (approx %69 (approx %74 (/.f32 (*.f32 cosTheta_O (approx cosTheta_i #s(literal 0 binary32))) v))))
(*.f32 (approx %13 %49) %34)
(exp.f32 (approx (+ (+ (/ (+ (- %70 %5) -1) v) 6931/10000) (log %15)) (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))))
Outputs
%7 = (* sinTheta_i sinTheta_O)
%20 = (* cosTheta_O cosTheta_i)
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ %7 v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (approx (/ (- %20 (+ 1 (* sinTheta_O sinTheta_i))) v) (*.f32 cosTheta_i (/.f32 cosTheta_O v)))))
(exp.f32 (approx (+ (+ (/ (+ (- %20 %7) -1) v) 6931/10000) (log (/ 1/2 v))) (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))))
Call 7
Inputs
%2 = (* cosTheta_i cosTheta_O)
%5 = (* sinTheta_i sinTheta_O)
%13 = (exp (- (/ (- (- %2 %5) 1) v) -6931/10000))
%15 = (/ 1/2 v)
%16 = (* %13 %15)
%33 = (approx %13 #s(literal 2097053/1048576 binary32))
%34 = (/.f32 #s(literal 1/2 binary32) v)
%49 = (exp.f32 #s(literal 6931/10000 binary32))
%69 = (+ (+ (- (- (/ %2 v) (/ %5 v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v))))
%70 = (* cosTheta_O cosTheta_i)
%72 = (+ 1 (* sinTheta_O sinTheta_i))
%74 = (/ (- %70 %72) v)
%80 = (*.f32 cosTheta_O cosTheta_i)
(approx %16 (approx (* 1/2 (/ 2097053/1048576 v)) (/.f32 #s(literal 2097053/2097152 binary32) v)))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 2097053/1048576 binary32) v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v #s(literal 2097251/4194304 binary32))))
(*.f32 %33 %34)
(approx %16 (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/2097152 binary32))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/1048576 binary32)))))
(*.f32 %33 (/.f32 #s(literal 1/2 binary32) (sqrt.f32 (*.f32 v v))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 %49 v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v (exp.f32 #s(literal -6931/10000 binary32)))))
(exp.f32 (approx %69 (approx %74 (*.f32 cosTheta_i (/.f32 cosTheta_O v)))))
(exp.f32 (approx %69 (approx %74 (/.f32 %80 v))))
(exp.f32 (approx %69 (approx %74 (/.f32 (*.f32 cosTheta_O (approx cosTheta_i #s(literal 0 binary32))) v))))
(*.f32 (approx %13 %49) %34)
(exp.f32 (approx (+ (+ (/ (+ (- %70 %5) -1) v) 6931/10000) (log %15)) (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))))
(exp.f32 (approx %69 (/.f32 (-.f32 %80 (approx %72 #s(literal 1 binary32))) v)))
Outputs
(exp.f32 (approx (+ (+ (- (- (/ (* cosTheta_i cosTheta_O) v) (/ (* sinTheta_i sinTheta_O) v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v)))) (/.f32 (-.f32 (*.f32 cosTheta_O cosTheta_i) (approx (+ 1 (* sinTheta_O sinTheta_i)) #s(literal 1 binary32))) v)))
Call 8
Inputs
%2 = (* cosTheta_i cosTheta_O)
%5 = (* sinTheta_i sinTheta_O)
%6 = (- %2 %5)
%8 = (- %6 1)
%13 = (exp (- (/ %8 v) -6931/10000))
%15 = (/ 1/2 v)
%16 = (* %13 %15)
%33 = (approx %13 #s(literal 2097053/1048576 binary32))
%34 = (/.f32 #s(literal 1/2 binary32) v)
%49 = (exp.f32 #s(literal 6931/10000 binary32))
%69 = (+ (+ (- (- (/ %2 v) (/ %5 v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v))))
%70 = (* cosTheta_O cosTheta_i)
%72 = (+ 1 (* sinTheta_O sinTheta_i))
%74 = (/ (- %70 %72) v)
%80 = (*.f32 cosTheta_O cosTheta_i)
%99 = (log %15)
%121 = (+.f32 v v)
(approx %16 (approx (* 1/2 (/ 2097053/1048576 v)) (/.f32 #s(literal 2097053/2097152 binary32) v)))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 2097053/1048576 binary32) v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v #s(literal 2097251/4194304 binary32))))
(*.f32 %33 %34)
(approx %16 (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/2097152 binary32))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/1048576 binary32)))))
(*.f32 %33 (/.f32 #s(literal 1/2 binary32) (sqrt.f32 (*.f32 v v))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 %49 v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v (exp.f32 #s(literal -6931/10000 binary32)))))
(exp.f32 (approx %69 (approx %74 (*.f32 cosTheta_i (/.f32 cosTheta_O v)))))
(exp.f32 (approx %69 (approx %74 (/.f32 %80 v))))
(exp.f32 (approx %69 (approx %74 (/.f32 (*.f32 cosTheta_O (approx cosTheta_i #s(literal 0 binary32))) v))))
(*.f32 (approx %13 %49) %34)
(exp.f32 (approx (+ (+ (/ (+ (- %70 %5) -1) v) 6931/10000) %99) (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))))
(exp.f32 (approx %69 (/.f32 (-.f32 %80 (approx %72 #s(literal 1 binary32))) v)))
(exp.f32 (approx %69 (*.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) v))))
(exp.f32 (approx (+ (+ (/ (+ %6 -1) v) 6931/10000) %99) (-.f32 #s(literal 6931/10000 binary32) (log.f32 %121))))
(/.f32 (exp.f32 (-.f32 (/.f32 (approx %8 (approx (- %70 1) #s(literal -1 binary32))) v) #s(literal -6931/10000 binary32))) %121)
Outputs
(/.f32 (exp.f32 (-.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (approx (- (* cosTheta_O cosTheta_i) 1) #s(literal -1 binary32))) v) #s(literal -6931/10000 binary32))) (+.f32 v v))
Call 9
Inputs
%2 = (* cosTheta_i cosTheta_O)
%5 = (* sinTheta_i sinTheta_O)
%6 = (- %2 %5)
%8 = (- %6 1)
%13 = (exp (- (/ %8 v) -6931/10000))
%15 = (/ 1/2 v)
%16 = (* %13 %15)
%33 = (approx %13 #s(literal 2097053/1048576 binary32))
%34 = (/.f32 #s(literal 1/2 binary32) v)
%49 = (exp.f32 #s(literal 6931/10000 binary32))
%69 = (+ (+ (- (- (/ %2 v) (/ %5 v)) (/ 1 v)) 6931/10000) (log (/ 1 (* 2 v))))
%70 = (* cosTheta_O cosTheta_i)
%72 = (+ 1 (* sinTheta_O sinTheta_i))
%74 = (/ (- %70 %72) v)
%80 = (*.f32 cosTheta_O cosTheta_i)
%99 = (log %15)
%121 = (+.f32 v v)
%131 = (exp.f32 (-.f32 (/.f32 (approx %8 (approx (- %70 1) #s(literal -1 binary32))) v) #s(literal -6931/10000 binary32)))
(approx %16 (approx (* 1/2 (/ 2097053/1048576 v)) (/.f32 #s(literal 2097053/2097152 binary32) v)))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 2097053/1048576 binary32) v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v #s(literal 2097251/4194304 binary32))))
(*.f32 %33 %34)
(approx %16 (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/2097152 binary32))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/1048576 binary32)))))
(*.f32 %33 (/.f32 #s(literal 1/2 binary32) (sqrt.f32 (*.f32 v v))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 %49 v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v (exp.f32 #s(literal -6931/10000 binary32)))))
(exp.f32 (approx %69 (approx %74 (*.f32 cosTheta_i (/.f32 cosTheta_O v)))))
(exp.f32 (approx %69 (approx %74 (/.f32 %80 v))))
(exp.f32 (approx %69 (approx %74 (/.f32 (*.f32 cosTheta_O (approx cosTheta_i #s(literal 0 binary32))) v))))
(*.f32 (approx %13 %49) %34)
(exp.f32 (approx (+ (+ (/ (+ (- %70 %5) -1) v) 6931/10000) %99) (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))))
(exp.f32 (approx %69 (/.f32 (-.f32 %80 (approx %72 #s(literal 1 binary32))) v)))
(exp.f32 (approx %69 (*.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) v))))
(exp.f32 (approx (+ (+ (/ (+ %6 -1) v) 6931/10000) %99) (-.f32 #s(literal 6931/10000 binary32) (log.f32 %121))))
(/.f32 %131 %121)
(*.f32 %131 %34)
Outputs
(*.f32 (exp.f32 (-.f32 (/.f32 (approx (- (- (* cosTheta_i cosTheta_O) (* sinTheta_i sinTheta_O)) 1) (approx (- (* cosTheta_O cosTheta_i) 1) #s(literal -1 binary32))) v) #s(literal -6931/10000 binary32))) (/.f32 #s(literal 1/2 binary32) v))
Call 10
Inputs
%2 = (* cosTheta_i cosTheta_O)
%5 = (* sinTheta_i sinTheta_O)
%6 = (- %2 %5)
%8 = (- %6 1)
%13 = (exp (- (/ %8 v) -6931/10000))
%15 = (/ 1/2 v)
%16 = (* %13 %15)
%33 = (approx %13 #s(literal 2097053/1048576 binary32))
%34 = (/.f32 #s(literal 1/2 binary32) v)
%49 = (exp.f32 #s(literal 6931/10000 binary32))
%64 = (+ (- (- (/ %2 v) (/ %5 v)) (/ 1 v)) 6931/10000)
%69 = (+ %64 (log (/ 1 (* 2 v))))
%70 = (* cosTheta_O cosTheta_i)
%72 = (+ 1 (* sinTheta_O sinTheta_i))
%74 = (/ (- %70 %72) v)
%80 = (*.f32 cosTheta_O cosTheta_i)
%99 = (log %15)
%100 = (+ (+ (/ (+ (- %70 %5) -1) v) 6931/10000) %99)
%112 = (*.f32 sinTheta_O sinTheta_i)
%121 = (+.f32 v v)
%122 = (log.f32 %121)
%131 = (exp.f32 (-.f32 (/.f32 (approx %8 (approx (- %70 1) #s(literal -1 binary32))) v) #s(literal -6931/10000 binary32)))
%146 = (+ %5 1)
%153 = (-.f32 %80 #s(literal 1 binary32))
%160 = (+ %99 (/ %70 v))
%164 = (/.f32 #s(literal 1 binary32) v)
%168 = (*.f32 cosTheta_i cosTheta_O)
(approx %16 (approx (* 1/2 (/ 2097053/1048576 v)) (/.f32 #s(literal 2097053/2097152 binary32) v)))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 2097053/1048576 binary32) v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v #s(literal 2097251/4194304 binary32))))
(*.f32 %33 %34)
(approx %16 (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/2097152 binary32))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/1048576 binary32)))))
(*.f32 %33 (/.f32 #s(literal 1/2 binary32) (sqrt.f32 (*.f32 v v))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 %49 v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v (exp.f32 #s(literal -6931/10000 binary32)))))
(exp.f32 (approx %69 (approx %74 (*.f32 cosTheta_i (/.f32 cosTheta_O v)))))
(exp.f32 (approx %69 (approx %74 (/.f32 %80 v))))
(exp.f32 (approx %69 (approx %74 (/.f32 (*.f32 cosTheta_O (approx cosTheta_i #s(literal 0 binary32))) v))))
(*.f32 (approx %13 %49) %34)
(exp.f32 (approx %100 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))))
(exp.f32 (approx %69 (/.f32 (-.f32 %80 (approx %72 #s(literal 1 binary32))) v)))
(exp.f32 (approx %69 (*.f32 #s(literal -1 binary32) (/.f32 %112 v))))
(exp.f32 (approx (+ (+ (/ (+ %6 -1) v) 6931/10000) %99) (-.f32 #s(literal 6931/10000 binary32) %122)))
(/.f32 %131 %121)
(*.f32 %131 %34)
(exp.f32 (approx %69 (/.f32 (-.f32 %80 (+.f32 #s(literal 1 binary32) %112)) v)))
(exp.f32 (+.f32 (approx %64 #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(approx (* (exp (/ (- %2 %146) v)) (/ 2097053/1048576 (+ v v))) (*.f32 #s(literal 2097053/2097152 binary32) (/.f32 (exp.f32 (/.f32 %153 v)) v)))
(exp.f32 (approx %100 (-.f32 (+.f32 #s(literal 6931/10000 binary32) (approx %160 (neg.f32 %122))) %164)))
(*.f32 (exp.f32 (/.f32 (-.f32 %168 (approx %146 #s(literal 1 binary32))) v)) (/.f32 #s(literal 2097053/1048576 binary32) %121))
(exp.f32 (approx %69 (-.f32 (+.f32 #s(literal 6931/10000 binary32) (approx %160 (log.f32 %34))) %164)))
(*.f32 (exp.f32 (-.f32 (/.f32 (approx %8 %153) v) #s(literal -6931/10000 binary32))) %34)
(/.f32 (exp.f32 (+.f32 (/.f32 (-.f32 %168 (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))) v) #s(literal -6484447/137438953472 binary32))) v)
Outputs
(/.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))) v) #s(literal -6484447/137438953472 binary32))) v)
Call 11
Inputs
%2 = (* cosTheta_i cosTheta_O)
%5 = (* sinTheta_i sinTheta_O)
%6 = (- %2 %5)
%8 = (- %6 1)
%10 = (/ %8 v)
%13 = (exp (- %10 -6931/10000))
%15 = (/ 1/2 v)
%16 = (* %13 %15)
%33 = (approx %13 #s(literal 2097053/1048576 binary32))
%34 = (/.f32 #s(literal 1/2 binary32) v)
%49 = (exp.f32 #s(literal 6931/10000 binary32))
%54 = (exp.f32 #s(literal -6931/10000 binary32))
%64 = (+ (- (- (/ %2 v) (/ %5 v)) (/ 1 v)) 6931/10000)
%69 = (+ %64 (log (/ 1 (* 2 v))))
%70 = (* cosTheta_O cosTheta_i)
%72 = (+ 1 (* sinTheta_O sinTheta_i))
%74 = (/ (- %70 %72) v)
%80 = (*.f32 cosTheta_O cosTheta_i)
%81 = (/.f32 %80 v)
%99 = (log %15)
%100 = (+ (+ (/ (+ (- %70 %5) -1) v) 6931/10000) %99)
%112 = (*.f32 sinTheta_O sinTheta_i)
%121 = (+.f32 v v)
%122 = (log.f32 %121)
%123 = (-.f32 #s(literal 6931/10000 binary32) %122)
%129 = (/.f32 (approx %8 (approx (- %70 1) #s(literal -1 binary32))) v)
%131 = (exp.f32 (-.f32 %129 #s(literal -6931/10000 binary32)))
%143 = (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))
%146 = (+ %5 1)
%153 = (-.f32 %80 #s(literal 1 binary32))
%154 = (/.f32 %153 v)
%160 = (+ %99 (/ %70 v))
%161 = (neg.f32 %122)
%164 = (/.f32 #s(literal 1 binary32) v)
%168 = (*.f32 cosTheta_i cosTheta_O)
%173 = (/.f32 #s(literal 2097053/1048576 binary32) %121)
%175 = (log.f32 %34)
%182 = (/.f32 (approx %8 %153) v)
%184 = (exp.f32 (-.f32 %182 #s(literal -6931/10000 binary32)))
%187 = (-.f32 %168 (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32)))
%188 = (/.f32 %187 v)
%191 = (exp.f32 (+.f32 %188 #s(literal -6484447/137438953472 binary32)))
%193 = (log.f32 #s(literal 1/2 binary32))
%200 = (exp.f32 %188)
%207 = (*.f32 sinTheta_i sinTheta_O)
%210 = (/.f32 (-.f32 (-.f32 %168 %207) #s(literal 1 binary32)) v)
%212 = (exp.f32 (-.f32 %210 #s(literal -6931/10000 binary32)))
%225 = (exp.f32 %129)
%226 = (exp.f32 %123)
%228 = (-.f32 %193 #s(literal -6931/10000 binary32))
%230 = (exp.f32 (+.f32 %188 %228))
%232 = (log.f32 v)
%235 = (*.f32 #s(literal 1/2 binary32) (exp.f32 (-.f32 #s(literal 6931/10000 binary32) %232)))
%237 = (exp.f32 %122)
%248 = (*.f32 #s(literal 2097053/2097152 binary32) (exp.f32 (neg.f32 %232)))
%250 = (exp.f32 %182)
%263 = (exp.f32 %210)
(approx %16 (approx (* 1/2 (/ 2097053/1048576 v)) (/.f32 #s(literal 2097053/2097152 binary32) v)))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 2097053/1048576 binary32) v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v #s(literal 2097251/4194304 binary32))))
(*.f32 %33 %34)
(approx %16 (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/2097152 binary32))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 2097053/1048576 binary32)))))
(*.f32 %33 (/.f32 #s(literal 1/2 binary32) (sqrt.f32 (*.f32 v v))))
(approx %16 (*.f32 #s(literal 1/2 binary32) (/.f32 %49 v)))
(approx %16 (/.f32 #s(literal 1/2 binary32) (*.f32 v %54)))
(exp.f32 (approx %69 (approx %74 (*.f32 cosTheta_i (/.f32 cosTheta_O v)))))
(exp.f32 (approx %69 (approx %74 %81)))
(exp.f32 (approx %69 (approx %74 (/.f32 (*.f32 cosTheta_O (approx cosTheta_i #s(literal 0 binary32))) v))))
(*.f32 (approx %13 %49) %34)
(exp.f32 (approx %100 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))))
(exp.f32 (approx %69 (/.f32 (-.f32 %80 (approx %72 #s(literal 1 binary32))) v)))
(exp.f32 (approx %69 (*.f32 #s(literal -1 binary32) (/.f32 %112 v))))
(exp.f32 (approx (+ (+ (/ (+ %6 -1) v) 6931/10000) %99) %123))
(/.f32 %131 %121)
(*.f32 %131 %34)
(exp.f32 (approx %69 (/.f32 (-.f32 %80 (+.f32 #s(literal 1 binary32) %112)) v)))
(exp.f32 (+.f32 (approx %64 #s(literal 6931/10000 binary32)) %143))
(approx (* (exp (/ (- %2 %146) v)) (/ 2097053/1048576 (+ v v))) (*.f32 #s(literal 2097053/2097152 binary32) (/.f32 (exp.f32 %154) v)))
(exp.f32 (approx %100 (-.f32 (+.f32 #s(literal 6931/10000 binary32) (approx %160 %161)) %164)))
(*.f32 (exp.f32 (/.f32 (-.f32 %168 (approx %146 #s(literal 1 binary32))) v)) %173)
(exp.f32 (approx %69 (-.f32 (+.f32 #s(literal 6931/10000 binary32) (approx %160 %175)) %164)))
(*.f32 %184 %34)
(/.f32 %191 v)
(exp.f32 (approx %69 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %193 (log.f32 %164)))))
(*.f32 %191 %164)
(*.f32 %200 %173)
(*.f32 %200 (*.f32 #s(literal -2097053/1048576 binary32) (/.f32 #s(literal -1/2 binary32) v)))
(*.f32 %212 %34)
(exp.f32 (approx %69 (+.f32 #s(literal 6931/10000 binary32) (/.f32 (-.f32 (fma.f32 %161 v %168) #s(literal 1 binary32)) v))))
(exp.f32 (approx %69 (-.f32 (+.f32 #s(literal 6931/10000 binary32) (+.f32 %175 %81)) %164)))
(*.f32 %225 %226)
(/.f32 %230 v)
(*.f32 %225 %235)
(/.f32 %131 %237)
(/.f32 (exp.f32 (/.f32 (fma.f32 %228 v %187) v)) v)
(*.f32 %230 %164)
(*.f32 (exp.f32 (approx %10 %154)) %248)
(*.f32 %250 %226)
(*.f32 %200 (/.f32 %49 %121))
(*.f32 %250 %235)
(/.f32 %184 %237)
(/.f32 %131 (+.f32 (+.f32 (fma.f32 %34 #s(literal 1/2 binary32) v) (*.f32 v #s(literal 1/2 binary32))) (*.f32 (-.f32 v %34) #s(literal 1/2 binary32))))
(*.f32 %263 %248)
(*.f32 %263 %226)
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 %168 v) (/.f32 %207 v)) %164) #s(literal 6931/10000 binary32)) %143))
(*.f32 (pow.f32 (exp.f32 %187) %164) %173)
(/.f32 %212 %237)
(/.f32 (/.f32 (exp.f32 (+.f32 %188 %193)) %54) v)
Outputs
(/.f32 (/.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (fma.f32 sinTheta_i sinTheta_O #s(literal 1 binary32))) v) (log.f32 #s(literal 1/2 binary32)))) (exp.f32 #s(literal -6931/10000 binary32))) v)
Calls

9 calls:

363.0ms
sinTheta_i
234.0ms
v
217.0ms
sinTheta_O
194.0ms
cosTheta_i
186.0ms
cosTheta_O
Results
AccuracySegmentsBranch
4.7%1
v
4.7%1
sinTheta_O
4.7%1
sinTheta_i
4.7%1
cosTheta_O
4.7%1
cosTheta_i
4.7%1
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
4.7%1
(+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))
4.7%1
(*.f32 cosTheta_i cosTheta_O)
4.7%1
(*.f32 sinTheta_i sinTheta_O)
Compiler

Compiled 71 to 248 computations (-249.3% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch1.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.3065449042447159e-38
-8.612327112398681e-39
Compiler

Compiled 1 to 3 computations (-200.0% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

derivations17.0ms (0.0%)

Stop Event
fuel
Compiler

Compiled 11 to 53 computations (-381.8% saved)

preprocess419.0ms (1.2%)

Compiler

Compiled 56 to 466 computations (-732.1% saved)

end0.0ms (0.0%)

gc960ms (2.8%)

Allocations
AllocatedPercentPhase
1 247.8 MiB32.2%series
602.2 MiB15.5%sample
600.1 MiB15.5%rewrite
368.4 MiB9.5%reconstruct
357.3 MiB9.2%regimes
281.5 MiB7.3%analyze
185.7 MiB4.8%eval
155.8 MiB4.0%preprocess
68.7 MiB1.8%prune
3.8 MiB0.1%derivations
3.8 MiB0.1%bsearch
0.1 MiB0.0%start
0.0 MiB0.0%end
3 875.1 MiB100.0%total

Profiling

Loading profile data...