HairBSDF, Mp, upper

Time bar (total: 43.1s)

start0.0ms (0.0%)

analyze2.0s (4.6%)

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

Compiled 62 to 42 computations (32.3% saved)

sample5.2s (12.2%)

Samples
4.4s8 255×0valid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 2.5s
ival-mult!: 877.0ms (35.7% of total, 105.4 MiB)
ival-div!: 637.0ms (26.0% of total, 65.6 MiB)
ival-exp!: 420.0ms (17.1% of total, 27.2 MiB)
ival-sinh!: 264.0ms (10.8% of total, 20.8 MiB)
ival-neg!: 143.0ms (5.8% of total, 11.0 MiB)
ival-and: 45.0ms (1.8% of total, 7.2 MiB)
adjust: 23.0ms (0.9% of total, 5.9 MiB)
ival-<: 20.0ms (0.8% of total, 4.4 MiB)
ival-<=: 15.0ms (0.6% of total, 2.5 MiB)
ival-assert: 10.0ms (0.4% of total, 2.6 MiB)
Bogosity

preprocess145.0ms (0.3%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0141467
1982441
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.6%
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
Symmetry

(negabs cosTheta_i)

(negabs cosTheta_O)

(sort cosTheta_i cosTheta_O)

(sort sinTheta_i sinTheta_O)

Compiler

Compiled 2 to 38 computations (-1800.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series878.0ms (2.0%)

Counts
19 → 67
Calls
Call 1
Inputs
%2 = (*.f32 sinTheta_i sinTheta_O)
%4 = (/.f32 %2 v)
%5 = (neg.f32 %4)
%6 = (exp.f32 %5)
%9 = (*.f32 cosTheta_i cosTheta_O)
%10 = (/.f32 %9 v)
%11 = (*.f32 %6 %10)
%13 = (/.f32 #s(literal 1 binary32) v)
%14 = (sinh.f32 %13)
%16 = (*.f32 %14 #s(literal 2 binary32))
%17 = (*.f32 %16 v)
sinTheta_i
sinTheta_O
%2
v
%4
%5
%6
cosTheta_i
cosTheta_O
%9
%10
%11
#s(literal 1 binary32)
%13
%14
#s(literal 2 binary32)
%16
%17
(/.f32 %11 %17)
Outputs
%6 = (* cosTheta_i cosTheta_O)
%7 = (*.f32 cosTheta_O cosTheta_i)
%10 = (/ %6 v)
%11 = (/.f32 %7 v)
%14 = (* sinTheta_i sinTheta_O)
%15 = (/ %14 v)
%16 = (neg %15)
%17 = (exp %16)
%18 = (* %17 %10)
%19 = (*.f32 sinTheta_O sinTheta_i)
%20 = (/.f32 %19 v)
%22 = (exp.f32 (neg.f32 %20))
%24 = (*.f32 cosTheta_O (*.f32 cosTheta_i %22))
%28 = (/ 1 v)
%29 = (sinh %28)
%31 = (* %29 2)
%32 = (* %31 v)
%33 = (/ %18 %32)
%35 = (pow.f32 v #s(literal 2 binary32))
%37 = (/.f32 #s(literal 1 binary32) v)
%38 = (exp.f32 %37)
%40 = (-.f32 %38 (/.f32 #s(literal 1 binary32) %38))
%41 = (*.f32 %35 %40)
%49 = (*.f32 #s(literal -1 binary32) %20)
%54 = (/.f32 sinTheta_O v)
%56 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%57 = (*.f32 %56 sinTheta_i)
%66 = (pow.f32 sinTheta_O #s(literal 3 binary32))
%67 = (*.f32 %66 sinTheta_i)
%68 = (pow.f32 v #s(literal 3 binary32))
%79 = (*.f32 cosTheta_O (*.f32 cosTheta_i %19))
%84 = (*.f32 cosTheta_O (*.f32 cosTheta_i sinTheta_O))
%85 = (/.f32 %84 %35)
%87 = (*.f32 cosTheta_O (*.f32 cosTheta_i %57))
%94 = (*.f32 cosTheta_O (*.f32 cosTheta_i %67))
%96 = (pow.f32 v #s(literal 4 binary32))
%99 = (*.f32 cosTheta_O (*.f32 cosTheta_i %56))
%107 = (/.f32 %7 %41)
%109 = (*.f32 %68 %40)
%113 = (/.f32 %84 %109)
%114 = (*.f32 %96 %40)
%122 = (*.f32 (pow.f32 v #s(literal 5 binary32)) %40)
%133 = (/.f32 sinTheta_i v)
%134 = (pow.f32 sinTheta_i #s(literal 2 binary32))
%135 = (*.f32 sinTheta_O %134)
%142 = (pow.f32 sinTheta_i #s(literal 3 binary32))
%143 = (*.f32 sinTheta_O %142)
%154 = (*.f32 cosTheta_O (*.f32 cosTheta_i sinTheta_i))
%155 = (/.f32 %154 %35)
%157 = (*.f32 cosTheta_O (*.f32 cosTheta_i %135))
%164 = (*.f32 cosTheta_O (*.f32 cosTheta_i %143))
%167 = (*.f32 cosTheta_O (*.f32 cosTheta_i %134))
%175 = (/.f32 %154 %109)
%196 = (*.f32 %56 %134)
%198 = (*.f32 #s(literal 1/2 binary32) (/.f32 %196 %35))
%202 = (*.f32 %66 %142)
%208 = (/.f32 %79 v)
%213 = (*.f32 cosTheta_O (*.f32 cosTheta_i %196))
%215 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %213 %35) %7)
%220 = (*.f32 cosTheta_O (*.f32 cosTheta_i %202))
%227 = (/.f32 #s(literal 1 binary32) %35)
%228 = (*.f32 #s(literal 1/6 binary32) %227)
%229 = (+.f32 #s(literal 1 binary32) %228)
%233 = (/.f32 #s(literal 1/120 binary32) %96)
%241 = (/.f32 #s(literal 1 binary32) (pow.f32 v #s(literal 6 binary32)))
%251 = (*.f32 #s(literal 1/3 binary32) %227)
%252 = (+.f32 #s(literal 2 binary32) %251)
%256 = (/.f32 #s(literal 1/60 binary32) %96)
%258 = (+.f32 #s(literal 2 binary32) (+.f32 %256 %251))
%265 = (+.f32 #s(literal 2 binary32) (+.f32 %256 (fma.f32 #s(literal 1/3 binary32) %227 (*.f32 #s(literal 1/2520 binary32) %241))))
%283 = (*.f32 #s(literal 1/2 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) %213) (*.f32 #s(literal 1/6 binary32) %7)) %35))
%290 = (-.f32 (*.f32 #s(literal -1/6 binary32) %220) (*.f32 #s(literal -1/6 binary32) %79))
%376 = (-.f32 (*.f32 #s(literal -1/2 binary32) %213) (*.f32 #s(literal -1/6 binary32) %7))
%381 = (*.f32 #s(literal -1/2 binary32) %7)
(approx sinTheta_i #s(literal 0 binary32))
(approx cosTheta_i cosTheta_i)
(approx %6 %7)
(approx %10 %11)
(approx %18 (/.f32 %24 v))
(approx %33 (/.f32 %24 %41))
(approx cosTheta_O cosTheta_O)
(approx sinTheta_i sinTheta_i)
(approx %14 %19)
(approx %15 %20)
(approx %16 %49)
(approx %17 #s(literal 1 binary32))
(approx %17 (+.f32 #s(literal 1 binary32) %49))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %54 (*.f32 #s(literal 1/2 binary32) (/.f32 %57 %35))))))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %54 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %67 %68) (*.f32 #s(literal 1/2 binary32) (/.f32 %56 %35))))))))
(approx %18 (fma.f32 #s(literal -1 binary32) (/.f32 %79 %35) %11))
(approx %18 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %85 (*.f32 #s(literal 1/2 binary32) (/.f32 %87 %68))) %11))
(approx %18 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %85 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %94 %96) (*.f32 #s(literal 1/2 binary32) (/.f32 %99 %68))))) %11))
(approx %33 %107)
(approx %33 (fma.f32 #s(literal -1 binary32) (/.f32 %79 %109) %107))
(approx %33 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %113 (*.f32 #s(literal 1/2 binary32) (/.f32 %87 %114))) %107))
(approx %33 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %113 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %94 %122) (*.f32 #s(literal 1/2 binary32) (/.f32 %99 %114))))) %107))
(approx %17 %22)
(approx sinTheta_O sinTheta_O)
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %133 (*.f32 #s(literal 1/2 binary32) (/.f32 %135 %35))))))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %133 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %143 %68) (*.f32 #s(literal 1/2 binary32) (/.f32 %134 %35))))))))
(approx %18 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %155 (*.f32 #s(literal 1/2 binary32) (/.f32 %157 %68))) %11))
(approx %18 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %155 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %164 %96) (*.f32 #s(literal 1/2 binary32) (/.f32 %167 %68))))) %11))
(approx %33 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %175 (*.f32 #s(literal 1/2 binary32) (/.f32 %157 %114))) %107))
(approx %33 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %175 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %164 %122) (*.f32 #s(literal 1/2 binary32) (/.f32 %167 %114))))) %107))
(approx v v)
(approx %28 %37)
(approx %29 (*.f32 #s(literal 1/2 binary32) %40))
(approx %31 %40)
(approx %32 (*.f32 v %40))
(approx %17 (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1 binary32) %20 %198)))
(approx %17 (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1 binary32) %20 (fma.f32 #s(literal -1/6 binary32) (/.f32 %202 %68) %198))))
(approx %18 (/.f32 (fma.f32 #s(literal -1 binary32) %208 %7) v))
(approx %18 (/.f32 (fma.f32 #s(literal -1 binary32) %208 %215) v))
(approx %18 (/.f32 (fma.f32 #s(literal -1 binary32) %208 (fma.f32 #s(literal -1/6 binary32) (/.f32 %220 %68) %215)) v))
(approx %29 (/.f32 %229 v))
(approx %29 (/.f32 (+.f32 #s(literal 1 binary32) (+.f32 %233 %228)) v))
(approx %29 (/.f32 (+.f32 #s(literal 1 binary32) (+.f32 %233 (fma.f32 #s(literal 1/6 binary32) %227 (*.f32 #s(literal 1/5040 binary32) %241)))) v))
(approx %31 (/.f32 #s(literal 2 binary32) v))
(approx %31 (/.f32 %252 v))
(approx %31 (/.f32 %258 v))
(approx %31 (/.f32 %265 v))
(approx %32 #s(literal 2 binary32))
(approx %32 %252)
(approx %32 %258)
(approx %32 %265)
(approx %33 (*.f32 #s(literal 1/2 binary32) %11))
(approx %33 (/.f32 (fma.f32 #s(literal -1/2 binary32) %208 (*.f32 #s(literal 1/2 binary32) %7)) v))
(approx %33 (/.f32 (fma.f32 #s(literal -1/2 binary32) %208 (fma.f32 #s(literal 1/2 binary32) %7 %283)) v))
(approx %33 (/.f32 (fma.f32 #s(literal -1/2 binary32) %208 (fma.f32 #s(literal 1/2 binary32) %7 (fma.f32 #s(literal 1/2 binary32) (/.f32 %290 %68) %283))) v))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %196 v) %19) v))))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 %202 v) (*.f32 #s(literal 1/2 binary32) %196)) v) %19) v))))
(approx %18 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 %208) v)))
(approx %18 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %79 (*.f32 #s(literal 1/2 binary32) (/.f32 %213 v))) v))) v)))
(approx %18 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %79 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %213 (*.f32 #s(literal 1/6 binary32) (/.f32 %220 v))) v))) v))) v)))
(approx %29 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/6 binary32) (*.f32 #s(literal 1/120 binary32) %227)) %35)) #s(literal 1 binary32)) v)))
(approx %29 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/120 binary32) (*.f32 #s(literal 1/5040 binary32) %227)) %96)) %229) v)))
(approx %31 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/3 binary32) (*.f32 #s(literal 1/60 binary32) %227)) %35)) #s(literal 2 binary32)) v)))
(approx %31 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/60 binary32) (*.f32 #s(literal 1/2520 binary32) %227)) %96)) %252) v)))
(approx %33 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %7 (*.f32 #s(literal 1/2 binary32) %208)) v)))
(approx %33 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %79 (*.f32 #s(literal -1/2 binary32) (/.f32 %376 v))) v) %381) v)))
(approx %33 (*.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/2 binary32) (/.f32 %290 v) (*.f32 #s(literal 1/2 binary32) %376)) v) (*.f32 #s(literal -1/2 binary32) %79)) v) %381) v)))
Calls

15 calls:

TimeVariablePoint
13.0ms
v
inf
11.0ms
cosTheta_O
0
10.0ms
sinTheta_i
0
10.0ms
v
0
9.0ms
sinTheta_O
0

rewrite1.3s (3.1%)

Counts
19 → 190
Calls
Call 1
Inputs
%2 = (*.f32 sinTheta_i sinTheta_O)
%4 = (/.f32 %2 v)
%5 = (neg.f32 %4)
%6 = (exp.f32 %5)
%9 = (*.f32 cosTheta_i cosTheta_O)
%10 = (/.f32 %9 v)
%11 = (*.f32 %6 %10)
%13 = (/.f32 #s(literal 1 binary32) v)
%14 = (sinh.f32 %13)
%16 = (*.f32 %14 #s(literal 2 binary32))
%17 = (*.f32 %16 v)
sinTheta_i
sinTheta_O
%2
v
%4
%5
%6
cosTheta_i
cosTheta_O
%9
%10
%11
#s(literal 1 binary32)
%13
%14
#s(literal 2 binary32)
%16
%17
(/.f32 %11 %17)
Outputs
%2 = (*.f32 sinTheta_i sinTheta_O)
%5 = (/.f32 %2 v)
%6 = (/.f32 sinTheta_O v)
%11 = (neg.f32 sinTheta_i)
%12 = (*.f32 %11 sinTheta_O)
%13 = (neg.f32 v)
%15 = (*.f32 %11 %6)
%18 = (*.f32 %2 #s(literal 1 binary32))
%20 = (/.f32 #s(literal 1 binary32) v)
%27 = (neg.f32 %12)
%28 = (neg.f32 %13)
%33 = (/.f32 #s(literal -1 binary32) v)
%55 = (exp.f32 %15)
%62 = (exp.f32 %5)
%74 = (cosh.f32 %5)
%75 = (sinh.f32 %5)
%77 = (sinh.f32 %15)
%80 = (-.f32 %75 %74)
%89 = (*.f32 cosTheta_i cosTheta_O)
%91 = (/.f32 %89 v)
%92 = (/.f32 cosTheta_O v)
%98 = (*.f32 (neg.f32 cosTheta_i) cosTheta_O)
%104 = (*.f32 %89 #s(literal 1 binary32))
%120 = (/.f32 %91 %62)
%121 = (*.f32 %55 %89)
%142 = (*.f32 #s(literal 1 binary32) %91)
%155 = (*.f32 %91 %77)
%157 = (*.f32 %77 %91)
%193 = (sinh.f32 %20)
%194 = (*.f32 %193 #s(literal 2 binary32))
%202 = (exp.f32 %20)
%204 = (exp.f32 %33)
%216 = (cosh.f32 (/.f32 #s(literal 0 binary32) #s(literal 2 binary32)))
%230 = (*.f32 #s(literal 1 binary32) %193)
%232 = (*.f32 %193 #s(literal 1 binary32))
%237 = (+.f32 v v)
%238 = (*.f32 %193 %237)
%248 = (*.f32 v %238)
%250 = (/.f32 %89 %248)
%254 = (/.f32 %121 %238)
%259 = (/.f32 %89 (*.f32 v v))
%262 = (/.f32 %55 %194)
%277 = (/.f32 %55 v)
%278 = (/.f32 %91 %194)
%281 = (neg.f32 %120)
%283 = (*.f32 %193 (neg.f32 %237))
%299 = (/.f32 #s(literal 1 binary32) %238)
sinTheta_i
sinTheta_O
%2
(*.f32 sinTheta_O sinTheta_i)
v
%5
(*.f32 sinTheta_i %6)
(*.f32 sinTheta_O (/.f32 sinTheta_i v))
(*.f32 %6 sinTheta_i)
(/.f32 %12 %13)
(neg.f32 %15)
(/.f32 %18 v)
(*.f32 sinTheta_O (*.f32 sinTheta_i %20))
(*.f32 %2 %20)
(*.f32 %20 %2)
(/.f32 #s(literal 1 binary32) (/.f32 v %2))
(/.f32 %27 %28)
(/.f32 (*.f32 %2 #s(literal -1 binary32)) %13)
(*.f32 %12 %33)
(/.f32 #s(literal 1 binary32) (/.f32 %13 %12))
(*.f32 %18 %20)
(/.f32 %2 %13)
(/.f32 %12 v)
(*.f32 sinTheta_i (neg.f32 %6))
(*.f32 sinTheta_i (/.f32 sinTheta_O %13))
(*.f32 sinTheta_O (/.f32 sinTheta_i %13))
%15
(neg.f32 %5)
(/.f32 %12 %28)
(/.f32 %27 %13)
(*.f32 %2 %33)
(*.f32 %12 %20)
(/.f32 #s(literal 1 binary32) (/.f32 %13 %2))
(/.f32 #s(literal 1 binary32) (/.f32 v %12))
%55
(fabs.f32 %55)
(exp.f32 (-.f32 #s(literal 0 binary32) %5))
(fabs.f32 (neg.f32 %55))
(/.f32 #s(literal 1 binary32) %62)
(*.f32 #s(literal 1 binary32) %55)
(/.f32 #s(literal -1 binary32) (neg.f32 %62))
(*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) %62))
(/.f32 #s(literal 1 binary32) (/.f32 %62 #s(literal 1 binary32)))
(pow.f32 %62 #s(literal -1 binary32))
(-.f32 %74 %75)
(+.f32 %77 %74)
(+.f32 %74 %77)
(fabs.f32 %80)
(neg.f32 %80)
(-.f32 %74 (neg.f32 %77))
(sqrt.f32 (*.f32 %55 %55))
cosTheta_i
cosTheta_O
%89
(*.f32 cosTheta_O cosTheta_i)
%91
(*.f32 cosTheta_i %92)
(*.f32 cosTheta_O (/.f32 cosTheta_i v))
(*.f32 %92 cosTheta_i)
(/.f32 %98 %13)
(neg.f32 (/.f32 %89 %13))
(neg.f32 (/.f32 %98 v))
(/.f32 %104 v)
(*.f32 cosTheta_O (*.f32 cosTheta_i %20))
(*.f32 %89 %20)
(*.f32 %20 %89)
(/.f32 #s(literal 1 binary32) (/.f32 v %89))
(/.f32 (neg.f32 %98) %28)
(/.f32 (*.f32 %89 #s(literal -1 binary32)) %13)
(*.f32 %98 %33)
(/.f32 #s(literal 1 binary32) (/.f32 %13 %98))
(*.f32 %104 %20)
%120
(/.f32 %121 v)
(*.f32 cosTheta_i (*.f32 %92 %55))
(*.f32 %55 %91)
(*.f32 %91 %55)
(*.f32 (*.f32 %55 cosTheta_i) %92)
(/.f32 (*.f32 %55 %98) %13)
(/.f32 (*.f32 %98 %55) %13)
(/.f32 (neg.f32 %121) %13)
(/.f32 %104 (*.f32 v %62))
(/.f32 (*.f32 #s(literal 1 binary32) %89) (*.f32 %62 v))
(/.f32 (*.f32 %91 #s(literal 1 binary32)) %62)
(/.f32 %142 %62)
(*.f32 %89 (*.f32 %20 %55))
(*.f32 %121 %20)
(/.f32 #s(literal 1 binary32) (/.f32 v %121))
(/.f32 (*.f32 %98 #s(literal 1 binary32)) (*.f32 %13 %62))
(/.f32 (*.f32 #s(literal 1 binary32) %98) (*.f32 %62 %13))
(fma.f32 %91 %74 %155)
(fma.f32 %74 %91 %157)
(+.f32 (*.f32 %74 %91) %157)
(+.f32 (*.f32 %91 %74) %155)
#s(literal 1 binary32)
(fabs.f32 #s(literal 1 binary32))
(neg.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 2 binary32) #s(literal 1/2 binary32) #s(literal 0 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))
%20
(/.f32 #s(literal -1 binary32) %13)
(neg.f32 %33)
(/.f32 #s(literal 1 binary32) %28)
(*.f32 #s(literal 1 binary32) %20)
(*.f32 %20 #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) v))
(*.f32 #s(literal -1 binary32) %33)
(/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 1 binary32)))
(/.f32 #s(literal 1 binary32) (/.f32 %13 #s(literal -1 binary32)))
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %20))
(pow.f32 v #s(literal -1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 v #s(literal 1 binary32)))
%193
(*.f32 %194 #s(literal 1/2 binary32))
(/.f32 %194 #s(literal 2 binary32))
(/.f32 (neg.f32 %194) #s(literal -2 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %194))
(-.f32 (/.f32 %202 #s(literal 2 binary32)) (/.f32 %204 #s(literal 2 binary32)))
#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 %216 %216))
%194
(*.f32 #s(literal 2 binary32) %193)
(/.f32 (*.f32 %194 #s(literal 2 binary32)) #s(literal 2 binary32))
(/.f32 (*.f32 #s(literal 2 binary32) %194) #s(literal 2 binary32))
(-.f32 %202 %204)
(+.f32 %202 (neg.f32 %204))
(neg.f32 (-.f32 %204 %202))
(+.f32 %193 %193)
(fma.f32 #s(literal 1 binary32) %193 %230)
(fma.f32 %193 #s(literal 1 binary32) %232)
(fma.f32 %194 #s(literal 1/2 binary32) %193)
(+.f32 %232 %232)
(+.f32 %230 %230)
%238
(*.f32 %237 %193)
(*.f32 v %194)
(*.f32 #s(literal 2 binary32) (*.f32 %193 v))
(*.f32 %194 v)
(*.f32 (*.f32 v %193) #s(literal 2 binary32))
(/.f32 (*.f32 %194 %237) #s(literal 2 binary32))
(/.f32 %121 %248)
(*.f32 %55 %250)
(*.f32 %250 %55)
(/.f32 %120 %238)
(/.f32 %254 v)
(*.f32 %91 (/.f32 %55 %238))
(/.f32 (*.f32 %55 %259) %194)
(*.f32 %259 %262)
(*.f32 %262 %259)
(/.f32 (/.f32 %120 %193) %237)
(*.f32 (/.f32 %91 %193) (/.f32 %55 %237))
(*.f32 (/.f32 %55 %193) (/.f32 %91 %237))
(/.f32 (/.f32 %120 v) %194)
(/.f32 (*.f32 %262 %91) v)
(*.f32 %277 %278)
(*.f32 %278 %277)
(/.f32 %281 %283)
(neg.f32 (/.f32 %120 %283))
(neg.f32 (/.f32 %281 %238))
(/.f32 (neg.f32 %254) %13)
(/.f32 %142 (*.f32 %62 %238))
(/.f32 (*.f32 #s(literal 1 binary32) %250) %62)
(/.f32 (*.f32 %121 #s(literal 1 binary32)) %248)
(/.f32 (*.f32 %120 #s(literal 1 binary32)) %238)
(*.f32 %120 %299)
(*.f32 %299 %120)
(/.f32 (*.f32 %121 %299) v)
(*.f32 %91 (*.f32 %55 %299))
(*.f32 %254 %20)
(/.f32 #s(literal 1 binary32) (/.f32 %238 %120))
(/.f32 (neg.f32 %281) (neg.f32 %283))
(/.f32 #s(literal 1 binary32) (/.f32 v %254))
(*.f32 %281 (/.f32 #s(literal 1 binary32) %283))
(/.f32 #s(literal 1 binary32) (/.f32 %283 %281))

reconstruct124.0ms (0.3%)

Counts
257 → 96
Compiler

Compiled 257 to 617 computations (-140.1% saved)

eval53.0ms (0.1%)

Compiler

Compiled 88 to 442 computations (-402.3% saved)

prune23.0ms (0.1%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New682088
Fresh000
Picked101
Done000
Total692089
Accuracy
99.4%
Counts
89 → 20
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.4%
(/.f32 (/.f32 (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (+.f32 v v))
98.2%
(/.f32 (/.f32 (*.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (*.f32 cosTheta_i cosTheta_O)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))) v)
98.2%
(/.f32 (*.f32 (/.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) v)
98.7%
(/.f32 (*.f32 (*.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) cosTheta_i) (/.f32 cosTheta_O v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
98.8%
%27 = (/.f32 #s(literal 1 binary32) v)
(/.f32 (*.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 %27 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))))) (*.f32 (*.f32 (sinh.f32 %27) #s(literal 2 binary32)) v))
98.6%
(/.f32 (*.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 v v))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))
98.6%
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) #s(literal 2 binary32)) v))
98.6%
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (/.f32 cosTheta_i v))) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
98.8%
%27 = (/.f32 #s(literal 1 binary32) v)
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i %27))) (*.f32 (*.f32 (sinh.f32 %27) #s(literal 2 binary32)) v))
98.5%
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) v)))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
98.4%
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) #s(literal 1 binary32)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
92.6%
(/.f32 #s(literal 1 binary32) (/.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))))
98.6%
(*.f32 (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (/.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (+.f32 v v)))
98.6%
(*.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))))
98.6%
(*.f32 (/.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 v v)))
98.6%
(*.f32 (/.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (+.f32 v v)))
98.6%
(*.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O sinTheta_i))) v) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O cosTheta_i))) v))
98.4%
%28 = (exp.f32 (/.f32 #s(literal 1 binary32) v))
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_O cosTheta_i) (*.f32 (pow.f32 v #s(literal 2 binary32)) (-.f32 %28 (/.f32 #s(literal 1 binary32) %28)))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O cosTheta_i) v)))
Compiler

Compiled 20 to 98 computations (-390.0% saved)

sample1.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series3.1s (7.2%)

Counts
103 → 307
Calls
Call 1
Inputs
%2 = (*.f32 sinTheta_i sinTheta_O)
%4 = (/.f32 %2 v)
%5 = (neg.f32 %4)
%6 = (exp.f32 %5)
%9 = (*.f32 cosTheta_i cosTheta_O)
%10 = (/.f32 %9 v)
%11 = (*.f32 %6 %10)
%13 = (/.f32 #s(literal 1 binary32) v)
%14 = (sinh.f32 %13)
%16 = (*.f32 %14 #s(literal 2 binary32))
%17 = (*.f32 %16 v)
%18 = (*.f32 cosTheta_O cosTheta_i)
%19 = (/.f32 %18 v)
%20 = (*.f32 sinTheta_O sinTheta_i)
%21 = (/.f32 %20 v)
%22 = (pow.f32 v #s(literal 2 binary32))
%23 = (exp.f32 %13)
%24 = (/.f32 #s(literal 1 binary32) %23)
%25 = (-.f32 %23 %24)
%26 = (*.f32 %22 %25)
%28 = (*.f32 #s(literal -1 binary32) %21)
%32 = (exp (neg (/ (* sinTheta_i sinTheta_O) v)))
%33 = (approx %32 #s(literal 1 binary32))
%34 = (+.f32 #s(literal 1 binary32) %28)
%35 = (approx %32 %34)
%36 = (/.f32 sinTheta_O v)
%38 = (*.f32 cosTheta_i %20)
%39 = (*.f32 cosTheta_O %38)
%40 = (/.f32 %18 %26)
%50 = (/ (* %32 (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v))
%52 = (/.f32 %39 v)
%53 = (*.f32 #s(literal 1/2 binary32) %19)
%56 = (*.f32 #s(literal 1/2 binary32) %18)
%57 = (fma.f32 #s(literal -1/2 binary32) %52 %56)
%58 = (/.f32 %57 v)
%60 = (neg.f32 sinTheta_i)
%61 = (*.f32 %60 %36)
%62 = (exp.f32 %61)
%63 = (exp.f32 %4)
%64 = (/.f32 cosTheta_O v)
%65 = (/.f32 cosTheta_i v)
%66 = (*.f32 cosTheta_O %65)
%67 = (*.f32 cosTheta_i %13)
%68 = (*.f32 cosTheta_O %67)
%69 = (/.f32 %10 %63)
%70 = (*.f32 %62 %9)
%71 = (*.f32 %62 cosTheta_i)
%72 = (*.f32 %71 %64)
%73 = (*.f32 %13 %62)
%74 = (*.f32 %9 %73)
%75 = (/.f32 #s(literal 2 binary32) %16)
%76 = (/.f32 #s(literal 1 binary32) %75)
%77 = (+.f32 v v)
%78 = (*.f32 %14 %77)
%79 = (*.f32 v %78)
%80 = (/.f32 %9 %79)
%82 = (/.f32 %70 %78)
%84 = (/.f32 %62 %78)
%86 = (*.f32 v v)
%87 = (/.f32 %9 %86)
%88 = (*.f32 %62 %87)
%90 = (/.f32 %62 %16)
%92 = (/.f32 %69 %14)
%94 = (/.f32 %10 %14)
%95 = (/.f32 %62 %77)
%97 = (/.f32 %62 %14)
%98 = (/.f32 %10 %77)
%100 = (*.f32 %90 %10)
%102 = (/.f32 %78 %69)
%104 = (*.f32 %35 %10)
%106 = (*.f32 %33 %10)
%110 = (*.f32 %6 %66)
%112 = (*.f32 %6 %68)
%114 = (*.f32 %76 #s(literal 2 binary32))
%115 = (*.f32 %114 v)
sinTheta_i
sinTheta_O
%2
v
%4
%5
%6
cosTheta_i
cosTheta_O
%9
%10
%11
#s(literal 1 binary32)
%13
%14
#s(literal 2 binary32)
%16
%17
%18
%19
%20
%21
%22
%23
%24
%25
%26
#s(literal -1 binary32)
%28
%33
%34
%35
%36
#s(literal 1/2 binary32)
%38
%39
%40
(approx %50 %40)
%52
%53
(approx %50 %53)
#s(literal -1/2 binary32)
%56
%57
%58
(approx %50 %58)
%60
%61
%62
%63
%64
%65
%66
%67
%68
%69
%70
%71
%72
%73
%74
%75
%76
%77
%78
%79
%80
(*.f32 %62 %80)
%82
(/.f32 %82 v)
%84
(*.f32 %10 %84)
%86
%87
%88
(/.f32 %88 %16)
%90
(*.f32 %90 %87)
%92
(/.f32 %92 %77)
%94
%95
(*.f32 %94 %95)
%97
%98
(*.f32 %97 %98)
%100
(/.f32 %100 v)
%102
(/.f32 #s(literal 1 binary32) %102)
%104
(/.f32 %104 %17)
%106
(/.f32 %106 %17)
(/.f32 %72 %17)
(/.f32 %74 %17)
%110
(/.f32 %110 %17)
%112
(/.f32 %112 %17)
%114
%115
(/.f32 %11 %115)
Outputs
%6 = (* cosTheta_i cosTheta_O)
%7 = (*.f32 cosTheta_O cosTheta_i)
%10 = (/ %6 v)
%11 = (/.f32 %7 v)
%14 = (* sinTheta_i sinTheta_O)
%15 = (/ %14 v)
%16 = (neg %15)
%17 = (exp %16)
%18 = (* %17 %10)
%19 = (*.f32 sinTheta_O sinTheta_i)
%20 = (/.f32 %19 v)
%22 = (exp.f32 (neg.f32 %20))
%24 = (*.f32 cosTheta_O (*.f32 cosTheta_i %22))
%27 = (* sinTheta_O sinTheta_i)
%28 = (* cosTheta_i %27)
%29 = (*.f32 cosTheta_i %19)
%31 = (* cosTheta_O %28)
%32 = (*.f32 cosTheta_O %29)
%34 = (* cosTheta_O cosTheta_i)
%36 = (pow v 2)
%38 = (/ 1 v)
%39 = (exp %38)
%40 = (/ 1 %39)
%42 = (* %36 (- %39 %40))
%43 = (/ %34 %42)
%45 = (pow.f32 v #s(literal 2 binary32))
%47 = (/.f32 #s(literal 1 binary32) v)
%48 = (exp.f32 %47)
%49 = (/.f32 #s(literal 1 binary32) %48)
%50 = (-.f32 %48 %49)
%51 = (*.f32 %45 %50)
%52 = (/.f32 %7 %51)
%54 = (sinh %38)
%55 = (* %54 2)
%56 = (* %55 v)
%57 = (/ %18 %56)
%60 = (/ %31 v)
%61 = (/.f32 %32 v)
%67 = (*.f32 #s(literal 1/2 binary32) %11)
%69 = (* 1/2 %34)
%70 = (*.f32 #s(literal 1/2 binary32) %7)
%74 = (+ (* -1/2 %60) %69)
%77 = (/.f32 (*.f32 cosTheta_O %19) v)
%80 = (*.f32 cosTheta_i (fma.f32 #s(literal -1/2 binary32) %77 (*.f32 #s(literal 1/2 binary32) cosTheta_O)))
%82 = (/ %74 v)
%88 = (exp %15)
%89 = (/ %10 %88)
%90 = (exp.f32 %20)
%94 = (neg sinTheta_i)
%95 = (/ sinTheta_O v)
%97 = (exp (* %94 %95))
%98 = (* %97 %6)
%100 = (*.f32 #s(literal -1 binary32) %20)
%101 = (exp.f32 %100)
%102 = (*.f32 cosTheta_i %101)
%103 = (*.f32 cosTheta_O %102)
%105 = (* %97 cosTheta_i)
%107 = (/ cosTheta_O v)
%111 = (+ v v)
%112 = (* %54 %111)
%114 = (/ %6 (* v %112))
%118 = (/ %98 %112)
%119 = (*.f32 v %50)
%123 = (/ %6 (* v v))
%124 = (/.f32 %7 %45)
%126 = (* %97 %123)
%129 = (/ %89 %54)
%130 = (*.f32 %90 %50)
%135 = (/ %129 %111)
%136 = (*.f32 %45 %130)
%139 = (/ %10 %54)
%140 = (/.f32 %7 %119)
%141 = (*.f32 #s(literal 2 binary32) %140)
%146 = (/ %112 %89)
%151 = (*.f32 cosTheta_i (fma.f32 #s(literal -1/2 binary32) cosTheta_O (*.f32 #s(literal 1/2 binary32) %77)))
%158 = (/.f32 %29 v)
%161 = (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) %158 (*.f32 #s(literal 1/2 binary32) cosTheta_i)))
%169 = (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) cosTheta_i (*.f32 #s(literal 1/2 binary32) %158)))
%180 = (+.f32 #s(literal 1 binary32) %100)
%182 = (/.f32 sinTheta_O v)
%183 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%184 = (*.f32 %183 sinTheta_i)
%185 = (/.f32 %184 %45)
%193 = (pow.f32 sinTheta_O #s(literal 3 binary32))
%194 = (*.f32 %193 sinTheta_i)
%195 = (pow.f32 v #s(literal 3 binary32))
%196 = (/.f32 %194 %195)
%198 = (*.f32 #s(literal 1/2 binary32) (/.f32 %183 %45))
%205 = (/.f32 %32 %45)
%208 = (*.f32 cosTheta_i sinTheta_O)
%209 = (*.f32 cosTheta_O %208)
%210 = (/.f32 %209 %45)
%211 = (*.f32 cosTheta_i %184)
%212 = (*.f32 cosTheta_O %211)
%218 = (*.f32 cosTheta_i %194)
%219 = (*.f32 cosTheta_O %218)
%221 = (pow.f32 v #s(literal 4 binary32))
%223 = (*.f32 cosTheta_i %183)
%224 = (*.f32 cosTheta_O %223)
%225 = (/.f32 %224 %195)
%226 = (*.f32 #s(literal 1/2 binary32) %225)
%232 = (*.f32 %195 %50)
%236 = (/.f32 %209 %232)
%237 = (*.f32 %221 %50)
%244 = (pow.f32 v #s(literal 5 binary32))
%245 = (*.f32 %244 %50)
%247 = (/.f32 %224 %237)
%254 = (fma.f32 #s(literal -1/2 binary32) %61 %70)
%272 = (fma.f32 #s(literal -1 binary32) %225 %226)
%281 = (*.f32 cosTheta_O (*.f32 cosTheta_i %193))
%282 = (/.f32 %281 %221)
%293 = (fma.f32 #s(literal -1 binary32) %61 %7)
%295 = (/.f32 %209 v)
%314 = (/.f32 %208 v)
%330 = (* %38 %97)
%332 = (/.f32 %19 %45)
%335 = (/.f32 sinTheta_O %45)
%336 = (/.f32 %184 %195)
%341 = (/.f32 %194 %221)
%342 = (/.f32 %183 %195)
%350 = (/.f32 %32 %51)
%353 = (/.f32 %209 %51)
%360 = (/.f32 %224 %232)
%367 = (/ %97 %112)
%368 = (/.f32 #s(literal 1 binary32) %119)
%373 = (/.f32 sinTheta_O %51)
%390 = (/.f32 %209 %195)
%404 = (/ %97 %55)
%405 = (/.f32 #s(literal 1 binary32) %50)
%407 = (/.f32 %19 %119)
%410 = (/.f32 sinTheta_O %119)
%411 = (/.f32 %184 %51)
%416 = (/.f32 %194 %232)
%417 = (/.f32 %183 %51)
%427 = (fma.f32 #s(literal -2 binary32) %360 %360)
%430 = (*.f32 #s(literal 2 binary32) %353)
%435 = (/.f32 %281 %237)
%450 = (fma.f32 #s(literal -2 binary32) %247 %247)
%456 = (/.f32 %281 %245)
%469 = (/ %97 %111)
%472 = (*.f32 #s(literal 1/2 binary32) %47)
%487 = (/ %97 %54)
%490 = (*.f32 #s(literal 2 binary32) %405)
%502 = (/.f32 %51 %7)
%504 = (*.f32 sinTheta_i %119)
%509 = (*.f32 sinTheta_i %50)
%513 = (/.f32 (*.f32 sinTheta_O %119) %7)
%519 = (*.f32 cosTheta_O (*.f32 cosTheta_i v))
%532 = (+ 1 (* -1 (/ %27 v)))
%533 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%539 = (/.f32 %7 sinTheta_i)
%547 = (/.f32 %7 (*.f32 sinTheta_i v))
%554 = (/.f32 %101 v)
%558 = (/.f32 %101 %50)
%579 = (/.f32 sinTheta_i v)
%580 = (pow.f32 sinTheta_i #s(literal 2 binary32))
%581 = (*.f32 sinTheta_O %580)
%582 = (/.f32 %581 %45)
%588 = (pow.f32 sinTheta_i #s(literal 3 binary32))
%589 = (*.f32 sinTheta_O %588)
%590 = (/.f32 %589 %195)
%592 = (*.f32 #s(literal 1/2 binary32) (/.f32 %580 %45))
%599 = (*.f32 cosTheta_i sinTheta_i)
%600 = (*.f32 cosTheta_O %599)
%601 = (/.f32 %600 %45)
%602 = (*.f32 cosTheta_i %581)
%603 = (*.f32 cosTheta_O %602)
%609 = (*.f32 cosTheta_i %589)
%610 = (*.f32 cosTheta_O %609)
%612 = (*.f32 cosTheta_i %580)
%613 = (*.f32 cosTheta_O %612)
%614 = (/.f32 %613 %195)
%615 = (*.f32 #s(literal 1/2 binary32) %614)
%622 = (/.f32 %600 %232)
%629 = (/.f32 %613 %237)
%645 = (fma.f32 #s(literal -1 binary32) %614 %615)
%654 = (*.f32 cosTheta_O (*.f32 cosTheta_i %588))
%655 = (/.f32 %654 %221)
%666 = (/.f32 %600 v)
%682 = (/.f32 %599 v)
%698 = (/.f32 sinTheta_i %45)
%699 = (/.f32 %581 %195)
%704 = (/.f32 %589 %221)
%705 = (/.f32 %580 %195)
%712 = (/.f32 %600 %51)
%719 = (/.f32 %613 %232)
%726 = (/.f32 sinTheta_i %51)
%740 = (/.f32 %600 %195)
%754 = (/.f32 sinTheta_i %119)
%755 = (/.f32 %581 %51)
%760 = (/.f32 %589 %232)
%761 = (/.f32 %580 %51)
%768 = (fma.f32 #s(literal -2 binary32) %719 %719)
%771 = (*.f32 #s(literal 2 binary32) %712)
%776 = (/.f32 %654 %237)
%790 = (fma.f32 #s(literal -2 binary32) %629 %629)
%796 = (/.f32 %654 %245)
%827 = (*.f32 %580 %50)
%830 = (/.f32 %504 %7)
%843 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%847 = (/.f32 %7 sinTheta_O)
%853 = (/.f32 %7 (*.f32 sinTheta_O v))
%886 = (fma.f32 #s(literal -1/2 binary32) %32 (*.f32 #s(literal 1/2 binary32) %519))
%893 = (*.f32 %183 %580)
%894 = (/.f32 %893 %45)
%895 = (*.f32 #s(literal 1/2 binary32) %894)
%897 = (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1 binary32) %20 %895))
%899 = (*.f32 %193 %588)
%900 = (/.f32 %899 %195)
%903 = (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1 binary32) %20 (fma.f32 #s(literal -1/6 binary32) %900 %895)))
%907 = (*.f32 cosTheta_i %893)
%908 = (*.f32 cosTheta_O %907)
%909 = (/.f32 %908 %45)
%910 = (fma.f32 #s(literal 1/2 binary32) %909 %7)
%911 = (fma.f32 #s(literal -1 binary32) %61 %910)
%914 = (*.f32 cosTheta_i %899)
%915 = (*.f32 cosTheta_O %914)
%918 = (fma.f32 #s(literal -1 binary32) %61 (fma.f32 #s(literal -1/6 binary32) (/.f32 %915 %195) %910))
%921 = (/.f32 #s(literal 1 binary32) %45)
%922 = (*.f32 #s(literal 1/6 binary32) %921)
%923 = (+.f32 #s(literal 1 binary32) %922)
%927 = (/.f32 #s(literal 1/120 binary32) %221)
%934 = (pow.f32 v #s(literal 6 binary32))
%935 = (/.f32 #s(literal 1 binary32) %934)
%944 = (*.f32 #s(literal 1/3 binary32) %921)
%945 = (+.f32 #s(literal 2 binary32) %944)
%949 = (/.f32 #s(literal 1/60 binary32) %221)
%951 = (+.f32 #s(literal 2 binary32) (+.f32 %949 %944))
%958 = (+.f32 #s(literal 2 binary32) (+.f32 %949 (fma.f32 #s(literal 1/3 binary32) %921 (*.f32 #s(literal 1/2520 binary32) %935))))
%967 = (/.f32 #s(literal 1/2 binary32) %45)
%973 = (+.f32 %47 (*.f32 #s(literal 1/6 binary32) (/.f32 #s(literal 1 binary32) %195)))
%979 = (+.f32 #s(literal 1 binary32) %967)
%990 = (fma.f32 #s(literal -1/12 binary32) %124 %70)
%996 = (fma.f32 #s(literal -1/72 binary32) %7 (*.f32 #s(literal 1/240 binary32) %7))
%1000 = (*.f32 #s(literal 1/12 binary32) %124)
%1011 = (/.f32 %7 %221)
%1019 = (*.f32 #s(literal 1/2 binary32) %908)
%1023 = (*.f32 #s(literal 1/2 binary32) (/.f32 (-.f32 %1019 (*.f32 #s(literal 1/6 binary32) %7)) %45))
%1025 = (fma.f32 #s(literal -1/2 binary32) %61 (fma.f32 #s(literal 1/2 binary32) %7 %1023))
%1030 = (-.f32 (*.f32 #s(literal -1/6 binary32) %915) (*.f32 #s(literal -1/6 binary32) %32))
%1034 = (fma.f32 #s(literal -1/2 binary32) %61 (fma.f32 #s(literal 1/2 binary32) %7 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1030 %195) %1023)))
%1037 = (fma.f32 #s(literal 1/2 binary32) %894 %20)
%1043 = (fma.f32 #s(literal -1 binary32) %908 %1019)
%1050 = (*.f32 sinTheta_O (*.f32 sinTheta_i %1043))
%1064 = (*.f32 #s(literal 1/2 binary32) (/.f32 %907 %45))
%1079 = (/ 2 %55)
%1085 = (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 7/360 binary32) %221))
%1091 = (fma.f32 #s(literal 1/6 binary32) %921 (*.f32 #s(literal 31/15120 binary32) %935))
%1097 = (fma.f32 #s(literal -1/36 binary32) %7 (*.f32 #s(literal 1/120 binary32) %7))
%1098 = (/.f32 %1097 %221)
%1099 = (fma.f32 #s(literal -1/2 binary32) %1098 %990)
%1106 = (/.f32 (fma.f32 #s(literal -1/6 binary32) %1097 (fma.f32 #s(literal -1/720 binary32) %7 (*.f32 #s(literal 1/5040 binary32) %7))) %934)
%1114 = (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/2 binary32) %20))
%1116 = (*.f32 #s(literal 1/2 binary32) %893)
%1119 = (*.f32 #s(literal 1/2 binary32) (/.f32 (-.f32 %1116 #s(literal 1/6 binary32)) %45))
%1121 = (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal -1/2 binary32) %20 %1119))
%1125 = (-.f32 (*.f32 #s(literal -1/6 binary32) %899) (*.f32 #s(literal -1/6 binary32) %19))
%1129 = (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal -1/2 binary32) %20 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1125 %195) %1119)))
%1145 = (+.f32 #s(literal 1/6 binary32) %1116)
%1147 = (*.f32 cosTheta_O (*.f32 cosTheta_i %1145))
%1148 = (fma.f32 #s(literal -1 binary32) %908 %1147)
%1149 = (/.f32 %1148 %45)
%1161 = (*.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) %19 (*.f32 #s(literal 1/6 binary32) %899)))
%1165 = (/.f32 (fma.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (*.f32 sinTheta_i %1145)))) (fma.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (*.f32 sinTheta_i %1148)) (*.f32 cosTheta_O %1161))) %195)
%1172 = (fma.f32 #s(literal -1/2 binary32) %1149 %70)
%1183 = (*.f32 #s(literal 1/6 binary32) %124)
%1193 = (*.f32 #s(literal 1/4 binary32) %894)
%1205 = (/.f32 #s(literal 1/6 binary32) %45)
%1217 = (/.f32 %19 %519)
%1218 = (/.f32 #s(literal 1 binary32) %7)
%1219 = (*.f32 #s(literal 2 binary32) %1218)
%1223 = (/.f32 %893 %7)
%1224 = (*.f32 #s(literal 1/6 binary32) %1218)
%1227 = (fma.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) %1223 %1224) %45) %1219)
%1231 = (/.f32 %19 %7)
%1234 = (fma.f32 #s(literal 1/6 binary32) %1231 (*.f32 #s(literal 1/6 binary32) (/.f32 %899 %7)))
%1240 = (/.f32 %893 v)
%1246 = (/.f32 %899 v)
%1258 = (/.f32 %908 v)
%1267 = (/.f32 %915 v)
%1299 = (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/3 binary32) (*.f32 #s(literal 1/60 binary32) %921)) %45)) #s(literal 2 binary32))
%1307 = (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/60 binary32) (*.f32 #s(literal 1/2520 binary32) %921)) %221)) %945)
%1311 = (*.f32 #s(literal 1/6 binary32) %47)
%1346 = (fma.f32 #s(literal -1/240 binary32) %7 (*.f32 #s(literal 1/72 binary32) %7))
%1348 = (*.f32 #s(literal -1/2 binary32) %7)
%1376 = (-.f32 (*.f32 #s(literal -1/2 binary32) %908) (*.f32 #s(literal -1/6 binary32) %7))
%1377 = (/.f32 %1376 v)
%1385 = (/.f32 %1030 v)
%1389 = (*.f32 #s(literal -1/2 binary32) %32)
%1435 = (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %1258 %32) v) %7)
%1441 = (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %1267 %1019) v) %32) v) %7)
%1458 = (-.f32 %20 #s(literal 1 binary32))
%1496 = (fma.f32 #s(literal -1/120 binary32) %7 (*.f32 #s(literal 1/36 binary32) %7))
%1498 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %1496 %221) %1000)
%1527 = (*.f32 #s(literal -1/2 binary32) %893)
%1528 = (+.f32 #s(literal 1/6 binary32) %1527)
%1529 = (/.f32 %1528 v)
%1536 = (/.f32 %1125 v)
%1551 = (-.f32 (*.f32 #s(literal 1/2 binary32) %20) #s(literal 1/2 binary32))
%1566 = (*.f32 #s(literal -1/2 binary32) %19)
%1574 = (-.f32 %1527 #s(literal 1/6 binary32))
%1577 = (fma.f32 cosTheta_O %907 (*.f32 cosTheta_O (*.f32 cosTheta_i %1574)))
%1578 = (/.f32 %1577 v)
%1590 = (/.f32 (fma.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (*.f32 sinTheta_i %1574))) (fma.f32 cosTheta_O %1161 (*.f32 sinTheta_O (*.f32 sinTheta_i %1577)))) v)
%1613 = (fma.f32 #s(literal 1/36 binary32) %1011 %7)
%1618 = (/.f32 %7 %934)
%1675 = (-.f32 (*.f32 #s(literal -1/2 binary32) %1223) %1224)
%1677 = (*.f32 #s(literal 2 binary32) %1231)
(approx sinTheta_i #s(literal 0 binary32))
(approx cosTheta_i cosTheta_i)
(approx %6 %7)
(approx %10 %11)
(approx %18 (/.f32 %24 v))
(approx %28 %29)
(approx %31 %32)
(approx %43 %52)
(approx %57 (/.f32 %24 %51))
(approx %60 %61)
(approx (* 1/2 (/ %34 v)) %67)
(approx %69 %70)
(approx %74 %80)
(approx %82 (/.f32 %80 v))
(approx (/ cosTheta_i v) (/.f32 cosTheta_i v))
(approx %89 (/.f32 %7 (*.f32 v %90)))
(approx %98 %103)
(approx %105 %102)
(approx (* %105 %107) (/.f32 %103 v))
(approx (* %97 %114) (/.f32 %103 %51))
(approx %118 (/.f32 %103 %119))
(approx %123 %124)
(approx %126 (/.f32 %103 %45))
(approx %129 (*.f32 #s(literal 2 binary32) (/.f32 %7 (*.f32 v %130))))
(approx %135 (/.f32 %7 %136))
(approx %139 %141)
(approx (/ %10 %111) (*.f32 #s(literal 1/2 binary32) %124))
(approx %146 (/.f32 %136 %7))
(approx %74 (*.f32 #s(literal -1 binary32) %151))
(approx %82 (*.f32 #s(literal -1 binary32) (/.f32 %151 v)))
(approx cosTheta_O cosTheta_O)
(approx %74 %161)
(approx %82 (/.f32 %161 v))
(approx %107 (/.f32 cosTheta_O v))
(approx %74 (*.f32 #s(literal -1 binary32) %169))
(approx %82 (*.f32 #s(literal -1 binary32) (/.f32 %169 v)))
(approx sinTheta_i sinTheta_i)
(approx %14 %19)
(approx %15 %20)
(approx %16 %100)
(approx %17 #s(literal 1 binary32))
(approx %17 %180)
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %182 (*.f32 #s(literal 1/2 binary32) %185)))))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %182 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) %196 %198))))))
(approx %18 (fma.f32 #s(literal -1 binary32) %205 %11))
(approx %18 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %210 (*.f32 #s(literal 1/2 binary32) (/.f32 %212 %195))) %11))
(approx %18 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %210 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %219 %221) %226))) %11))
(approx %57 (fma.f32 #s(literal -1 binary32) (/.f32 %32 %232) %52))
(approx %57 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %236 (*.f32 #s(literal 1/2 binary32) (/.f32 %212 %237))) %52))
(approx %57 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %236 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %219 %245) (*.f32 #s(literal 1/2 binary32) %247)))) %52))
(approx %74 %254)
(approx %82 (fma.f32 #s(literal -1/2 binary32) %205 %67))
(approx %94 (*.f32 #s(literal -1 binary32) sinTheta_i))
(approx %88 (+.f32 #s(literal 1 binary32) %20))
(approx %88 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal 1/2 binary32) %185 %182))))
(approx %88 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_i (fma.f32 sinTheta_i (fma.f32 #s(literal 1/6 binary32) %196 %198) %182))))
(approx %89 (fma.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i %272)) %210) %11))
(approx %89 (fma.f32 sinTheta_i (-.f32 (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %272) v) (fma.f32 #s(literal -1/2 binary32) %282 (*.f32 #s(literal 1/6 binary32) %282))))) %272)) %210) %11))
(approx %98 %293)
(approx %98 (fma.f32 cosTheta_O cosTheta_i (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %295 (*.f32 #s(literal 1/2 binary32) (/.f32 %212 %45))))))
(approx %98 (fma.f32 cosTheta_O cosTheta_i (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %295 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %219 %195) (*.f32 #s(literal 1/2 binary32) (/.f32 %224 %45))))))))
(approx %105 (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) %158)))
(approx %105 (+.f32 cosTheta_i (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %314 (*.f32 #s(literal 1/2 binary32) (/.f32 %211 %45))))))
(approx %105 (+.f32 cosTheta_i (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %314 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %218 %195) (*.f32 #s(literal 1/2 binary32) (/.f32 %223 %45))))))))
(approx %330 %47)
(approx %330 (fma.f32 #s(literal -1 binary32) %332 %47))
(approx %330 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %335 (*.f32 #s(literal 1/2 binary32) %336)) %47))
(approx %330 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %335 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) %341 (*.f32 #s(literal 1/2 binary32) %342)))) %47))
(approx %118 %140)
(approx %118 (fma.f32 #s(literal -1 binary32) %350 %140))
(approx %118 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %353 (*.f32 #s(literal 1/2 binary32) (/.f32 %212 %232))) %140))
(approx %118 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %353 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %219 %237) (*.f32 #s(literal 1/2 binary32) %360)))) %140))
(approx %367 %368)
(approx %367 (fma.f32 #s(literal -1 binary32) (/.f32 %19 %51) %368))
(approx %367 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %373 (*.f32 #s(literal 1/2 binary32) (/.f32 %184 %232))) %368))
(approx %367 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %373 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %194 %237) (*.f32 #s(literal 1/2 binary32) (/.f32 %183 %232))))) %368))
(approx %126 (fma.f32 #s(literal -1 binary32) (/.f32 %32 %195) %124))
(approx %126 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %390 (*.f32 #s(literal 1/2 binary32) (/.f32 %212 %221))) %124))
(approx %126 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %390 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %219 %244) (*.f32 #s(literal 1/2 binary32) (/.f32 %224 %221))))) %124))
(approx %404 %405)
(approx %404 (fma.f32 #s(literal -1 binary32) %407 %405))
(approx %404 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %410 (*.f32 #s(literal 1/2 binary32) %411)) %405))
(approx %404 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %410 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) %416 (*.f32 #s(literal 1/2 binary32) %417)))) %405))
(approx %129 (fma.f32 #s(literal -2 binary32) %350 %141))
(approx %129 (fma.f32 #s(literal 2 binary32) %140 (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i %427)) %430))))
(approx %129 (fma.f32 #s(literal 2 binary32) %140 (*.f32 sinTheta_i (-.f32 (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %435 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %427) v) (*.f32 #s(literal 1/3 binary32) %435))))) %427)) %430))))
(approx %135 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %236 (*.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_i %450))) %52))
(approx %135 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %236 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %456 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %450) v) (*.f32 #s(literal 1/3 binary32) %456)))) (*.f32 #s(literal -1/2 binary32) %450)))) %52))
(approx %469 (/.f32 #s(literal 1/2 binary32) v))
(approx %469 (fma.f32 #s(literal -1/2 binary32) %332 %472))
(approx %469 (fma.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %335 (*.f32 #s(literal 1/4 binary32) %336)) %472))
(approx %469 (fma.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %335 (*.f32 sinTheta_i (fma.f32 #s(literal -1/12 binary32) %341 (*.f32 #s(literal 1/4 binary32) %342)))) %472))
(approx %487 (/.f32 #s(literal 2 binary32) %50))
(approx %487 (fma.f32 #s(literal -2 binary32) %407 %490))
(approx %487 (fma.f32 sinTheta_i (fma.f32 #s(literal -2 binary32) %410 %411) %490))
(approx %487 (fma.f32 sinTheta_i (fma.f32 #s(literal -2 binary32) %410 (*.f32 sinTheta_i (fma.f32 #s(literal -1/3 binary32) %416 %417))) %490))
(approx %146 %502)
(approx %146 (+.f32 (/.f32 (*.f32 sinTheta_O %504) %7) %502))
(approx %146 (fma.f32 sinTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %183 %509) %7) %513) %502))
(approx %146 (fma.f32 sinTheta_i (fma.f32 sinTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %193 %509) %519) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %183 %50) %7))) %513) %502))
(approx %17 %22)
(approx %532 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %182 %533)))
(approx %74 (*.f32 #s(literal -1/2 binary32) %61))
(approx %74 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %295 (*.f32 #s(literal 1/2 binary32) %539))))
(approx %82 (*.f32 #s(literal -1/2 binary32) %205))
(approx %82 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %210 (*.f32 #s(literal 1/2 binary32) %547))))
(approx %97 %101)
(approx %88 %90)
(approx %330 %554)
(approx %367 (/.f32 %101 %119))
(approx %404 %558)
(approx %469 (*.f32 #s(literal 1/2 binary32) %554))
(approx %487 (*.f32 #s(literal 2 binary32) %558))
(approx %532 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 %182 %533))))
(approx %74 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %539 (*.f32 #s(literal 1/2 binary32) %295)))))
(approx %82 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %547 (*.f32 #s(literal 1/2 binary32) %210)))))
(approx sinTheta_O sinTheta_O)
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %579 (*.f32 #s(literal 1/2 binary32) %582)))))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %579 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) %590 %592))))))
(approx %18 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %601 (*.f32 #s(literal 1/2 binary32) (/.f32 %603 %195))) %11))
(approx %18 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %601 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %610 %221) %615))) %11))
(approx %95 %182)
(approx %57 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %622 (*.f32 #s(literal 1/2 binary32) (/.f32 %603 %237))) %52))
(approx %57 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %622 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %610 %245) (*.f32 #s(literal 1/2 binary32) %629)))) %52))
(approx %88 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) %582 %579))))
(approx %88 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O (fma.f32 sinTheta_O (fma.f32 #s(literal 1/6 binary32) %590 %592) %579))))
(approx %89 (fma.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %645)) %601) %11))
(approx %89 (fma.f32 sinTheta_O (-.f32 (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_i %645) v) (fma.f32 #s(literal -1/2 binary32) %655 (*.f32 #s(literal 1/6 binary32) %655))))) %645)) %601) %11))
(approx %98 (fma.f32 cosTheta_O cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %666 (*.f32 #s(literal 1/2 binary32) (/.f32 %603 %45))))))
(approx %98 (fma.f32 cosTheta_O cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %666 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %610 %195) (*.f32 #s(literal 1/2 binary32) (/.f32 %613 %45))))))))
(approx %105 (+.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %682 (*.f32 #s(literal 1/2 binary32) (/.f32 %602 %45))))))
(approx %105 (+.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %682 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %609 %195) (*.f32 #s(literal 1/2 binary32) (/.f32 %612 %45))))))))
(approx %330 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %698 (*.f32 #s(literal 1/2 binary32) %699)) %47))
(approx %330 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %698 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) %704 (*.f32 #s(literal 1/2 binary32) %705)))) %47))
(approx %118 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %712 (*.f32 #s(literal 1/2 binary32) (/.f32 %603 %232))) %140))
(approx %118 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %712 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %610 %237) (*.f32 #s(literal 1/2 binary32) %719)))) %140))
(approx %367 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %726 (*.f32 #s(literal 1/2 binary32) (/.f32 %581 %232))) %368))
(approx %367 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %726 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %589 %237) (*.f32 #s(literal 1/2 binary32) (/.f32 %580 %232))))) %368))
(approx %126 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %740 (*.f32 #s(literal 1/2 binary32) (/.f32 %603 %221))) %124))
(approx %126 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %740 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %610 %244) (*.f32 #s(literal 1/2 binary32) (/.f32 %613 %221))))) %124))
(approx %404 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %754 (*.f32 #s(literal 1/2 binary32) %755)) %405))
(approx %404 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %754 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) %760 (*.f32 #s(literal 1/2 binary32) %761)))) %405))
(approx %129 (fma.f32 #s(literal 2 binary32) %140 (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %768)) %771))))
(approx %129 (fma.f32 #s(literal 2 binary32) %140 (*.f32 sinTheta_O (-.f32 (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %776 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_i %768) v) (*.f32 #s(literal 1/3 binary32) %776))))) %768)) %771))))
(approx %135 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %622 (*.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_O %790))) %52))
(approx %135 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %622 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %796 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_i %790) v) (*.f32 #s(literal 1/3 binary32) %796)))) (*.f32 #s(literal -1/2 binary32) %790)))) %52))
(approx %469 (fma.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %698 (*.f32 #s(literal 1/4 binary32) %699)) %472))
(approx %469 (fma.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %698 (*.f32 sinTheta_O (fma.f32 #s(literal -1/12 binary32) %704 (*.f32 #s(literal 1/4 binary32) %705)))) %472))
(approx %487 (fma.f32 sinTheta_O (fma.f32 #s(literal -2 binary32) %754 %755) %490))
(approx %487 (fma.f32 sinTheta_O (fma.f32 #s(literal -2 binary32) %754 (*.f32 sinTheta_O (fma.f32 #s(literal -1/3 binary32) %760 %761))) %490))
(approx %146 (fma.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 sinTheta_O %827) %7) %830) %502))
(approx %146 (fma.f32 sinTheta_O (fma.f32 sinTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %588 %50)) %519) (*.f32 #s(literal 1/2 binary32) (/.f32 %827 %7))) %830) %502))
(approx %532 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %579 %843)))
(approx %74 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %666 (*.f32 #s(literal 1/2 binary32) %847))))
(approx %82 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %601 (*.f32 #s(literal 1/2 binary32) %853))))
(approx %532 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 %579 %843))))
(approx %74 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %847 (*.f32 #s(literal 1/2 binary32) %666)))))
(approx %82 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %853 (*.f32 #s(literal 1/2 binary32) %601)))))
(approx v v)
(approx %54 (*.f32 #s(literal 1/2 binary32) %50))
(approx %55 %50)
(approx %56 %119)
(approx %36 %45)
(approx %39 %48)
(approx %40 %49)
(approx %42 %51)
(approx %532 (/.f32 (+.f32 v (*.f32 #s(literal -1 binary32) %19)) v))
(approx %74 (/.f32 %886 v))
(approx %82 (/.f32 %886 %45))
(approx %111 (*.f32 #s(literal 2 binary32) v))
(approx %17 %897)
(approx %17 %903)
(approx %18 (/.f32 %293 v))
(approx %18 (/.f32 %911 v))
(approx %18 (/.f32 %918 v))
(approx %54 (/.f32 %923 v))
(approx %54 (/.f32 (+.f32 #s(literal 1 binary32) (+.f32 %927 %922)) v))
(approx %54 (/.f32 (+.f32 #s(literal 1 binary32) (+.f32 %927 (fma.f32 #s(literal 1/6 binary32) %921 (*.f32 #s(literal 1/5040 binary32) %935)))) v))
(approx %55 (/.f32 #s(literal 2 binary32) v))
(approx %55 (/.f32 %945 v))
(approx %55 (/.f32 %951 v))
(approx %55 (/.f32 %958 v))
(approx %56 #s(literal 2 binary32))
(approx %56 %945)
(approx %56 %951)
(approx %56 %958)
(approx %39 (+.f32 #s(literal 1 binary32) %47))
(approx %39 (+.f32 #s(literal 1 binary32) (+.f32 %967 %47)))
(approx %39 (+.f32 #s(literal 1 binary32) (+.f32 %967 %973)))
(approx %40 (-.f32 #s(literal 1 binary32) %47))
(approx %40 (-.f32 %979 %47))
(approx %40 (-.f32 %979 %973))
(approx %42 (*.f32 v %945))
(approx %42 (*.f32 v %951))
(approx %42 (*.f32 v %958))
(approx %43 (/.f32 %990 v))
(approx %43 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %996 %221) %70) %1000) v))
(approx %43 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %996 (fma.f32 #s(literal -1/1440 binary32) %7 (*.f32 #s(literal 1/10080 binary32) %7))) %934) %70) (fma.f32 #s(literal -1/72 binary32) %1011 (fma.f32 #s(literal 1/240 binary32) %1011 %1000))) v))
(approx %57 (/.f32 %254 v))
(approx %57 (/.f32 %1025 v))
(approx %57 (/.f32 %1034 v))
(approx %88 (+.f32 #s(literal 1 binary32) %1037))
(approx %88 (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal 1/6 binary32) %900 %1037)))
(approx %89 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %1043 %45) %7) %61) v))
(approx %89 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1050 (fma.f32 #s(literal -1/2 binary32) %915 (*.f32 #s(literal 1/6 binary32) %915))) %195) %7) (fma.f32 #s(literal -1 binary32) %909 (fma.f32 #s(literal 1/2 binary32) %909 %61))) v))
(approx %98 %911)
(approx %98 %918)
(approx %105 (+.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %158 %1064)))
(approx %105 (+.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %158 (fma.f32 #s(literal -1/6 binary32) (/.f32 %914 %195) %1064))))
(approx %330 (/.f32 %180 v))
(approx %330 (/.f32 %897 v))
(approx %330 (/.f32 %903 v))
(approx %1079 (*.f32 v (-.f32 #s(literal 1 binary32) %922)))
(approx %1079 (*.f32 v (-.f32 %1085 %922)))
(approx %1079 (*.f32 v (-.f32 %1085 %1091)))
(approx %114 (/.f32 %1099 v))
(approx %114 (/.f32 (fma.f32 #s(literal -1/2 binary32) %1106 %1099) v))
(approx %118 %1025)
(approx %118 %1034)
(approx %367 #s(literal 1/2 binary32))
(approx %367 %1114)
(approx %367 %1121)
(approx %367 %1129)
(approx %126 (/.f32 %293 %45))
(approx %126 (/.f32 %911 %45))
(approx %126 (/.f32 %918 %45))
(approx %404 (*.f32 #s(literal 1/2 binary32) v))
(approx %404 (*.f32 v %1114))
(approx %404 (*.f32 v %1121))
(approx %404 (*.f32 v %1129))
(approx %129 (-.f32 (fma.f32 #s(literal -1 binary32) %1149 %7) %61))
(approx %129 (-.f32 (fma.f32 #s(literal -1 binary32) %1165 %7) (fma.f32 #s(literal -1 binary32) %909 (+.f32 %61 (/.f32 %1147 %45)))))
(approx %135 (/.f32 (fma.f32 #s(literal -1/2 binary32) %61 %1172) v))
(approx %135 (/.f32 (fma.f32 #s(literal -1/2 binary32) %61 (fma.f32 #s(literal -1/2 binary32) %1165 %1172)) v))
(approx %139 (fma.f32 #s(literal -1/6 binary32) %124 %7))
(approx %139 (-.f32 (fma.f32 #s(literal -1 binary32) %1098 %7) %1183))
(approx %139 (-.f32 (fma.f32 #s(literal -1 binary32) %1106 %7) (fma.f32 #s(literal -1/36 binary32) %1011 (fma.f32 #s(literal 1/120 binary32) %1011 %1183))))
(approx %469 (/.f32 %1114 v))
(approx %469 (/.f32 (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal -1/2 binary32) %20 %1193)) v))
(approx %469 (/.f32 (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal -1/2 binary32) %20 (fma.f32 #s(literal -1/12 binary32) %900 %1193))) v))
(approx %487 (*.f32 v %180))
(approx %487 (*.f32 v (-.f32 %897 %1205)))
(approx %487 (*.f32 v (-.f32 %903 (fma.f32 #s(literal -1/6 binary32) (/.f32 %19 %195) %1205))))
(approx %146 (*.f32 #s(literal 2 binary32) (/.f32 v %7)))
(approx %146 (*.f32 v (fma.f32 #s(literal 2 binary32) %1217 %1219)))
(approx %146 (*.f32 v (fma.f32 #s(literal 2 binary32) %1217 %1227)))
(approx %146 (*.f32 v (fma.f32 #s(literal 2 binary32) %1217 (fma.f32 #s(literal 2 binary32) (/.f32 %1234 %195) %1227))))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %1240 %19) v))))
(approx %17 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %1246 %1116) v) %19) v))))
(approx %18 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 %61) v)))
(approx %18 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %32 (*.f32 #s(literal 1/2 binary32) %1258)) v))) v)))
(approx %18 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %908 (*.f32 #s(literal 1/6 binary32) %1267)) v))) v))) v)))
(approx %54 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/6 binary32) (*.f32 #s(literal 1/120 binary32) %921)) %45)) #s(literal 1 binary32)) v)))
(approx %54 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/120 binary32) (*.f32 #s(literal 1/5040 binary32) %921)) %221)) %923) v)))
(approx %55 (*.f32 #s(literal -1 binary32) (/.f32 %1299 v)))
(approx %55 (*.f32 #s(literal -1 binary32) (/.f32 %1307 v)))
(approx %39 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/2 binary32) %1311) v)) #s(literal 1 binary32)) v))))
(approx %40 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 #s(literal 1 binary32) %472) v))))
(approx %40 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 #s(literal 1/2 binary32) %1311) v))) v))))
(approx %42 (*.f32 #s(literal -1 binary32) (*.f32 v %1299)))
(approx %42 (*.f32 #s(literal -1 binary32) (*.f32 v %1307)))
(approx %43 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %7 %1000) v)))
(approx %43 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %1346 %221) %1348) (*.f32 #s(literal -1/12 binary32) %124)) v)))
(approx %43 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %1346 (fma.f32 #s(literal -1/10080 binary32) %7 (*.f32 #s(literal 1/1440 binary32) %7))) %934) %1348) (fma.f32 #s(literal -1/12 binary32) %124 (fma.f32 #s(literal -1/240 binary32) %1011 (*.f32 #s(literal 1/72 binary32) %1011)))) v)))
(approx %57 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %7 (*.f32 #s(literal 1/2 binary32) %61)) v)))
(approx %57 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %32 (*.f32 #s(literal -1/2 binary32) %1377)) v) %1348) v)))
(approx %57 (*.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/2 binary32) %1385 (*.f32 #s(literal 1/2 binary32) %1376)) v) %1389) v) %1348) v)))
(approx %88 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %19 (*.f32 #s(literal -1/2 binary32) %1240)) v))))
(approx %88 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %19 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) %1246 %1116) v))) v))))
(approx %89 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %32 (*.f32 #s(literal -1 binary32) (/.f32 %1043 v))) v))) v)))
(approx %89 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %908 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %915 (fma.f32 #s(literal 1/2 binary32) %915 %1050)) v) %1019)) v))) v))) v)))
(approx %98 %1435)
(approx %98 %1441)
(approx %105 (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %907 v) %29) v))))
(approx %105 (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 %914 v) (*.f32 #s(literal 1/2 binary32) %907)) v) %29) v))))
(approx %330 (*.f32 #s(literal -1 binary32) (/.f32 %1458 v)))
(approx %330 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %19 (*.f32 #s(literal 1/2 binary32) %1240)) v)) #s(literal 1 binary32)) v)))
(approx %330 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %19 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %893 (*.f32 #s(literal 1/6 binary32) %1246)) v))) v)) #s(literal 1 binary32)) v)))
(approx %1079 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %922 #s(literal 1 binary32)))))
(approx %1079 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %922 %1085))))
(approx %1079 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %1091 %1085))))
(approx %114 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %7 %1498) v)))
(approx %114 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %1496 (fma.f32 #s(literal -1/5040 binary32) %7 (*.f32 #s(literal 1/720 binary32) %7))) %934) %1498)) v)))
(approx %118 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) %32 (*.f32 #s(literal 1/2 binary32) %1377)) v) %70))
(approx %118 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %1376 (*.f32 #s(literal 1/2 binary32) %1385)) v) (*.f32 #s(literal 1/2 binary32) %32)) v) %70))
(approx %367 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) %19 (*.f32 #s(literal 1/2 binary32) %1529)) v))))
(approx %367 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %1528 (*.f32 #s(literal 1/2 binary32) %1536)) v) (*.f32 #s(literal 1/2 binary32) %19)) v))))
(approx %126 (/.f32 %1435 %45))
(approx %126 (/.f32 %1441 %45))
(approx %404 (*.f32 #s(literal -1 binary32) (*.f32 v %1551)))
(approx %404 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %19 (*.f32 #s(literal -1/2 binary32) %1529)) v)) #s(literal 1/2 binary32)))))
(approx %404 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %1536 (*.f32 #s(literal 1/2 binary32) %1528)) v) %1566) v)) #s(literal 1/2 binary32)))))
(approx %129 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1578 %32) v) %7))
(approx %129 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1590 %1577) v) %32) v) %7))
(approx %135 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %32 (*.f32 #s(literal 1/2 binary32) %1578)) v) %1348) v)))
(approx %135 (*.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/2 binary32) %1577 (*.f32 #s(literal 1/2 binary32) %1590)) v) %1389) v) %1348) v)))
(approx %139 (fma.f32 #s(literal -1/6 binary32) %124 (fma.f32 #s(literal -1/120 binary32) %1011 %1613)))
(approx %139 (fma.f32 #s(literal -1/6 binary32) %124 (fma.f32 #s(literal -1/6 binary32) (/.f32 %1496 %934) (fma.f32 #s(literal -1/120 binary32) %1011 (fma.f32 #s(literal -1/5040 binary32) %1618 (fma.f32 #s(literal 1/720 binary32) %1618 %1613))))))
(approx %469 (*.f32 #s(literal -1 binary32) (/.f32 %1551 v)))
(approx %469 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %19 (*.f32 #s(literal 1/4 binary32) %1240)) v)) #s(literal 1/2 binary32)) v)))
(approx %469 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) %893 (*.f32 #s(literal 1/12 binary32) %1246)) v) %1566) v)) #s(literal 1/2 binary32)) v)))
(approx %487 (*.f32 #s(literal -1 binary32) (*.f32 v %1458)))
(approx %487 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %19 (*.f32 #s(literal -1 binary32) %1529)) v)) #s(literal 1 binary32)))))
(approx %487 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %19 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/6 binary32) (fma.f32 #s(literal -1 binary32) %1536 %1527)) v))) v)) #s(literal 1 binary32)))))
(approx %146 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -2 binary32) %1217) %1219))))
(approx %146 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) (/.f32 %1675 v) %1677) v)) %1219))))
(approx %146 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) (/.f32 %1234 v) (*.f32 #s(literal 2 binary32) %1675)) v) %1677) v)) %1219))))
Calls

15 calls:

TimeVariablePoint
154.0ms
cosTheta_O
0
53.0ms
sinTheta_O
inf
36.0ms
v
inf
33.0ms
sinTheta_i
inf
32.0ms
sinTheta_i
0

rewrite1.7s (4.0%)

Counts
103 → 1 074
Calls
Call 1
Inputs
%2 = (*.f32 sinTheta_i sinTheta_O)
%4 = (/.f32 %2 v)
%5 = (neg.f32 %4)
%6 = (exp.f32 %5)
%9 = (*.f32 cosTheta_i cosTheta_O)
%10 = (/.f32 %9 v)
%11 = (*.f32 %6 %10)
%13 = (/.f32 #s(literal 1 binary32) v)
%14 = (sinh.f32 %13)
%16 = (*.f32 %14 #s(literal 2 binary32))
%17 = (*.f32 %16 v)
%18 = (*.f32 cosTheta_O cosTheta_i)
%19 = (/.f32 %18 v)
%20 = (*.f32 sinTheta_O sinTheta_i)
%21 = (/.f32 %20 v)
%22 = (pow.f32 v #s(literal 2 binary32))
%23 = (exp.f32 %13)
%24 = (/.f32 #s(literal 1 binary32) %23)
%25 = (-.f32 %23 %24)
%26 = (*.f32 %22 %25)
%28 = (*.f32 #s(literal -1 binary32) %21)
%32 = (exp (neg (/ (* sinTheta_i sinTheta_O) v)))
%33 = (approx %32 #s(literal 1 binary32))
%34 = (+.f32 #s(literal 1 binary32) %28)
%35 = (approx %32 %34)
%36 = (/.f32 sinTheta_O v)
%38 = (*.f32 cosTheta_i %20)
%39 = (*.f32 cosTheta_O %38)
%40 = (/.f32 %18 %26)
%50 = (/ (* %32 (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v))
%52 = (/.f32 %39 v)
%53 = (*.f32 #s(literal 1/2 binary32) %19)
%56 = (*.f32 #s(literal 1/2 binary32) %18)
%57 = (fma.f32 #s(literal -1/2 binary32) %52 %56)
%58 = (/.f32 %57 v)
%60 = (neg.f32 sinTheta_i)
%61 = (*.f32 %60 %36)
%62 = (exp.f32 %61)
%63 = (exp.f32 %4)
%64 = (/.f32 cosTheta_O v)
%65 = (/.f32 cosTheta_i v)
%66 = (*.f32 cosTheta_O %65)
%67 = (*.f32 cosTheta_i %13)
%68 = (*.f32 cosTheta_O %67)
%69 = (/.f32 %10 %63)
%70 = (*.f32 %62 %9)
%71 = (*.f32 %62 cosTheta_i)
%72 = (*.f32 %71 %64)
%73 = (*.f32 %13 %62)
%74 = (*.f32 %9 %73)
%75 = (/.f32 #s(literal 2 binary32) %16)
%76 = (/.f32 #s(literal 1 binary32) %75)
%77 = (+.f32 v v)
%78 = (*.f32 %14 %77)
%79 = (*.f32 v %78)
%80 = (/.f32 %9 %79)
%82 = (/.f32 %70 %78)
%84 = (/.f32 %62 %78)
%86 = (*.f32 v v)
%87 = (/.f32 %9 %86)
%88 = (*.f32 %62 %87)
%90 = (/.f32 %62 %16)
%92 = (/.f32 %69 %14)
%94 = (/.f32 %10 %14)
%95 = (/.f32 %62 %77)
%97 = (/.f32 %62 %14)
%98 = (/.f32 %10 %77)
%100 = (*.f32 %90 %10)
%102 = (/.f32 %78 %69)
%104 = (*.f32 %35 %10)
%106 = (*.f32 %33 %10)
%110 = (*.f32 %6 %66)
%112 = (*.f32 %6 %68)
%114 = (*.f32 %76 #s(literal 2 binary32))
%115 = (*.f32 %114 v)
sinTheta_i
sinTheta_O
%2
v
%4
%5
%6
cosTheta_i
cosTheta_O
%9
%10
%11
#s(literal 1 binary32)
%13
%14
#s(literal 2 binary32)
%16
%17
%18
%19
%20
%21
%22
%23
%24
%25
%26
#s(literal -1 binary32)
%28
%33
%34
%35
%36
#s(literal 1/2 binary32)
%38
%39
%40
(approx %50 %40)
%52
%53
(approx %50 %53)
#s(literal -1/2 binary32)
%56
%57
%58
(approx %50 %58)
%60
%61
%62
%63
%64
%65
%66
%67
%68
%69
%70
%71
%72
%73
%74
%75
%76
%77
%78
%79
%80
(*.f32 %62 %80)
%82
(/.f32 %82 v)
%84
(*.f32 %10 %84)
%86
%87
%88
(/.f32 %88 %16)
%90
(*.f32 %90 %87)
%92
(/.f32 %92 %77)
%94
%95
(*.f32 %94 %95)
%97
%98
(*.f32 %97 %98)
%100
(/.f32 %100 v)
%102
(/.f32 #s(literal 1 binary32) %102)
%104
(/.f32 %104 %17)
%106
(/.f32 %106 %17)
(/.f32 %72 %17)
(/.f32 %74 %17)
%110
(/.f32 %110 %17)
%112
(/.f32 %112 %17)
%114
%115
(/.f32 %11 %115)
Outputs
%2 = (*.f32 sinTheta_i sinTheta_O)
%3 = (*.f32 sinTheta_O sinTheta_i)
%5 = (/.f32 %2 v)
%6 = (/.f32 sinTheta_O v)
%7 = (*.f32 sinTheta_i %6)
%9 = (*.f32 sinTheta_O (/.f32 sinTheta_i v))
%10 = (neg.f32 %2)
%11 = (neg.f32 v)
%12 = (/.f32 %10 %11)
%14 = (/.f32 #s(literal 1 binary32) v)
%15 = (*.f32 %2 %14)
%17 = (/.f32 #s(literal 1 binary32) (/.f32 v %2))
%18 = (/.f32 %2 %11)
%19 = (neg.f32 sinTheta_i)
%21 = (/.f32 (*.f32 %19 sinTheta_O) v)
%22 = (/.f32 %10 v)
%23 = (*.f32 %6 %19)
%24 = (*.f32 %19 %6)
%25 = (neg.f32 %5)
%28 = (/.f32 (*.f32 #s(literal -1 binary32) %2) v)
%29 = (*.f32 %5 #s(literal -1 binary32))
%30 = (*.f32 #s(literal -1 binary32) %5)
%31 = (exp.f32 %24)
%32 = (fabs.f32 %31)
%33 = (exp.f32 %5)
%34 = (/.f32 #s(literal 1 binary32) %33)
%36 = (pow.f32 (exp.f32 %19) %6)
%37 = (cosh.f32 %5)
%38 = (sinh.f32 %5)
%39 = (-.f32 %37 %38)
%42 = (+.f32 (cosh.f32 %24) (sinh.f32 %24))
%45 = (*.f32 cosTheta_i cosTheta_O)
%46 = (*.f32 cosTheta_O cosTheta_i)
%47 = (/.f32 %45 v)
%48 = (/.f32 cosTheta_O v)
%49 = (*.f32 cosTheta_i %48)
%50 = (/.f32 cosTheta_i v)
%51 = (*.f32 cosTheta_O %50)
%52 = (*.f32 %50 cosTheta_O)
%53 = (neg.f32 %45)
%54 = (/.f32 %53 %11)
%55 = (*.f32 %45 %14)
%57 = (/.f32 #s(literal 1 binary32) (/.f32 v %45))
%59 = (/.f32 %45 (*.f32 v %33))
%60 = (/.f32 %47 %33)
%61 = (*.f32 %31 %45)
%62 = (/.f32 %61 v)
%63 = (*.f32 %31 %47)
%64 = (*.f32 %47 %31)
%65 = (*.f32 %31 cosTheta_i)
%66 = (*.f32 %48 %65)
%67 = (*.f32 %65 %48)
%69 = (*.f32 (*.f32 %31 cosTheta_O) %50)
%70 = (neg.f32 %47)
%72 = (/.f32 %70 (neg.f32 %33))
%73 = (*.f32 %14 %31)
%75 = (*.f32 cosTheta_i (*.f32 cosTheta_O %73))
%76 = (*.f32 %45 %73)
%77 = (*.f32 %73 %45)
%79 = (/.f32 #s(literal 1 binary32) (/.f32 %33 %47))
%92 = (sinh.f32 %14)
%93 = (exp.f32 %14)
%95 = (exp.f32 (neg.f32 %14))
%96 = (-.f32 %93 %95)
%101 = (*.f32 %92 #s(literal 2 binary32))
%103 = (+.f32 v v)
%104 = (*.f32 %92 %103)
%105 = (*.f32 %103 %92)
%106 = (*.f32 v %101)
%107 = (*.f32 %101 v)
%108 = (*.f32 v %92)
%109 = (fma.f32 v %92 %108)
%110 = (*.f32 %92 v)
%111 = (fma.f32 %92 v %110)
%112 = (+.f32 %110 %110)
%113 = (+.f32 %108 %108)
%114 = (*.f32 v v)
%115 = (*.f32 %11 %11)
%116 = (fabs.f32 v)
%117 = (*.f32 %116 %116)
%118 = (pow.f32 v #s(literal 2 binary32))
%136 = (*.f32 %114 %96)
%140 = (/ (* sinTheta_i sinTheta_O) v)
%142 = (exp (neg %140))
%143 = (approx %142 #s(literal 1 binary32))
%145 = (fma.f32 %19 %6 #s(literal 1 binary32))
%155 = (approx %142 %145)
%162 = (*.f32 cosTheta_i %2)
%166 = (*.f32 cosTheta_O %162)
%169 = (/.f32 %45 %136)
%172 = (/.f32 %45 %114)
%174 = (/.f32 cosTheta_O %114)
%193 = (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp %140)) (* (* (sinh (/ 1 v)) 2) v))
%195 = (/.f32 %166 v)
%203 = (*.f32 #s(literal 1/2 binary32) %45)
%206 = (*.f32 #s(literal 1/2 binary32) %47)
%211 = (*.f32 #s(literal 1/2 binary32) cosTheta_O)
%213 = (*.f32 %195 #s(literal -1/2 binary32))
%217 = (fma.f32 #s(literal -1/2 binary32) %195 %203)
%225 = (/.f32 %217 v)
%242 = (/.f32 (neg.f32 cosTheta_i) %11)
%244 = (/.f32 (*.f32 cosTheta_i #s(literal 1 binary32)) v)
%245 = (*.f32 cosTheta_i %14)
%246 = (*.f32 %14 cosTheta_i)
%248 = (/.f32 #s(literal 1 binary32) (/.f32 v cosTheta_i))
%255 = (/.f32 #s(literal 2 binary32) %101)
%259 = (neg.f32 %101)
%261 = (*.f32 #s(literal 1/2 binary32) %101)
%263 = (/.f32 #s(literal 1 binary32) %101)
%275 = (*.f32 v %104)
%278 = (/.f32 %45 %275)
%290 = (/.f32 %59 %104)
%291 = (/.f32 %61 %275)
%292 = (*.f32 %31 %278)
%293 = (*.f32 %278 %31)
%295 = (/.f32 %61 (*.f32 %101 %114))
%297 = (/.f32 %47 (*.f32 %33 %92))
%298 = (/.f32 %297 %103)
%299 = (/.f32 %61 %104)
%300 = (/.f32 %299 v)
%301 = (/.f32 %45 %108)
%303 = (/.f32 (*.f32 %301 %31) %103)
%305 = (/.f32 %45 (*.f32 v %103))
%307 = (/.f32 (*.f32 %31 %305) %92)
%308 = (/.f32 %31 %104)
%310 = (/.f32 (*.f32 %45 %308) v)
%311 = (*.f32 %47 %308)
%313 = (*.f32 %65 (/.f32 %48 %104))
%314 = (*.f32 %308 %47)
%315 = (/.f32 %31 %103)
%316 = (*.f32 %301 %315)
%317 = (*.f32 %315 %301)
%318 = (/.f32 %31 %92)
%319 = (*.f32 %318 %305)
%320 = (*.f32 %305 %318)
%321 = (*.f32 %31 %172)
%322 = (/.f32 %321 %101)
%323 = (/.f32 %31 %101)
%324 = (*.f32 %323 %45)
%325 = (/.f32 %324 %114)
%327 = (*.f32 %31 (/.f32 %172 %101))
%328 = (*.f32 %172 %323)
%329 = (*.f32 %323 %172)
%331 = (/.f32 (*.f32 %318 %47) %103)
%333 = (/.f32 (*.f32 %47 %315) %92)
%334 = (neg.f32 %59)
%335 = (neg.f32 %104)
%336 = (/.f32 %334 %335)
%338 = (/.f32 (/.f32 %321 %92) #s(literal 2 binary32))
%340 = (*.f32 %318 (/.f32 %172 #s(literal 2 binary32)))
%343 = (*.f32 (/.f32 %65 %101) (/.f32 %48 v))
%345 = (neg.f32 %103)
%346 = (/.f32 (neg.f32 %297) %345)
%348 = (/.f32 (neg.f32 %299) %11)
%349 = (/.f32 #s(literal 1 binary32) %104)
%350 = (*.f32 %59 %349)
%351 = (*.f32 #s(literal 1 binary32) %290)
%352 = (*.f32 %349 %59)
%354 = (/.f32 (neg.f32 %321) %259)
%356 = (*.f32 (/.f32 %104 %47) %33)
%357 = (/.f32 #s(literal 1 binary32) %356)
%358 = (/.f32 #s(literal 1 binary32) %103)
%359 = (*.f32 %297 %358)
%361 = (*.f32 %45 (/.f32 %73 %104))
%362 = (*.f32 %299 %14)
%363 = (*.f32 %321 %263)
%365 = (/.f32 #s(literal 1 binary32) (/.f32 %103 %297))
%367 = (/.f32 #s(literal 1 binary32) (/.f32 v %299))
%369 = (/.f32 #s(literal -1 binary32) (neg.f32 %356))
%371 = (/.f32 #s(literal 1 binary32) (/.f32 %101 %321))
%374 = (*.f32 (/.f32 %45 %101) (/.f32 %73 v))
%376 = (/.f32 #s(literal 1 binary32) (/.f32 %356 #s(literal 1 binary32)))
%377 = (pow.f32 %356 #s(literal -1 binary32))
%379 = (*.f32 %31 (/.f32 %45 %104))
%380 = (/.f32 %59 %101)
%382 = (/.f32 (/.f32 %61 %92) %103)
%384 = (*.f32 %318 (/.f32 %45 %103))
%385 = (/.f32 %324 v)
%386 = (*.f32 %47 %323)
%387 = (*.f32 %323 %47)
%389 = (/.f32 (neg.f32 %61) %335)
%390 = (*.f32 %61 %349)
%392 = (/.f32 #s(literal 1 binary32) (/.f32 %104 %61))
%394 = (neg.f32 %31)
%416 = (neg.f32 %92)
%418 = (/.f32 #s(literal 1 binary32) %92)
%447 = (*.f32 %155 %47)
%449 = (*.f32 %143 %47)
%452 = (*.f32 %261 #s(literal 2 binary32))
%454 = (*.f32 %261 %103)
sinTheta_i
sinTheta_O
%2
%3
v
%5
%7
%9
%12
%15
%17
%18
%21
%22
%23
%24
%25
%28
%29
%30
%31
%32
%34
%36
%39
%42
cosTheta_i
cosTheta_O
%45
%46
%47
%49
%51
%52
%54
%55
%57
%59
%60
%62
%63
%64
%66
%67
%69
%72
%75
%76
%77
%79
#s(literal 1 binary32)
(neg.f32 #s(literal -1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
%14
(/.f32 #s(literal -1 binary32) %11)
(*.f32 #s(literal 1 binary32) %14)
(/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 1 binary32)))
(pow.f32 v #s(literal -1 binary32))
%92
(/.f32 %96 #s(literal 2 binary32))
#s(literal 2 binary32)
(+.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 1 binary32))
%101
(*.f32 #s(literal 2 binary32) %92)
%104
%105
%106
%107
%109
%111
%112
%113
%45
%46
%47
%49
%51
%52
%54
%55
%57
%2
%3
%5
%7
%9
%12
%15
%17
%114
%115
%117
%118
%93
(fabs.f32 %93)
(+.f32 (cosh.f32 %14) %92)
%95
(/.f32 #s(literal 1 binary32) %93)
(*.f32 #s(literal 1 binary32) %95)
(/.f32 #s(literal -1 binary32) (neg.f32 %93))
(/.f32 #s(literal 1 binary32) (/.f32 %93 #s(literal 1 binary32)))
(pow.f32 %93 #s(literal -1 binary32))
%96
(+.f32 %93 (neg.f32 %95))
(neg.f32 (-.f32 %95 %93))
(/.f32 (-.f32 (*.f32 %93 %93) #s(literal 1 binary32)) %93)
%136
(*.f32 %96 %114)
#s(literal -1 binary32)
(neg.f32 #s(literal 1 binary32))
%18
%21
%22
%23
%24
%25
%28
%29
%30
%143
(fma.f32 %6 %19 #s(literal 1 binary32))
%145
(+.f32 %24 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) %24)
(-.f32 #s(literal 1 binary32) (neg.f32 %24))
(fma.f32 %5 #s(literal -1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal -1 binary32) %5 #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) (*.f32 #s(literal 1 binary32) %5))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %24)
%155
%6
(/.f32 (neg.f32 sinTheta_O) %11)
(*.f32 sinTheta_O %14)
(/.f32 #s(literal 1 binary32) (/.f32 v sinTheta_O))
#s(literal 1/2 binary32)
(/.f32 #s(literal 1 binary32) #s(literal 2 binary32))
%162
(*.f32 %2 cosTheta_i)
(*.f32 (*.f32 cosTheta_i sinTheta_O) sinTheta_i)
%166
(*.f32 %45 %2)
(*.f32 %162 cosTheta_O)
%169
(*.f32 cosTheta_O (/.f32 cosTheta_i %136))
(/.f32 %172 %96)
(*.f32 %174 (/.f32 cosTheta_i %96))
(/.f32 %53 (neg.f32 %136))
(*.f32 %45 (/.f32 #s(literal 1 binary32) %136))
(/.f32 #s(literal 1 binary32) (/.f32 %136 %45))
(approx %193 %169)
%195
(*.f32 cosTheta_O (/.f32 %162 v))
(/.f32 (neg.f32 %166) %11)
(*.f32 %166 %14)
(/.f32 #s(literal 1 binary32) (/.f32 v %166))
(/.f32 %203 v)
(*.f32 %47 #s(literal 1/2 binary32))
%206
(approx %193 %206)
#s(literal -1/2 binary32)
(neg.f32 #s(literal 1/2 binary32))
(*.f32 %45 #s(literal 1/2 binary32))
%203
(*.f32 %211 cosTheta_i)
(fma.f32 %45 #s(literal 1/2 binary32) %213)
(fma.f32 #s(literal 1/2 binary32) %45 %213)
(fma.f32 %195 #s(literal -1/2 binary32) %203)
%217
(fma.f32 %211 cosTheta_i %213)
(+.f32 %203 %213)
(+.f32 %213 %203)
(-.f32 %213 (*.f32 #s(literal -1/2 binary32) %45))
(-.f32 %213 (neg.f32 %203))
%225
(/.f32 (neg.f32 %217) %11)
(*.f32 %217 %14)
(/.f32 #s(literal 1 binary32) (/.f32 v %217))
(+.f32 (/.f32 %213 v) %206)
(approx %193 %225)
%19
%18
%21
%22
%23
%24
%25
%28
%29
%30
%31
%32
%34
%36
%39
%42
%33
(fabs.f32 %33)
(+.f32 %37 %38)
%48
(/.f32 (neg.f32 cosTheta_O) %11)
(*.f32 cosTheta_O %14)
(/.f32 #s(literal 1 binary32) (/.f32 v cosTheta_O))
%50
%242
%244
%245
%246
%248
%47
%49
%51
%52
%54
%55
%57
%50
%242
%244
%245
%246
%248
%47
%49
%51
%52
%54
%55
%57
%59
%60
%62
%63
%64
%66
%67
%69
%72
%75
%76
%77
%79
%61
(*.f32 %45 %31)
(*.f32 %65 cosTheta_O)
(*.f32 cosTheta_i %31)
%65
%59
%60
%62
%63
%64
%66
%67
%69
%72
%75
%76
%77
%79
(/.f32 (*.f32 #s(literal 1 binary32) %31) v)
(*.f32 %31 %14)
%73
%59
%60
%62
%63
%64
%66
%67
%69
%72
%75
%76
%77
%79
%255
(/.f32 (/.f32 #s(literal 2 binary32) %92) #s(literal 2 binary32))
(/.f32 #s(literal -2 binary32) %259)
(/.f32 #s(literal 1 binary32) %261)
(*.f32 #s(literal 2 binary32) %263)
%261
(/.f32 %101 #s(literal 2 binary32))
(*.f32 #s(literal 1 binary32) %261)
(/.f32 #s(literal 1 binary32) %255)
(/.f32 #s(literal -1 binary32) (neg.f32 %255))
(/.f32 #s(literal 1 binary32) (/.f32 %255 #s(literal 1 binary32)))
(pow.f32 %255 #s(literal -1 binary32))
%103
(*.f32 #s(literal 2 binary32) v)
(-.f32 v %11)
%104
%105
%106
%107
%109
%111
%112
%113
%275
(*.f32 %104 v)
(*.f32 %108 %103)
%278
(*.f32 cosTheta_i (/.f32 cosTheta_O %275))
(/.f32 %47 %104)
(*.f32 %50 (/.f32 cosTheta_O %104))
(/.f32 %53 (neg.f32 %275))
(*.f32 %45 (/.f32 #s(literal 1 binary32) %275))
(/.f32 #s(literal 1 binary32) (/.f32 %275 %45))
%290
%291
%292
%293
%295
%298
%300
%303
%307
%310
%311
%313
%314
%316
%317
%319
%320
%322
%325
%327
%328
%329
%331
%333
%336
%338
%340
%343
%346
%348
%350
%351
%352
%354
%357
%359
%361
%362
%363
%365
%367
%369
%371
%374
%376
%377
%299
%379
%380
%382
%384
%385
%386
%387
%389
%390
%392
%290
%291
%292
%293
%295
%298
%300
%303
%307
%310
%311
%313
%314
%316
%317
%319
%320
%322
%325
%327
%328
%329
%331
%333
%336
%338
%340
%343
%346
%348
%350
%351
%352
%354
%357
%359
%361
%362
%363
%365
%367
%369
%371
%374
%376
%377
%308
(/.f32 %318 %103)
(/.f32 %394 %335)
(*.f32 %31 %349)
(/.f32 #s(literal 1 binary32) (/.f32 %104 %31))
%290
%291
%292
%293
%295
%298
%300
%303
%307
%310
%311
%313
%314
%316
%317
%319
%320
%322
%325
%327
%328
%329
%331
%333
%336
%338
%340
%343
%346
%348
%350
%351
%352
%354
%357
%359
%361
%362
%363
%365
%367
%369
%371
%374
%376
%377
%114
%115
%117
%118
%172
(*.f32 cosTheta_i %174)
(/.f32 %47 v)
(*.f32 %50 %48)
(/.f32 %53 (neg.f32 %114))
(*.f32 %45 (/.f32 #s(literal 1 binary32) %114))
(/.f32 #s(literal 1 binary32) (/.f32 %114 %45))
(/.f32 %61 %114)
%321
(*.f32 %172 %31)
%290
%291
%292
%293
%295
%298
%300
%303
%307
%310
%311
%313
%314
%316
%317
%319
%320
%322
%325
%327
%328
%329
%331
%333
%336
%338
%340
%343
%346
%348
%350
%351
%352
%354
%357
%359
%361
%362
%363
%365
%367
%369
%371
%374
%376
%377
%323
(/.f32 %318 #s(literal 2 binary32))
(/.f32 %394 %259)
(*.f32 %31 %263)
(/.f32 #s(literal 1 binary32) (/.f32 %101 %31))
%290
%291
%292
%293
%295
%298
%300
%303
%307
%310
%311
%313
%314
%316
%317
%319
%320
%322
%325
%327
%328
%329
%331
%333
%336
%338
%340
%343
%346
%348
%350
%351
%352
%354
%357
%359
%361
%362
%363
%365
%367
%369
%371
%374
%376
%377
%297
(/.f32 %59 %92)
(/.f32 %334 %416)
(*.f32 %59 %418)
(/.f32 #s(literal 1 binary32) (/.f32 %92 %59))
%290
%291
%292
%293
%295
%298
%300
%303
%307
%310
%311
%313
%314
%316
%317
%319
%320
%322
%325
%327
%328
%329
%331
%333
%336
%338
%340
%343
%346
%348
%350
%351
%352
%354
%357
%359
%361
%362
%363
%365
%367
%369
%371
%374
%376
%377
%301
(/.f32 %47 %92)
(/.f32 %70 %416)
(*.f32 %47 %418)
(/.f32 #s(literal 1 binary32) (/.f32 %92 %47))
%315
(/.f32 %394 %345)
(*.f32 %31 %358)
(/.f32 #s(literal 1 binary32) (/.f32 %103 %31))
%290
%291
%292
%293
%295
%298
%300
%303
%307
%310
%311
%313
%314
%316
%317
%319
%320
%322
%325
%327
%328
%329
%331
%333
%336
%338
%340
%343
%346
%348
%350
%351
%352
%354
%357
%359
%361
%362
%363
%365
%367
%369
%371
%374
%376
%377
%318
(/.f32 %394 %416)
(*.f32 %31 %418)
(/.f32 #s(literal 1 binary32) (/.f32 %92 %31))
%305
(/.f32 %47 %103)
(/.f32 %70 %345)
(*.f32 %47 %358)
(/.f32 #s(literal 1 binary32) (/.f32 %103 %47))
%290
%291
%292
%293
%295
%298
%300
%303
%307
%310
%311
%313
%314
%316
%317
%319
%320
%322
%325
%327
%328
%329
%331
%333
%336
%338
%340
%343
%346
%348
%350
%351
%352
%354
%357
%359
%361
%362
%363
%365
%367
%369
%371
%374
%376
%377
%299
%379
%380
%382
%384
%385
%386
%387
%389
%390
%392
%290
%291
%292
%293
%295
%298
%300
%303
%307
%310
%311
%313
%314
%316
%317
%319
%320
%322
%325
%327
%328
%329
%331
%333
%336
%338
%340
%343
%346
%348
%350
%351
%352
%354
%357
%359
%361
%362
%363
%365
%367
%369
%371
%374
%376
%377
(/.f32 %104 %59)
(*.f32 %92 (/.f32 %103 %59))
%356
(/.f32 %335 %334)
(*.f32 %104 (/.f32 #s(literal 1 binary32) %59))
(/.f32 #s(literal 1 binary32) %290)
%290
%291
%292
%293
%295
%298
%300
%303
%307
%310
%311
%313
%314
%316
%317
%319
%320
%322
%325
%327
%328
%329
%331
%333
%336
%338
%340
%343
%346
%348
%350
%351
%352
%354
%357
%359
%361
%362
%363
%365
%367
%369
%371
%374
%376
%377
%447
(/.f32 %447 %104)
%449
(/.f32 %449 %104)
%290
%291
%292
%293
%295
%298
%300
%303
%307
%310
%311
%313
%314
%316
%317
%319
%320
%322
%325
%327
%328
%329
%331
%333
%336
%338
%340
%343
%346
%348
%350
%351
%352
%354
%357
%359
%361
%362
%363
%365
%367
%369
%371
%374
%376
%377
%290
%291
%292
%293
%295
%298
%300
%303
%307
%310
%311
%313
%314
%316
%317
%319
%320
%322
%325
%327
%328
%329
%331
%333
%336
%338
%340
%343
%346
%348
%350
%351
%352
%354
%357
%359
%361
%362
%363
%365
%367
%369
%371
%374
%376
%377
%59
%60
%62
%63
%64
%66
%67
%69
%72
%75
%76
%77
%79
%290
%291
%292
%293
%295
%298
%300
%303
%307
%310
%311
%313
%314
%316
%317
%319
%320
%322
%325
%327
%328
%329
%331
%333
%336
%338
%340
%343
%346
%348
%350
%351
%352
%354
%357
%359
%361
%362
%363
%365
%367
%369
%371
%374
%376
%377
%59
%60
%62
%63
%64
%66
%67
%69
%72
%75
%76
%77
%79
%290
%291
%292
%293
%295
%298
%300
%303
%307
%310
%311
%313
%314
%316
%317
%319
%320
%322
%325
%327
%328
%329
%331
%333
%336
%338
%340
%343
%346
%348
%350
%351
%352
%354
%357
%359
%361
%362
%363
%365
%367
%369
%371
%374
%376
%377
(*.f32 #s(literal 2 binary32) %261)
%452
(/.f32 #s(literal 2 binary32) %255)
%454
(*.f32 v %452)
(*.f32 %452 v)
(/.f32 %59 %454)
(*.f32 %31 (/.f32 %47 %454))
(/.f32 (/.f32 %59 %452) v)
(*.f32 (/.f32 %31 %452) %172)
(/.f32 %334 (neg.f32 %454))
(*.f32 %59 (/.f32 #s(literal 1 binary32) %454))
(/.f32 #s(literal 1 binary32) (/.f32 %454 %59))

reconstruct571.0ms (1.3%)

Counts
1 381 → 827
Compiler

Compiled 1 381 to 1 746 computations (-26.4% saved)

eval309.0ms (0.7%)

Compiler

Compiled 768 to 2 309 computations (-200.7% saved)

prune86.0ms (0.2%)

Pruning

45 alts after pruning (45 fresh and 0 done)

PrunedKeptTotal
New72345768
Fresh000
Picked20020
Done000
Total74345788
Accuracy
99.6%
Counts
788 → 45
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.0%
(/.f32 (/.f32 (/.f32 (/.f32 #s(literal 1 binary32) (/.f32 v (*.f32 cosTheta_i cosTheta_O))) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (+.f32 v v))
98.4%
(/.f32 (/.f32 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i v)) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (+.f32 v v))
98.6%
(/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 v (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))
98.6%
%30 = (/.f32 #s(literal 1 binary32) v)
(/.f32 (*.f32 (*.f32 cosTheta_i cosTheta_O) (approx (* (/ 1 v) (exp (* (neg sinTheta_i) (/ sinTheta_O v)))) %30)) (*.f32 (*.f32 (sinh.f32 %30) #s(literal 2 binary32)) v))
98.6%
(/.f32 (*.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v v)))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))
98.6%
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (/.f32 #s(literal 1 binary32) (/.f32 v cosTheta_i)))) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
98.0%
%35 = (exp.f32 (/.f32 #s(literal 1 binary32) v))
(/.f32 (*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (/.f32 #s(literal 1 binary32) (-.f32 %35 (/.f32 #s(literal 1 binary32) %35)))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) v)
58.9%
(/.f32 (*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) v)
98.5%
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (fma.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v) #s(literal 1 binary32))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))
98.5%
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (approx (+ 1 (* -1 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) sinTheta_i))))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
98.1%
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (approx (+ 1 (* -1 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) (/.f32 sinTheta_i v) (/.f32 #s(literal 1 binary32) sinTheta_O))))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
98.4%
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) #s(literal 1 binary32)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) #s(literal 2 binary32)) v))
98.4%
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) #s(literal 1 binary32)) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))
98.5%
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) #s(literal 1 binary32)) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
98.6%
%30 = (/.f32 #s(literal 1 binary32) v)
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) #s(literal 1 binary32)) (*.f32 cosTheta_O (*.f32 cosTheta_i %30))) (*.f32 (*.f32 (sinh.f32 %30) #s(literal 2 binary32)) v))
92.5%
(/.f32 #s(literal 1 binary32) (/.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (approx (exp (/ (* sinTheta_i sinTheta_O) v)) (+.f32 #s(literal 1 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) v))))))
92.7%
(/.f32 #s(literal 1 binary32) (/.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))))
36.9%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) (*.f32 cosTheta_O (*.f32 cosTheta_i v))) (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) (*.f32 cosTheta_O cosTheta_i)))))))
59.5%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 #s(literal 2 binary32) (/.f32 v (*.f32 cosTheta_O cosTheta_i)))))
98.4%
(*.f32 (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
98.7%
%30 = (/.f32 #s(literal 1 binary32) v)
(*.f32 (/.f32 (*.f32 (*.f32 cosTheta_i cosTheta_O) %30) (sinh.f32 %30)) (/.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (+.f32 v v)))
98.6%
(*.f32 (/.f32 (*.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) cosTheta_i) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))) (/.f32 (/.f32 cosTheta_O v) v))
58.9%
(*.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) (+ v v))) (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) v)))))
98.6%
(*.f32 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i v)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (/.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (+.f32 v v)))
98.5%
(*.f32 (/.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (+.f32 v v)))
98.6%
(*.f32 (*.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) v)))) (/.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (+.f32 v v)))
98.8%
(*.f32 (*.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) cosTheta_i) (/.f32 (/.f32 cosTheta_O v) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))))
98.6%
(*.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))))))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 v v)))
98.4%
%35 = (exp.f32 (/.f32 #s(literal 1 binary32) v))
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (sinh (/ 1 v))) (/.f32 #s(literal 2 binary32) (-.f32 %35 (/.f32 #s(literal 1 binary32) %35)))) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (+.f32 v v)))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (sinh (/ 1 v))) (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (/.f32 (*.f32 sinTheta_O sinTheta_i) v) #s(literal 1 binary32))))) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (+.f32 v v)))
98.4%
%30 = (/.f32 #s(literal 1 binary32) v)
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 v v) (-.f32 (exp.f32 %30) (exp.f32 (neg.f32 %30))))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i cosTheta_O)) v))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 (* cosTheta_O cosTheta_i))) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O sinTheta_i))) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (*.f32 cosTheta_i v)))) v)) v))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 (* cosTheta_O cosTheta_i))) (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i sinTheta_i)) v) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O cosTheta_i) sinTheta_O))))) v))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 (* cosTheta_O cosTheta_i))) (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_i (*.f32 sinTheta_O sinTheta_i)) v) (*.f32 #s(literal 1/2 binary32) cosTheta_i)))) v))
53.3%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 (* cosTheta_O cosTheta_i))) (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O sinTheta_i))) v))) v))
92.3%
%30 = (/.f32 #s(literal 1 binary32) v)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 (*.f32 v v) (-.f32 (exp.f32 %30) (exp.f32 (neg.f32 %30)))) (*.f32 cosTheta_i cosTheta_O))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_i sinTheta_O))) v) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i cosTheta_O))) (/.f32 #s(literal 1 binary32) v)))
98.4%
%30 = (/.f32 #s(literal 1 binary32) v)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (/.f32 cosTheta_O (*.f32 v v)) (/.f32 cosTheta_i (-.f32 (exp.f32 %30) (exp.f32 (neg.f32 %30))))))
98.4%
%30 = (/.f32 #s(literal 1 binary32) v)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (*.f32 cosTheta_i cosTheta_O) (/.f32 #s(literal 1 binary32) (*.f32 (*.f32 v v) (-.f32 (exp.f32 %30) (exp.f32 (neg.f32 %30)))))))
98.4%
%30 = (/.f32 #s(literal 1 binary32) v)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 (*.f32 v v) (-.f32 (exp.f32 %30) (exp.f32 (neg.f32 %30)))))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 (*.f32 cosTheta_i cosTheta_O) (/.f32 #s(literal 1 binary32) v))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 cosTheta_O v))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (/.f32 cosTheta_i v))))
Compiler

Compiled 45 to 193 computations (-328.9% saved)

sample11.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series4.7s (10.8%)

Counts
227 → 496
Calls
Call 1
Inputs
%2 = (*.f32 sinTheta_i sinTheta_O)
%4 = (/.f32 %2 v)
%5 = (neg.f32 %4)
%6 = (exp.f32 %5)
%9 = (*.f32 cosTheta_i cosTheta_O)
%10 = (/.f32 %9 v)
%12 = (/.f32 #s(literal 1 binary32) v)
%13 = (sinh.f32 %12)
%15 = (*.f32 %13 #s(literal 2 binary32))
%16 = (*.f32 %15 v)
%17 = (*.f32 cosTheta_O cosTheta_i)
%18 = (*.f32 sinTheta_O sinTheta_i)
%19 = (/.f32 %18 v)
%20 = (exp.f32 %12)
%21 = (/.f32 #s(literal 1 binary32) %20)
%22 = (-.f32 %20 %21)
%25 = (/ (* sinTheta_i sinTheta_O) v)
%27 = (exp (neg %25))
%28 = (approx %27 #s(literal 1 binary32))
%29 = (/.f32 sinTheta_O v)
%31 = (*.f32 cosTheta_i %18)
%32 = (*.f32 cosTheta_O %31)
%33 = (/.f32 sinTheta_i v)
%34 = (*.f32 cosTheta_i sinTheta_i)
%35 = (*.f32 cosTheta_O %34)
%36 = (/.f32 %32 v)
%38 = (neg.f32 sinTheta_i)
%39 = (*.f32 %38 %29)
%40 = (exp.f32 %39)
%41 = (exp.f32 %4)
%42 = (/.f32 cosTheta_O v)
%43 = (*.f32 cosTheta_i %42)
%44 = (/.f32 cosTheta_i v)
%45 = (*.f32 cosTheta_O %44)
%46 = (*.f32 cosTheta_i %12)
%47 = (*.f32 cosTheta_O %46)
%48 = (*.f32 %9 %12)
%49 = (/.f32 v %9)
%50 = (/.f32 #s(literal 1 binary32) %49)
%51 = (*.f32 %40 cosTheta_i)
%52 = (*.f32 v %41)
%53 = (/.f32 #s(literal 1/2 binary32) v)
%54 = (/.f32 #s(literal 2 binary32) %15)
%55 = (/.f32 #s(literal 1 binary32) %54)
%56 = (+.f32 v v)
%57 = (*.f32 %13 %56)
%58 = (*.f32 v %57)
%59 = (*.f32 v v)
%60 = (/.f32 %9 %59)
%61 = (/.f32 %10 %13)
%62 = (/.f32 %40 %56)
%63 = (/.f32 %40 %13)
%64 = (/.f32 %10 %56)
%65 = (*.f32 %28 %10)
%66 = (*.f32 %55 #s(literal 2 binary32))
%67 = (*.f32 %66 v)
%68 = (/.f32 %31 v)
%69 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%70 = (fma.f32 #s(literal -1/2 binary32) %68 %69)
%71 = (*.f32 cosTheta_O %70)
%73 = (* sinTheta_O sinTheta_i)
%81 = (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i %73)) v)) (* 1/2 (* cosTheta_O cosTheta_i)))
%82 = (approx %81 %71)
%83 = (+.f32 #s(literal 1 binary32) %19)
%84 = (exp %25)
%85 = (approx %84 %83)
%87 = (/ 1 v)
%91 = (exp (* (neg sinTheta_i) (/ sinTheta_O v)))
%93 = (approx (* %87 %91) %12)
%94 = (/.f32 #s(literal 1 binary32) %22)
%95 = (sinh %87)
%97 = (* %95 2)
%98 = (/ %91 %97)
%99 = (approx %98 %94)
%100 = (+ v v)
%102 = (approx (/ %91 %100) %53)
%103 = (/.f32 #s(literal 2 binary32) %22)
%104 = (/ %91 %95)
%105 = (approx %104 %103)
%106 = (*.f32 cosTheta_i v)
%107 = (*.f32 cosTheta_O %106)
%108 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%109 = (fma.f32 #s(literal -1 binary32) %29 %108)
%110 = (*.f32 sinTheta_i %109)
%114 = (+ 1 (* -1 (/ %73 v)))
%115 = (approx %114 %110)
%116 = (*.f32 #s(literal -1/2 binary32) %36)
%117 = (approx %81 %116)
%118 = (/.f32 %35 v)
%119 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%120 = (fma.f32 #s(literal -1 binary32) %33 %119)
%121 = (*.f32 sinTheta_O %120)
%122 = (approx %114 %121)
%123 = (/.f32 %17 sinTheta_O)
%124 = (*.f32 #s(literal 1/2 binary32) %123)
%125 = (fma.f32 #s(literal -1/2 binary32) %118 %124)
%126 = (*.f32 sinTheta_O %125)
%127 = (approx %81 %126)
%128 = (*.f32 #s(literal 1/2 binary32) %107)
%129 = (fma.f32 #s(literal -1/2 binary32) %32 %128)
%130 = (/.f32 %129 v)
%131 = (approx %81 %130)
%132 = (*.f32 #s(literal -1/2 binary32) %19)
%133 = (+.f32 #s(literal 1/2 binary32) %132)
%134 = (* %95 %100)
%136 = (approx (/ %91 %134) %133)
%137 = (*.f32 #s(literal 1/2 binary32) v)
%138 = (approx %98 %137)
%139 = (/.f32 v %17)
%140 = (*.f32 #s(literal 2 binary32) %139)
%142 = (/ (* cosTheta_i cosTheta_O) v)
%143 = (/ %142 %84)
%144 = (/ %134 %143)
%145 = (approx %144 %140)
%146 = (/.f32 %18 %107)
%147 = (/.f32 #s(literal 1 binary32) %17)
%148 = (*.f32 #s(literal 2 binary32) %147)
%149 = (fma.f32 #s(literal 2 binary32) %146 %148)
%150 = (*.f32 v %149)
%151 = (approx %144 %150)
%152 = (-.f32 %19 #s(literal 1 binary32))
%153 = (*.f32 v %152)
%154 = (*.f32 #s(literal -1 binary32) %153)
%155 = (approx %104 %154)
%156 = (/.f32 %9 %52)
%157 = (neg.f32 %12)
%158 = (exp.f32 %157)
%159 = (-.f32 %20 %158)
%160 = (*.f32 %59 %159)
%161 = (fma.f32 %38 %29 #s(literal 1 binary32))
%162 = (approx %27 %161)
%163 = (*.f32 cosTheta_i %2)
%164 = (*.f32 cosTheta_O %163)
%165 = (/.f32 %9 %160)
%166 = (/.f32 cosTheta_i %160)
%167 = (*.f32 cosTheta_O %166)
%168 = (/.f32 cosTheta_O %59)
%169 = (/.f32 cosTheta_i %159)
%170 = (*.f32 %168 %169)
%171 = (/.f32 #s(literal 1 binary32) %160)
%172 = (*.f32 %9 %171)
%173 = (/.f32 %160 %9)
%174 = (/.f32 #s(literal 1 binary32) %173)
%175 = (* %97 v)
%178 = (/.f32 %164 v)
%179 = (*.f32 #s(literal 1/2 binary32) %9)
%180 = (/.f32 %179 v)
%181 = (fma.f32 #s(literal -1/2 binary32) %178 %179)
%182 = (*.f32 %181 %12)
%183 = (/.f32 v cosTheta_i)
%184 = (/.f32 #s(literal 1 binary32) %183)
%185 = (/.f32 cosTheta_O %58)
%186 = (*.f32 cosTheta_i %185)
%188 = (/.f32 %42 %57)
%190 = (/.f32 %51 %15)
%191 = (/.f32 %42 v)
%193 = (*.f32 cosTheta_i %168)
%194 = (/.f32 #s(literal 1 binary32) %13)
%195 = (*.f32 %10 %194)
%196 = (*.f32 %162 %10)
%200 = (*.f32 #s(literal 1/2 binary32) %43)
%202 = (/ (* %27 %142) %175)
%204 = (*.f32 #s(literal 1/2 binary32) %45)
%206 = (*.f32 #s(literal 1/2 binary32) %48)
%209 = (/.f32 %127 v)
%211 = (/.f32 %131 v)
%213 = (/.f32 %117 v)
%215 = (/.f32 %82 v)
%221 = (*.f32 %99 %10)
%224 = (*.f32 %138 %10)
%226 = (/.f32 %43 %56)
%228 = (/.f32 %43 %41)
%229 = (/.f32 %57 %228)
%231 = (*.f32 %28 %43)
%233 = (/.f32 %50 %41)
%234 = (/.f32 %233 %13)
%236 = (/.f32 %45 %13)
%238 = (/.f32 %45 %41)
%239 = (/.f32 %238 %13)
%241 = (/.f32 %48 %13)
%243 = (*.f32 %40 %193)
%246 = (*.f32 cosTheta_O %184)
%247 = (*.f32 %6 %246)
%249 = (*.f32 %28 %47)
%259 = (approx %27 %122)
%260 = (*.f32 %259 %10)
%262 = (approx %27 %115)
%263 = (*.f32 %262 %10)
%265 = (*.f32 %9 %93)
%267 = (/.f32 %10 %85)
%268 = (/.f32 %57 %267)
sinTheta_i
sinTheta_O
%2
v
%4
%5
%6
cosTheta_i
cosTheta_O
%9
%10
#s(literal 1 binary32)
%12
%13
#s(literal 2 binary32)
%15
%16
%17
%18
%19
%20
%21
%22
#s(literal -1 binary32)
%28
%29
#s(literal 1/2 binary32)
%31
%32
%33
%34
%35
%36
#s(literal -1/2 binary32)
%38
%39
%40
%41
%42
%43
%44
%45
%46
%47
%48
%49
%50
%51
%52
%53
%54
%55
%56
%57
%58
%59
%60
%61
%62
%63
%64
%65
%66
%67
%68
%69
%70
%71
%82
%83
%85
%93
%94
%99
%102
%103
%105
%106
%107
%108
%109
%110
%115
%116
%117
%118
%119
%120
%121
%122
%123
%124
%125
%126
%127
%128
%129
%130
%131
%132
%133
%136
%137
%138
%139
%140
%145
%146
%147
%148
%149
%150
%151
%152
%153
%154
%155
%156
%157
%158
%159
%160
%161
%162
%163
%164
%165
%166
%167
%168
%169
%170
%171
%172
%173
%174
(approx (/ %143 %175) %165)
%178
%179
%180
%181
%182
%183
%184
%185
%186
(/.f32 %156 %57)
%188
(*.f32 %51 %188)
%190
%191
(*.f32 %190 %191)
%193
%194
%195
%196
(/.f32 %196 %57)
(/.f32 %65 %57)
(*.f32 %195 %62)
%200
(approx %202 %200)
%204
(approx %202 %204)
%206
(approx %202 %206)
(*.f32 %40 %186)
%209
(approx %202 %209)
%211
(approx %202 %211)
%213
(approx %202 %213)
%215
(approx %202 %215)
(approx %202 %170)
(approx %202 %167)
(approx %202 %172)
(approx %202 %174)
%221
(/.f32 %221 v)
(*.f32 %138 %60)
%224
(/.f32 %224 v)
%226
(*.f32 %63 %226)
%228
%229
(/.f32 #s(literal 1 binary32) %229)
%231
(/.f32 %231 %16)
%233
%234
(/.f32 %234 %56)
%236
(*.f32 %236 %62)
%238
%239
(/.f32 %239 %56)
%241
(*.f32 %241 %62)
%243
(/.f32 %243 %15)
(approx %202 %180)
%246
%247
(/.f32 %247 %16)
%249
(/.f32 %249 %16)
(/.f32 %65 %67)
(approx %202 %182)
(/.f32 #s(literal 1 binary32) %151)
(/.f32 #s(literal 1 binary32) %145)
(*.f32 %10 %136)
(*.f32 %61 %102)
(*.f32 %105 %64)
(*.f32 %155 %64)
%259
%260
(/.f32 %260 %16)
%262
%263
(/.f32 %263 %16)
%265
(/.f32 %265 %16)
%267
%268
(/.f32 #s(literal 1 binary32) %268)
Outputs
%6 = (* cosTheta_i cosTheta_O)
%7 = (*.f32 cosTheta_O cosTheta_i)
%10 = (/ %6 v)
%11 = (/.f32 %7 v)
%14 = (* sinTheta_O sinTheta_i)
%15 = (* cosTheta_i %14)
%16 = (*.f32 sinTheta_O sinTheta_i)
%17 = (*.f32 cosTheta_i %16)
%19 = (* cosTheta_O %15)
%20 = (*.f32 cosTheta_O %17)
%22 = (* cosTheta_i sinTheta_i)
%23 = (*.f32 cosTheta_i sinTheta_i)
%25 = (* cosTheta_O %22)
%26 = (*.f32 cosTheta_O %23)
%28 = (/ %19 v)
%29 = (/.f32 %20 v)
%32 = (/.f32 cosTheta_i v)
%34 = (/ v %6)
%35 = (/.f32 v %7)
%37 = (neg sinTheta_i)
%38 = (/ sinTheta_O v)
%40 = (exp (* %37 %38))
%41 = (* %40 cosTheta_i)
%43 = (/.f32 %16 v)
%44 = (*.f32 #s(literal -1 binary32) %43)
%45 = (exp.f32 %44)
%46 = (*.f32 cosTheta_i %45)
%48 = (* v v)
%51 = (pow.f32 v #s(literal 2 binary32))
%52 = (/.f32 %7 %51)
%55 = (/ 1 v)
%56 = (sinh %55)
%57 = (/ %10 %56)
%59 = (/.f32 #s(literal 1 binary32) v)
%60 = (exp.f32 %59)
%61 = (/.f32 #s(literal 1 binary32) %60)
%62 = (-.f32 %60 %61)
%63 = (*.f32 v %62)
%64 = (/.f32 %7 %63)
%65 = (*.f32 #s(literal 2 binary32) %64)
%67 = (+ v v)
%72 = (* sinTheta_i sinTheta_O)
%73 = (/ %72 v)
%74 = (neg %73)
%75 = (exp %74)
%76 = (* %75 %10)
%78 = (exp.f32 (neg.f32 %43))
%80 = (*.f32 cosTheta_O (*.f32 cosTheta_i %78))
%83 = (/ %15 v)
%84 = (/.f32 %17 v)
%87 = (* 1/2 cosTheta_i)
%88 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%92 = (+ (* -1/2 %83) %87)
%94 = (*.f32 #s(literal -1/2 binary32) %43)
%95 = (+.f32 #s(literal 1/2 binary32) %94)
%96 = (*.f32 cosTheta_i %95)
%98 = (* cosTheta_O %92)
%101 = (* -1/2 %28)
%102 = (* cosTheta_O cosTheta_i)
%104 = (+ %101 (* 1/2 %102))
%105 = (*.f32 cosTheta_O %16)
%106 = (/.f32 %105 v)
%107 = (*.f32 #s(literal 1/2 binary32) cosTheta_O)
%109 = (*.f32 cosTheta_i (fma.f32 #s(literal -1/2 binary32) %106 %107))
%111 = (* cosTheta_i v)
%112 = (*.f32 cosTheta_i v)
%114 = (* cosTheta_O %111)
%115 = (*.f32 cosTheta_O %112)
%119 = (/ %25 v)
%120 = (/.f32 %26 v)
%122 = (/ %102 sinTheta_O)
%123 = (/.f32 %7 sinTheta_O)
%125 = (* 1/2 %122)
%126 = (*.f32 #s(literal 1/2 binary32) %123)
%129 = (+ (* -1/2 %119) %125)
%131 = (/.f32 (*.f32 cosTheta_O sinTheta_i) v)
%132 = (/.f32 cosTheta_O sinTheta_O)
%134 = (fma.f32 #s(literal -1/2 binary32) %131 (*.f32 #s(literal 1/2 binary32) %132))
%137 = (* sinTheta_O %129)
%141 = (* 1/2 %114)
%142 = (*.f32 #s(literal 1/2 binary32) %115)
%145 = (+ (* -1/2 %19) %141)
%146 = (*.f32 cosTheta_O v)
%149 = (*.f32 cosTheta_i (fma.f32 #s(literal -1/2 binary32) %105 (*.f32 #s(literal 1/2 binary32) %146)))
%151 = (/ %145 v)
%159 = (* %56 %67)
%160 = (exp %73)
%161 = (/ %10 %160)
%162 = (/ %159 %161)
%163 = (exp.f32 %43)
%164 = (*.f32 %163 %62)
%165 = (*.f32 %51 %164)
%168 = (/ %14 %114)
%169 = (/.f32 %16 %115)
%171 = (/ 1 %102)
%172 = (/.f32 #s(literal 1 binary32) %7)
%174 = (* 2 %171)
%178 = (+ (* 2 %168) %174)
%179 = (/.f32 %16 %146)
%181 = (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) cosTheta_O))
%182 = (fma.f32 #s(literal 2 binary32) %179 %181)
%185 = (* v %178)
%189 = (* v %160)
%190 = (/ %6 %189)
%191 = (*.f32 v %163)
%194 = (exp %55)
%195 = (neg %55)
%196 = (exp %195)
%197 = (- %194 %196)
%198 = (* %48 %197)
%199 = (/ %6 %198)
%201 = (exp.f32 (neg.f32 %59))
%202 = (-.f32 %60 %201)
%203 = (*.f32 %51 %202)
%206 = (/ cosTheta_i %198)
%209 = (/ cosTheta_i %197)
%212 = (/ %198 %6)
%215 = (* %56 2)
%216 = (* %215 v)
%217 = (/ %161 %216)
%220 = (* 1/2 %6)
%221 = (*.f32 #s(literal 1/2 binary32) %7)
%224 = (*.f32 #s(literal 1/2 binary32) %11)
%231 = (* (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i %72)) v)) %220) %55)
%237 = (* v %159)
%238 = (/ cosTheta_O %237)
%239 = (* cosTheta_i %238)
%240 = (*.f32 %51 %62)
%241 = (/.f32 %7 %240)
%243 = (/ cosTheta_O v)
%245 = (* %41 (/ %243 %159))
%246 = (*.f32 cosTheta_O %46)
%249 = (/ %41 %215)
%255 = (/ %40 %215)
%256 = (* %255 %10)
%261 = (/ (/ (/ 1 %34) %160) %56)
%266 = (/ cosTheta_O %48)
%268 = (* %40 (* cosTheta_i %266))
%271 = (* %55 %40)
%276 = (-.f32 (*.f32 #s(literal 1/2 binary32) %43) #s(literal 1/2 binary32))
%277 = (*.f32 cosTheta_i %276)
%285 = (*.f32 cosTheta_i (fma.f32 #s(literal -1/2 binary32) cosTheta_O (*.f32 #s(literal 1/2 binary32) %106)))
%289 = (fma.f32 #s(literal -1/2 binary32) %132 (*.f32 #s(literal 1/2 binary32) %131))
%299 = (*.f32 cosTheta_i (fma.f32 #s(literal -1/2 binary32) %146 (*.f32 #s(literal 1/2 binary32) %105)))
%307 = (-.f32 (*.f32 #s(literal -2 binary32) %179) %181)
%319 = (/.f32 cosTheta_O v)
%321 = (fma.f32 #s(literal -1/2 binary32) %84 %88)
%322 = (*.f32 cosTheta_O %321)
%324 = (/.f32 %23 v)
%325 = (/.f32 cosTheta_i sinTheta_O)
%327 = (fma.f32 #s(literal -1/2 binary32) %324 (*.f32 #s(literal 1/2 binary32) %325))
%330 = (*.f32 sinTheta_O %327)
%333 = (*.f32 #s(literal 1/2 binary32) %112)
%334 = (fma.f32 #s(literal -1/2 binary32) %17 %333)
%335 = (*.f32 cosTheta_O %334)
%339 = (/.f32 %16 %112)
%341 = (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) cosTheta_i))
%342 = (fma.f32 #s(literal 2 binary32) %339 %341)
%348 = (/.f32 cosTheta_O %51)
%355 = (fma.f32 #s(literal -1/2 binary32) cosTheta_i (*.f32 #s(literal 1/2 binary32) %84))
%356 = (*.f32 cosTheta_O %355)
%360 = (fma.f32 #s(literal -1/2 binary32) %325 (*.f32 #s(literal 1/2 binary32) %324))
%364 = (*.f32 sinTheta_O %360)
%370 = (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) %112 (*.f32 #s(literal 1/2 binary32) %17)))
%377 = (-.f32 (*.f32 #s(literal -2 binary32) %339) %341)
%393 = (+.f32 #s(literal 1 binary32) %44)
%395 = (/.f32 sinTheta_O v)
%396 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%397 = (*.f32 %396 sinTheta_i)
%398 = (/.f32 %397 %51)
%406 = (pow.f32 sinTheta_O #s(literal 3 binary32))
%407 = (*.f32 %406 sinTheta_i)
%408 = (pow.f32 v #s(literal 3 binary32))
%409 = (/.f32 %407 %408)
%411 = (*.f32 #s(literal 1/2 binary32) (/.f32 %396 %51))
%418 = (/ sinTheta_i v)
%419 = (/.f32 sinTheta_i v)
%423 = (+.f32 #s(literal 1 binary32) %43)
%438 = (*.f32 cosTheta_i sinTheta_O)
%439 = (/.f32 %438 v)
%440 = (*.f32 cosTheta_i %397)
%447 = (*.f32 cosTheta_i %407)
%449 = (*.f32 cosTheta_i %396)
%459 = (+.f32 v %16)
%476 = (/ %40 %67)
%479 = (/.f32 %16 %51)
%480 = (*.f32 #s(literal 1/2 binary32) %59)
%483 = (/.f32 sinTheta_O %51)
%485 = (/.f32 %397 %408)
%492 = (pow.f32 v #s(literal 4 binary32))
%493 = (/.f32 %407 %492)
%494 = (/.f32 %396 %408)
%501 = (/ %40 %56)
%504 = (/.f32 %16 %63)
%505 = (/.f32 #s(literal 1 binary32) %62)
%506 = (*.f32 #s(literal 2 binary32) %505)
%509 = (/.f32 sinTheta_O %63)
%510 = (/.f32 %397 %240)
%515 = (*.f32 %408 %62)
%516 = (/.f32 %407 %515)
%517 = (/.f32 %396 %240)
%523 = (/.f32 %20 %51)
%526 = (*.f32 cosTheta_O %438)
%527 = (/.f32 %526 %51)
%528 = (*.f32 cosTheta_O %440)
%534 = (*.f32 cosTheta_O %447)
%536 = (*.f32 cosTheta_O %449)
%537 = (/.f32 %536 %408)
%538 = (*.f32 #s(literal 1/2 binary32) %537)
%545 = (fma.f32 #s(literal -1/2 binary32) %29 %221)
%573 = (/ 1 sinTheta_i)
%574 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%578 = (+ (* -1 %38) %573)
%583 = (+ (* -1 %418) (/ 1 sinTheta_O))
%584 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%586 = (fma.f32 #s(literal -1 binary32) %419 %584)
%588 = (fma.f32 #s(literal -1/2 binary32) %120 %126)
%590 = (fma.f32 #s(literal -1/2 binary32) %20 %142)
%592 = (/ %14 v)
%593 = (* -1/2 %592)
%595 = (+ 1/2 %593)
%598 = (/ %40 %159)
%599 = (/.f32 #s(literal 1 binary32) %63)
%604 = (/.f32 sinTheta_O %240)
%610 = (*.f32 %492 %62)
%619 = (/.f32 %240 %7)
%621 = (*.f32 sinTheta_i %63)
%626 = (*.f32 sinTheta_i %62)
%630 = (/.f32 (*.f32 sinTheta_O %63) %7)
%643 = (*.f32 #s(literal 2 binary32) %172)
%644 = (fma.f32 #s(literal 2 binary32) %169 %643)
%646 = (/.f32 %16 %7)
%647 = (*.f32 #s(literal 2 binary32) %646)
%648 = (fma.f32 #s(literal 2 binary32) %35 %647)
%650 = (- %592 1)
%652 = (-.f32 %43 #s(literal 1 binary32))
%654 = (* v %650)
%657 = (fma.f32 #s(literal -1 binary32) v %16)
%659 = (* -1 %654)
%660 = (*.f32 #s(literal -1 binary32) %16)
%661 = (+.f32 v %660)
%663 = (fma.f32 #s(literal -1 binary32) %537 %538)
%672 = (*.f32 cosTheta_O (*.f32 cosTheta_i %406))
%673 = (/.f32 %672 %492)
%687 = (/.f32 %526 %515)
%688 = (/.f32 %536 %610)
%689 = (fma.f32 #s(literal -2 binary32) %688 %688)
%696 = (pow.f32 v #s(literal 5 binary32))
%697 = (*.f32 %696 %62)
%698 = (/.f32 %672 %697)
%726 = (/.f32 cosTheta_i %62)
%731 = (/.f32 %438 %63)
%746 = (/.f32 %20 %240)
%749 = (/.f32 %526 %240)
%756 = (/.f32 %536 %515)
%765 = (fma.f32 #s(literal -2 binary32) %756 %756)
%768 = (*.f32 #s(literal 2 binary32) %749)
%773 = (/.f32 %672 %610)
%790 = (/.f32 %526 %408)
%808 = (/.f32 %45 v)
%811 = (/.f32 %45 %62)
%816 = (/.f32 cosTheta_i sinTheta_i)
%821 = (/.f32 %526 v)
%822 = (/.f32 %7 sinTheta_i)
%827 = (+ 1 %592)
%833 = (*.f32 #s(literal -1 binary32) %395)
%835 = (fma.f32 #s(literal -1 binary32) %395 %574)
%837 = (* sinTheta_i %578)
%838 = (*.f32 sinTheta_i %835)
%840 = (*.f32 #s(literal -1 binary32) %419)
%842 = (/.f32 #s(literal 1 binary32) %16)
%843 = (-.f32 %842 %59)
%848 = (/.f32 %7 %16)
%853 = (*.f32 #s(literal -1/2 binary32) %20)
%855 = (/.f32 %115 sinTheta_i)
%860 = (*.f32 #s(literal 1/2 binary32) %574)
%868 = (/.f32 sinTheta_O %115)
%870 = (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %26))
%875 = (/.f32 sinTheta_O %7)
%876 = (/.f32 v %26)
%882 = (*.f32 sinTheta_i (-.f32 %395 %574))
%884 = (/.f32 v sinTheta_i)
%887 = (*.f32 sinTheta_i (+.f32 sinTheta_O (*.f32 #s(literal -1 binary32) %884)))
%890 = (fma.f32 #s(literal -1 binary32) sinTheta_O %884)
%891 = (*.f32 sinTheta_i %890)
%896 = (/.f32 %7 (*.f32 sinTheta_i v))
%917 = (-.f32 %59 %842)
%957 = (pow.f32 sinTheta_i #s(literal 2 binary32))
%958 = (*.f32 sinTheta_O %957)
%959 = (/.f32 %958 %51)
%965 = (pow.f32 sinTheta_i #s(literal 3 binary32))
%966 = (*.f32 sinTheta_O %965)
%967 = (/.f32 %966 %408)
%969 = (*.f32 #s(literal 1/2 binary32) (/.f32 %957 %51))
%986 = (*.f32 cosTheta_i %958)
%993 = (*.f32 cosTheta_i %966)
%995 = (*.f32 cosTheta_i %957)
%1019 = (/.f32 sinTheta_i %51)
%1020 = (/.f32 %958 %408)
%1025 = (/.f32 %966 %492)
%1026 = (/.f32 %957 %408)
%1033 = (/.f32 sinTheta_i %63)
%1034 = (/.f32 %958 %240)
%1038 = (/.f32 %966 %515)
%1039 = (/.f32 %957 %240)
%1045 = (/.f32 %26 %51)
%1046 = (*.f32 cosTheta_O %986)
%1052 = (*.f32 cosTheta_O %993)
%1054 = (*.f32 cosTheta_O %995)
%1055 = (/.f32 %1054 %408)
%1056 = (*.f32 #s(literal 1/2 binary32) %1055)
%1086 = (/.f32 sinTheta_i %240)
%1100 = (*.f32 %957 %62)
%1103 = (/.f32 %621 %7)
%1116 = (fma.f32 #s(literal -1 binary32) %1055 %1056)
%1125 = (*.f32 cosTheta_O (*.f32 cosTheta_i %965))
%1126 = (/.f32 %1125 %492)
%1137 = (/.f32 %26 %515)
%1138 = (/.f32 %1054 %610)
%1139 = (fma.f32 #s(literal -2 binary32) %1138 %1138)
%1145 = (/.f32 %1125 %697)
%1170 = (/.f32 %23 %63)
%1184 = (/.f32 %26 %240)
%1191 = (/.f32 %1054 %515)
%1198 = (fma.f32 #s(literal -2 binary32) %1191 %1191)
%1201 = (*.f32 #s(literal 2 binary32) %1184)
%1206 = (/.f32 %1125 %610)
%1220 = (/.f32 %26 %408)
%1242 = (*.f32 sinTheta_O %586)
%1244 = (/.f32 %115 sinTheta_O)
%1246 = (fma.f32 #s(literal -1/2 binary32) %26 (*.f32 #s(literal 1/2 binary32) %1244))
%1249 = (*.f32 #s(literal 1/2 binary32) %584)
%1253 = (/.f32 sinTheta_i %115)
%1255 = (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %526))
%1259 = (/.f32 sinTheta_i %7)
%1260 = (/.f32 v %526)
%1266 = (*.f32 sinTheta_O (-.f32 %419 %584))
%1268 = (/.f32 v sinTheta_O)
%1271 = (*.f32 sinTheta_O (+.f32 sinTheta_i (*.f32 #s(literal -1 binary32) %1268)))
%1273 = (fma.f32 #s(literal -1 binary32) sinTheta_i %1268)
%1274 = (*.f32 sinTheta_O %1273)
%1277 = (/.f32 %7 (*.f32 sinTheta_O v))
%1334 = (/ 1 %194)
%1354 = (*.f32 #s(literal 1/2 binary32) v)
%1369 = (/ 1 %198)
%1374 = (*.f32 %396 %957)
%1375 = (/.f32 %1374 %51)
%1376 = (*.f32 #s(literal 1/2 binary32) %1375)
%1378 = (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1 binary32) %43 %1376))
%1380 = (*.f32 %406 %965)
%1381 = (/.f32 %1380 %408)
%1384 = (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1 binary32) %43 (fma.f32 #s(literal -1/6 binary32) %1381 %1376)))
%1386 = (/.f32 #s(literal 1 binary32) %51)
%1387 = (*.f32 #s(literal 1/6 binary32) %1386)
%1388 = (+.f32 #s(literal 1 binary32) %1387)
%1392 = (/.f32 #s(literal 1/120 binary32) %492)
%1399 = (pow.f32 v #s(literal 6 binary32))
%1400 = (/.f32 #s(literal 1 binary32) %1399)
%1409 = (*.f32 #s(literal 1/3 binary32) %1386)
%1410 = (+.f32 #s(literal 2 binary32) %1409)
%1414 = (/.f32 #s(literal 1/60 binary32) %492)
%1416 = (+.f32 #s(literal 2 binary32) (+.f32 %1414 %1409))
%1423 = (+.f32 #s(literal 2 binary32) (+.f32 %1414 (fma.f32 #s(literal 1/3 binary32) %1386 (*.f32 #s(literal 1/2520 binary32) %1400))))
%1432 = (/.f32 #s(literal 1/2 binary32) %51)
%1438 = (+.f32 %59 (*.f32 #s(literal 1/6 binary32) (/.f32 #s(literal 1 binary32) %408)))
%1444 = (+.f32 #s(literal 1 binary32) %1432)
%1449 = (fma.f32 #s(literal 1/2 binary32) %1375 %43)
%1450 = (+.f32 #s(literal 1 binary32) %1449)
%1453 = (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal 1/6 binary32) %1381 %1449))
%1455 = (*.f32 cosTheta_i %1374)
%1457 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1455 %51))
%1461 = (*.f32 cosTheta_i %1380)
%1473 = (/ 2 %215)
%1479 = (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 7/360 binary32) %492))
%1485 = (fma.f32 #s(literal 1/6 binary32) %1386 (*.f32 #s(literal 31/15120 binary32) %1400))
%1499 = (fma.f32 #s(literal -1/36 binary32) %7 (*.f32 #s(literal 1/120 binary32) %7))
%1500 = (/.f32 %1499 %492)
%1502 = (*.f32 #s(literal 1/6 binary32) %52)
%1509 = (/.f32 (fma.f32 #s(literal -1/6 binary32) %1499 (fma.f32 #s(literal -1/720 binary32) %7 (*.f32 #s(literal 1/5040 binary32) %7))) %1399)
%1511 = (/.f32 %7 %492)
%1518 = (*.f32 #s(literal 1/4 binary32) %1375)
%1528 = (*.f32 v %393)
%1530 = (/.f32 #s(literal 1/6 binary32) %51)
%1539 = (fma.f32 #s(literal -1 binary32) %29 %7)
%1542 = (*.f32 cosTheta_O %1455)
%1543 = (/.f32 %1542 %51)
%1544 = (fma.f32 #s(literal 1/2 binary32) %1543 %7)
%1545 = (fma.f32 #s(literal -1 binary32) %29 %1544)
%1548 = (*.f32 cosTheta_O %1461)
%1551 = (fma.f32 #s(literal -1 binary32) %29 (fma.f32 #s(literal -1/6 binary32) (/.f32 %1548 %408) %1544))
%1561 = (/ 1 (- %194 %1334))
%1563 = (*.f32 #s(literal 1/12 binary32) %1386)
%1564 = (-.f32 #s(literal 1/2 binary32) %1563)
%1569 = (+.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 7/720 binary32) %492))
%1570 = (-.f32 %1569 %1563)
%1575 = (fma.f32 #s(literal 1/12 binary32) %1386 (*.f32 #s(literal 31/30240 binary32) %1400))
%1576 = (-.f32 %1569 %1575)
%1581 = (*.f32 #s(literal 1/2 binary32) %1374)
%1584 = (*.f32 #s(literal 1/2 binary32) (/.f32 (-.f32 %1581 #s(literal 1/6 binary32)) %51))
%1586 = (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal -1/2 binary32) %43 %1584))
%1591 = (-.f32 (*.f32 #s(literal -1/6 binary32) %1380) (*.f32 #s(literal -1/6 binary32) %16))
%1595 = (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal -1/2 binary32) %43 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1591 %408) %1584)))
%1604 = (/.f32 %1374 %7)
%1605 = (*.f32 #s(literal 1/6 binary32) %172)
%1608 = (fma.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) %1604 %1605) %51) %643)
%1614 = (fma.f32 #s(literal 1/6 binary32) %646 (*.f32 #s(literal 1/6 binary32) (/.f32 %1380 %7)))
%1620 = (*.f32 v %652)
%1622 = (*.f32 #s(literal 1/2 binary32) %1542)
%1623 = (fma.f32 #s(literal -1 binary32) %1542 %1622)
%1630 = (*.f32 sinTheta_O (*.f32 sinTheta_i %1623))
%1641 = (fma.f32 #s(literal -1/12 binary32) %52 %221)
%1647 = (fma.f32 #s(literal -1/72 binary32) %7 (*.f32 #s(literal 1/240 binary32) %7))
%1650 = (*.f32 #s(literal 1/12 binary32) %52)
%1668 = (/.f32 cosTheta_i %51)
%1669 = (fma.f32 #s(literal -1/12 binary32) %1668 %88)
%1673 = (fma.f32 #s(literal -1/72 binary32) cosTheta_i (*.f32 #s(literal 1/240 binary32) cosTheta_i))
%1676 = (*.f32 #s(literal 1/12 binary32) %1668)
%1677 = (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %1673 %492) %88) %1676)
%1685 = (/.f32 cosTheta_i %492)
%1688 = (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %1673 (fma.f32 #s(literal -1/1440 binary32) cosTheta_i (*.f32 #s(literal 1/10080 binary32) cosTheta_i))) %1399) %88) (fma.f32 #s(literal -1/72 binary32) %1685 (fma.f32 #s(literal 1/240 binary32) %1685 %1676)))
%1705 = (*.f32 cosTheta_O (*.f32 cosTheta_i %51))
%1706 = (/.f32 #s(literal 1 binary32) %1705)
%1712 = (*.f32 cosTheta_O (*.f32 cosTheta_i %492))
%1714 = (/.f32 #s(literal 1/3 binary32) %1705)
%1715 = (+.f32 %1714 %643)
%1731 = (+.f32 #s(literal 1/6 binary32) %1581)
%1733 = (*.f32 cosTheta_O (*.f32 cosTheta_i %1731))
%1734 = (fma.f32 #s(literal -1 binary32) %1542 %1733)
%1735 = (/.f32 %1734 %51)
%1736 = (fma.f32 #s(literal -1/2 binary32) %1735 %221)
%1748 = (*.f32 cosTheta_i (fma.f32 #s(literal 1/6 binary32) %16 (*.f32 #s(literal 1/6 binary32) %1380)))
%1752 = (/.f32 (fma.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (*.f32 sinTheta_i %1731)))) (fma.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (*.f32 sinTheta_i %1734)) (*.f32 cosTheta_O %1748))) %408)
%1759 = (fma.f32 #s(literal -1/12 binary32) %348 %107)
%1763 = (fma.f32 #s(literal -1/36 binary32) cosTheta_O (*.f32 #s(literal 1/120 binary32) cosTheta_O))
%1765 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %1763 %492) %1759)
%1775 = (fma.f32 #s(literal -1/2 binary32) %1500 %1641)
%1784 = (*.f32 #s(literal 1/2 binary32) (/.f32 (-.f32 %1622 (*.f32 #s(literal 1/6 binary32) %7)) %51))
%1786 = (fma.f32 #s(literal -1/2 binary32) %29 (fma.f32 #s(literal 1/2 binary32) %7 %1784))
%1791 = (-.f32 (*.f32 #s(literal -1/6 binary32) %1548) (*.f32 #s(literal -1/6 binary32) %20))
%1795 = (fma.f32 #s(literal -1/2 binary32) %29 (fma.f32 #s(literal 1/2 binary32) %7 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1791 %408) %1784)))
%1800 = (*.f32 #s(literal 1/2 binary32) %1455)
%1804 = (*.f32 #s(literal 1/2 binary32) (/.f32 (-.f32 %1800 (*.f32 #s(literal 1/6 binary32) cosTheta_i)) %51))
%1811 = (-.f32 (*.f32 #s(literal -1/6 binary32) %1461) (*.f32 #s(literal -1/6 binary32) %17))
%1836 = (/.f32 %1374 v)
%1842 = (/.f32 %1380 v)
%1870 = (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/3 binary32) (*.f32 #s(literal 1/60 binary32) %1386)) %51)) #s(literal 2 binary32))
%1878 = (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/60 binary32) (*.f32 #s(literal 1/2520 binary32) %1386)) %492)) %1410)
%1882 = (*.f32 #s(literal 1/6 binary32) %59)
%1973 = (fma.f32 #s(literal 1/36 binary32) %1511 %7)
%1978 = (fma.f32 #s(literal -1/120 binary32) %7 (*.f32 #s(literal 1/36 binary32) %7))
%1981 = (/.f32 %7 %1399)
%2004 = (*.f32 #s(literal -1/2 binary32) %16)
%2014 = (*.f32 #s(literal -1/2 binary32) %1374)
%2015 = (+.f32 #s(literal 1/6 binary32) %2014)
%2016 = (/.f32 %2015 v)
%2025 = (/.f32 %1591 v)
%2041 = (/.f32 %1542 v)
%2050 = (/.f32 %1548 v)
%2084 = (-.f32 %1563 #s(literal 1/2 binary32))
%2088 = (-.f32 %1563 %1569)
%2092 = (-.f32 %1575 %1569)
%2118 = (fma.f32 #s(literal -1/2 binary32) %7 (*.f32 #s(literal 1/2 binary32) %29))
%2143 = (-.f32 (*.f32 #s(literal -1/2 binary32) %1604) %1605)
%2195 = (fma.f32 #s(literal -1/240 binary32) %7 (*.f32 #s(literal 1/72 binary32) %7))
%2197 = (*.f32 #s(literal -1/2 binary32) %7)
%2218 = (fma.f32 #s(literal -1/2 binary32) cosTheta_i %1676)
%2223 = (fma.f32 #s(literal -1/240 binary32) cosTheta_i (*.f32 #s(literal 1/72 binary32) cosTheta_i))
%2225 = (*.f32 #s(literal -1/2 binary32) cosTheta_i)
%2228 = (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %2223 %492) %2225) (*.f32 #s(literal -1/12 binary32) %1668))
%2240 = (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %2223 (fma.f32 #s(literal -1/10080 binary32) cosTheta_i (*.f32 #s(literal 1/1440 binary32) cosTheta_i))) %1399) %2225) (fma.f32 #s(literal -1/12 binary32) %1668 (fma.f32 #s(literal -1/240 binary32) %1685 (*.f32 #s(literal 1/72 binary32) %1685))))
%2281 = (-.f32 %2014 #s(literal 1/6 binary32))
%2284 = (fma.f32 cosTheta_O %1455 (*.f32 cosTheta_O (*.f32 cosTheta_i %2281)))
%2285 = (/.f32 %2284 v)
%2300 = (/.f32 (fma.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (*.f32 sinTheta_i %2281))) (fma.f32 cosTheta_O %1748 (*.f32 sinTheta_O (*.f32 sinTheta_i %2284)))) v)
%2310 = (*.f32 #s(literal 1/12 binary32) %348)
%2316 = (fma.f32 #s(literal -1/120 binary32) cosTheta_O (*.f32 #s(literal 1/36 binary32) cosTheta_O))
%2318 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %2316 %492) %2310)
%2333 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %1978 %492) %1650)
%2349 = (-.f32 (*.f32 #s(literal -1/2 binary32) %1542) (*.f32 #s(literal -1/6 binary32) %7))
%2350 = (/.f32 %2349 v)
%2358 = (/.f32 %1791 v)
%2373 = (-.f32 (*.f32 #s(literal -1/2 binary32) %1455) (*.f32 #s(literal -1/6 binary32) cosTheta_i))
(approx sinTheta_i #s(literal 0 binary32))
(approx cosTheta_i cosTheta_i)
(approx %6 %7)
(approx %10 %11)
(approx %15 %17)
(approx %19 %20)
(approx %22 %23)
(approx %25 %26)
(approx %28 %29)
(approx (/ cosTheta_i v) %32)
(approx %34 %35)
(approx %41 %46)
(approx (/ %6 %48) %52)
(approx %57 %65)
(approx (/ %10 %67) (*.f32 #s(literal 1/2 binary32) %52))
(approx %76 (/.f32 %80 v))
(approx %83 %84)
(approx %87 %88)
(approx %92 %96)
(approx %98 (*.f32 cosTheta_O %96))
(approx %104 %109)
(approx %111 %112)
(approx %114 %115)
(approx %101 (*.f32 #s(literal -1/2 binary32) %29))
(approx %119 %120)
(approx %122 %123)
(approx %125 %126)
(approx %129 (*.f32 cosTheta_i %134))
(approx %137 (*.f32 cosTheta_i (*.f32 sinTheta_O %134)))
(approx %141 %142)
(approx %145 %149)
(approx %151 (/.f32 %149 v))
(approx (* 2 (/ v %102)) (*.f32 #s(literal 2 binary32) %35))
(approx %162 (/.f32 %165 %7))
(approx %168 %169)
(approx %171 %172)
(approx %174 (/.f32 #s(literal 2 binary32) %7))
(approx %178 (/.f32 %182 cosTheta_i))
(approx %185 (/.f32 (*.f32 v %182) cosTheta_i))
(approx %190 (/.f32 %7 %191))
(approx %199 (/.f32 %7 %203))
(approx %206 (/.f32 cosTheta_i %203))
(approx %209 (/.f32 cosTheta_i %202))
(approx %212 (/.f32 %203 %7))
(approx %217 (/.f32 %7 %165))
(approx %220 %221)
(approx (/ %220 v) %224)
(approx %231 (/.f32 %109 v))
(approx (/ v cosTheta_i) (/.f32 v cosTheta_i))
(approx %239 %241)
(approx %245 (/.f32 %246 %240))
(approx %249 (/.f32 %46 %62))
(approx (/ %76 %159) (/.f32 %80 %240))
(approx %256 (/.f32 %246 %63))
(approx %261 (*.f32 #s(literal 2 binary32) (/.f32 %7 (*.f32 v %164))))
(approx %268 (/.f32 %246 %51))
(approx (* %6 %271) (/.f32 %246 v))
(approx %92 (*.f32 #s(literal -1 binary32) %277))
(approx %98 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O %277)))
(approx %104 (*.f32 #s(literal -1 binary32) %285))
(approx %129 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i %289)))
(approx %137 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i (*.f32 sinTheta_O %289))))
(approx %145 (*.f32 #s(literal -1 binary32) %299))
(approx %151 (*.f32 #s(literal -1 binary32) (/.f32 %299 v)))
(approx %178 (*.f32 #s(literal -1 binary32) (/.f32 %307 cosTheta_i)))
(approx %185 (*.f32 #s(literal -1 binary32) (/.f32 (*.f32 v %307) cosTheta_i)))
(approx %231 (*.f32 #s(literal -1 binary32) (/.f32 %285 v)))
(approx cosTheta_O cosTheta_O)
(approx %243 %319)
(approx %98 %322)
(approx %129 (*.f32 cosTheta_O %327))
(approx %137 (*.f32 cosTheta_O %330))
(approx %145 %335)
(approx %151 (/.f32 %335 v))
(approx %178 (/.f32 %342 cosTheta_O))
(approx %185 (/.f32 (*.f32 v %342) cosTheta_O))
(approx %266 %348)
(approx %231 (/.f32 %322 v))
(approx %238 (/.f32 cosTheta_O %240))
(approx %104 (*.f32 #s(literal -1 binary32) %356))
(approx %129 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O %360)))
(approx %137 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O %364)))
(approx %145 (*.f32 #s(literal -1 binary32) %370))
(approx %151 (*.f32 #s(literal -1 binary32) (/.f32 %370 v)))
(approx %178 (*.f32 #s(literal -1 binary32) (/.f32 %377 cosTheta_O)))
(approx %185 (*.f32 #s(literal -1 binary32) (/.f32 (*.f32 v %377) cosTheta_O)))
(approx %231 (*.f32 #s(literal -1 binary32) (/.f32 %356 v)))
(approx sinTheta_i sinTheta_i)
(approx %72 %16)
(approx %73 %43)
(approx %74 %44)
(approx %75 #s(literal 1 binary32))
(approx %75 %393)
(approx %75 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %395 (*.f32 #s(literal 1/2 binary32) %398)))))
(approx %75 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %395 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) %409 %411))))))
(approx %418 %419)
(approx %37 (*.f32 #s(literal -1 binary32) sinTheta_i))
(approx %160 %423)
(approx %160 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal 1/2 binary32) %398 %395))))
(approx %160 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_i (fma.f32 sinTheta_i (fma.f32 #s(literal 1/6 binary32) %409 %411) %395))))
(approx %41 (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) %84)))
(approx %41 (+.f32 cosTheta_i (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %439 (*.f32 #s(literal 1/2 binary32) (/.f32 %440 %51))))))
(approx %41 (+.f32 cosTheta_i (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %439 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %447 %408) (*.f32 #s(literal 1/2 binary32) (/.f32 %449 %51))))))))
(approx %189 v)
(approx %189 %459)
(approx %189 (+.f32 v (*.f32 sinTheta_i (+.f32 sinTheta_O (*.f32 #s(literal 1/2 binary32) (/.f32 %397 v))))))
(approx %189 (+.f32 v (*.f32 sinTheta_i (+.f32 sinTheta_O (*.f32 sinTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 %407 %51) (*.f32 #s(literal 1/2 binary32) (/.f32 %396 v))))))))
(approx %476 (/.f32 #s(literal 1/2 binary32) v))
(approx %476 (fma.f32 #s(literal -1/2 binary32) %479 %480))
(approx %476 (fma.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %483 (*.f32 #s(literal 1/4 binary32) %485)) %480))
(approx %476 (fma.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %483 (*.f32 sinTheta_i (fma.f32 #s(literal -1/12 binary32) %493 (*.f32 #s(literal 1/4 binary32) %494)))) %480))
(approx %501 (/.f32 #s(literal 2 binary32) %62))
(approx %501 (fma.f32 #s(literal -2 binary32) %504 %506))
(approx %501 (fma.f32 sinTheta_i (fma.f32 #s(literal -2 binary32) %509 %510) %506))
(approx %501 (fma.f32 sinTheta_i (fma.f32 #s(literal -2 binary32) %509 (*.f32 sinTheta_i (fma.f32 #s(literal -1/3 binary32) %516 %517))) %506))
(approx %76 (fma.f32 #s(literal -1 binary32) %523 %11))
(approx %76 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %527 (*.f32 #s(literal 1/2 binary32) (/.f32 %528 %408))) %11))
(approx %76 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %527 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %534 %492) %538))) %11))
(approx %92 %321)
(approx %98 %545)
(approx %271 %59)
(approx %271 (fma.f32 #s(literal -1 binary32) %479 %59))
(approx %271 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %483 (*.f32 #s(literal 1/2 binary32) %485)) %59))
(approx %271 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %483 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) %493 (*.f32 #s(literal 1/2 binary32) %494)))) %59))
(approx %255 %505)
(approx %255 (fma.f32 #s(literal -1 binary32) %504 %505))
(approx %255 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %509 (*.f32 #s(literal 1/2 binary32) %510)) %505))
(approx %255 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %509 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) %516 (*.f32 #s(literal 1/2 binary32) %517)))) %505))
(approx %573 %574)
(approx %578 (/.f32 %393 sinTheta_i))
(approx %583 %584)
(approx %583 %586)
(approx %129 %588)
(approx %145 %590)
(approx %593 %94)
(approx %595 #s(literal 1/2 binary32))
(approx %595 %95)
(approx %598 %599)
(approx %598 (fma.f32 #s(literal -1 binary32) (/.f32 %16 %240) %599))
(approx %598 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %604 (*.f32 #s(literal 1/2 binary32) (/.f32 %397 %515))) %599))
(approx %598 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %604 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %407 %610) (*.f32 #s(literal 1/2 binary32) (/.f32 %396 %515))))) %599))
(approx %162 %619)
(approx %162 (+.f32 (/.f32 (*.f32 sinTheta_O %621) %7) %619))
(approx %162 (fma.f32 sinTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %396 %626) %7) %630) %619))
(approx %162 (fma.f32 sinTheta_i (fma.f32 sinTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 %406 %626) %115) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 %396 %62) %7))) %630) %619))
(approx %178 %644)
(approx %185 %648)
(approx %650 #s(literal -1 binary32))
(approx %650 %652)
(approx %654 (*.f32 #s(literal -1 binary32) v))
(approx %654 %657)
(approx %659 %661)
(approx %190 (fma.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i %663)) %527) %11))
(approx %190 (fma.f32 sinTheta_i (-.f32 (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %663) v) (fma.f32 #s(literal -1/2 binary32) %673 (*.f32 #s(literal 1/6 binary32) %673))))) %663)) %527) %11))
(approx %217 (fma.f32 #s(literal -1 binary32) (/.f32 %20 %515) %241))
(approx %217 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %687 (*.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_i %689))) %241))
(approx %217 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %687 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %698 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %689) v) (*.f32 #s(literal 1/3 binary32) %698)))) (*.f32 #s(literal -1/2 binary32) %689)))) %241))
(approx %231 (fma.f32 #s(literal -1/2 binary32) %523 %224))
(approx %245 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %687 (*.f32 #s(literal 1/2 binary32) (/.f32 %528 %610))) %241))
(approx %245 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %687 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %534 %697) (*.f32 #s(literal 1/2 binary32) %688)))) %241))
(approx %249 %726)
(approx %249 (fma.f32 #s(literal -1 binary32) (/.f32 %17 %63) %726))
(approx %249 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %731 (*.f32 #s(literal 1/2 binary32) (/.f32 %440 %240))) %726))
(approx %249 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %731 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %447 %515) (*.f32 #s(literal 1/2 binary32) (/.f32 %449 %240))))) %726))
(approx %256 %64)
(approx %256 (fma.f32 #s(literal -1 binary32) %746 %64))
(approx %256 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %749 (*.f32 #s(literal 1/2 binary32) (/.f32 %528 %515))) %64))
(approx %256 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %749 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %534 %610) (*.f32 #s(literal 1/2 binary32) %756)))) %64))
(approx %261 (fma.f32 #s(literal -2 binary32) %746 %65))
(approx %261 (fma.f32 #s(literal 2 binary32) %64 (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i %765)) %768))))
(approx %261 (fma.f32 #s(literal 2 binary32) %64 (*.f32 sinTheta_i (-.f32 (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %773 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %765) v) (*.f32 #s(literal 1/3 binary32) %773))))) %765)) %768))))
(approx %268 (fma.f32 #s(literal -1 binary32) (/.f32 %20 %408) %52))
(approx %268 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %790 (*.f32 #s(literal 1/2 binary32) (/.f32 %528 %492))) %52))
(approx %268 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %790 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %534 %696) (*.f32 #s(literal 1/2 binary32) (/.f32 %536 %492))))) %52))
(approx %75 %78)
(approx %40 %45)
(approx %160 %163)
(approx %189 %191)
(approx %476 (*.f32 #s(literal 1/2 binary32) %808))
(approx %501 (*.f32 #s(literal 2 binary32) %811))
(approx %92 (*.f32 #s(literal -1/2 binary32) %84))
(approx %92 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %439 (*.f32 #s(literal 1/2 binary32) %816))))
(approx %98 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %821 (*.f32 #s(literal 1/2 binary32) %822))))
(approx %827 (*.f32 sinTheta_i (+.f32 %574 %395)))
(approx %271 %808)
(approx %255 %811)
(approx %578 %833)
(approx %578 %835)
(approx %837 %838)
(approx %583 %840)
(approx %583 (*.f32 sinTheta_i %843))
(approx %129 (*.f32 #s(literal -1/2 binary32) %120))
(approx %129 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %11 (*.f32 #s(literal 1/2 binary32) %848))))
(approx %145 %853)
(approx %145 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %526 (*.f32 #s(literal 1/2 binary32) %855))))
(approx %595 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %395 %860)))
(approx %598 (/.f32 %45 %63))
(approx %178 (*.f32 #s(literal 2 binary32) %169))
(approx %178 (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) %868 %870)))
(approx %185 %647)
(approx %185 (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) %875 (*.f32 #s(literal 2 binary32) %876))))
(approx %650 %882)
(approx %654 %887)
(approx %659 %660)
(approx %659 %891)
(approx %231 (*.f32 #s(literal -1/2 binary32) %523))
(approx %231 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %527 (*.f32 #s(literal 1/2 binary32) %896))))
(approx %92 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %816 (*.f32 #s(literal 1/2 binary32) %439)))))
(approx %98 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %822 (*.f32 #s(literal 1/2 binary32) %821)))))
(approx %827 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 %833 %574))))
(approx %837 (*.f32 #s(literal -1 binary32) %882))
(approx %583 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i %917)))
(approx %129 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %848 %224))))
(approx %145 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %855 (*.f32 #s(literal 1/2 binary32) %526)))))
(approx %595 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal 1/2 binary32) %395) %860))))
(approx %178 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -2 binary32) %868) %870))))
(approx %185 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -2 binary32) %875 (*.f32 #s(literal -2 binary32) %876)))))
(approx %650 (*.f32 #s(literal -1 binary32) %838))
(approx %654 (*.f32 #s(literal -1 binary32) %891))
(approx %659 (*.f32 #s(literal -1 binary32) %887))
(approx %231 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %896 (*.f32 #s(literal 1/2 binary32) %527)))))
(approx sinTheta_O sinTheta_O)
(approx %75 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %419 (*.f32 #s(literal 1/2 binary32) %959)))))
(approx %75 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %419 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) %967 %969))))))
(approx %38 %395)
(approx %160 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) %959 %419))))
(approx %160 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O (fma.f32 sinTheta_O (fma.f32 #s(literal 1/6 binary32) %967 %969) %419))))
(approx %41 (+.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %324 (*.f32 #s(literal 1/2 binary32) (/.f32 %986 %51))))))
(approx %41 (+.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %324 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %993 %408) (*.f32 #s(literal 1/2 binary32) (/.f32 %995 %51))))))))
(approx %189 (+.f32 v (*.f32 sinTheta_O (+.f32 sinTheta_i (*.f32 #s(literal 1/2 binary32) (/.f32 %958 v))))))
(approx %189 (+.f32 v (*.f32 sinTheta_O (+.f32 sinTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 %966 %51) (*.f32 #s(literal 1/2 binary32) (/.f32 %957 v))))))))
(approx %476 (fma.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1019 (*.f32 #s(literal 1/4 binary32) %1020)) %480))
(approx %476 (fma.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1019 (*.f32 sinTheta_O (fma.f32 #s(literal -1/12 binary32) %1025 (*.f32 #s(literal 1/4 binary32) %1026)))) %480))
(approx %501 (fma.f32 sinTheta_O (fma.f32 #s(literal -2 binary32) %1033 %1034) %506))
(approx %501 (fma.f32 sinTheta_O (fma.f32 #s(literal -2 binary32) %1033 (*.f32 sinTheta_O (fma.f32 #s(literal -1/3 binary32) %1038 %1039))) %506))
(approx %76 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1045 (*.f32 #s(literal 1/2 binary32) (/.f32 %1046 %408))) %11))
(approx %76 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1045 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1052 %492) %1056))) %11))
(approx %271 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1019 (*.f32 #s(literal 1/2 binary32) %1020)) %59))
(approx %271 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1019 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) %1025 (*.f32 #s(literal 1/2 binary32) %1026)))) %59))
(approx %255 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1033 (*.f32 #s(literal 1/2 binary32) %1034)) %505))
(approx %255 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1033 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) %1038 (*.f32 #s(literal 1/2 binary32) %1039)))) %505))
(approx %583 (/.f32 %393 sinTheta_O))
(approx %129 (/.f32 %545 sinTheta_O))
(approx %598 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1086 (*.f32 #s(literal 1/2 binary32) (/.f32 %958 %515))) %599))
(approx %598 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1086 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %966 %610) (*.f32 #s(literal 1/2 binary32) (/.f32 %957 %515))))) %599))
(approx %162 (fma.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 sinTheta_O %1100) %7) %1103) %619))
(approx %162 (fma.f32 sinTheta_O (fma.f32 sinTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 (*.f32 sinTheta_O (*.f32 %965 %62)) %115) (*.f32 #s(literal 1/2 binary32) (/.f32 %1100 %7))) %1103) %619))
(approx %190 (fma.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %1116)) %1045) %11))
(approx %190 (fma.f32 sinTheta_O (-.f32 (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_i %1116) v) (fma.f32 #s(literal -1/2 binary32) %1126 (*.f32 #s(literal 1/6 binary32) %1126))))) %1116)) %1045) %11))
(approx %217 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1137 (*.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_O %1139))) %241))
(approx %217 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1137 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1145 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_i %1139) v) (*.f32 #s(literal 1/3 binary32) %1145)))) (*.f32 #s(literal -1/2 binary32) %1139)))) %241))
(approx %245 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1137 (*.f32 #s(literal 1/2 binary32) (/.f32 %1046 %610))) %241))
(approx %245 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1137 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1052 %697) (*.f32 #s(literal 1/2 binary32) %1138)))) %241))
(approx %249 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1170 (*.f32 #s(literal 1/2 binary32) (/.f32 %986 %240))) %726))
(approx %249 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1170 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %993 %515) (*.f32 #s(literal 1/2 binary32) (/.f32 %995 %240))))) %726))
(approx %256 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1184 (*.f32 #s(literal 1/2 binary32) (/.f32 %1046 %515))) %64))
(approx %256 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1184 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1052 %610) (*.f32 #s(literal 1/2 binary32) %1191)))) %64))
(approx %261 (fma.f32 #s(literal 2 binary32) %64 (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %1198)) %1201))))
(approx %261 (fma.f32 #s(literal 2 binary32) %64 (*.f32 sinTheta_O (-.f32 (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1206 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_i %1198) v) (*.f32 #s(literal 1/3 binary32) %1206))))) %1198)) %1201))))
(approx %268 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1220 (*.f32 #s(literal 1/2 binary32) (/.f32 %1046 %492))) %52))
(approx %268 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1220 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1052 %696) (*.f32 #s(literal 1/2 binary32) (/.f32 %1054 %492))))) %52))
(approx %92 %330)
(approx %98 (*.f32 sinTheta_O %588))
(approx %827 (*.f32 sinTheta_O (+.f32 %584 %419)))
(approx %578 (*.f32 sinTheta_O %843))
(approx %837 %1242)
(approx %145 (*.f32 sinTheta_O %1246))
(approx %595 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %419 %1249)))
(approx %178 (*.f32 sinTheta_O (fma.f32 #s(literal 2 binary32) %1253 %1255)))
(approx %185 (*.f32 sinTheta_O (fma.f32 #s(literal 2 binary32) %1259 (*.f32 #s(literal 2 binary32) %1260))))
(approx %650 %1266)
(approx %654 %1271)
(approx %659 %1274)
(approx %231 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1045 (*.f32 #s(literal 1/2 binary32) %1277))))
(approx %92 (*.f32 #s(literal -1 binary32) %364))
(approx %98 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %123 (*.f32 #s(literal 1/2 binary32) %120)))))
(approx %827 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 %840 %584))))
(approx %578 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %917)))
(approx %837 (*.f32 #s(literal -1 binary32) %1266))
(approx %145 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1244 (*.f32 #s(literal 1/2 binary32) %26)))))
(approx %595 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal 1/2 binary32) %419) %1249))))
(approx %178 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -2 binary32) %1253) %1255))))
(approx %185 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -2 binary32) %1259 (*.f32 #s(literal -2 binary32) %1260)))))
(approx %650 (*.f32 #s(literal -1 binary32) %1242))
(approx %654 (*.f32 #s(literal -1 binary32) %1274))
(approx %659 (*.f32 #s(literal -1 binary32) %1271))
(approx %231 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1277 (*.f32 #s(literal 1/2 binary32) %1045)))))
(approx %56 (*.f32 #s(literal 1/2 binary32) %62))
(approx %215 %62)
(approx %216 %63)
(approx %194 %60)
(approx %1334 %61)
(approx %67 (*.f32 #s(literal 2 binary32) v))
(approx %237 %240)
(approx %48 %51)
(approx %92 (/.f32 %334 v))
(approx %98 (/.f32 %590 v))
(approx %827 (/.f32 %459 v))
(approx %578 (/.f32 %890 v))
(approx %837 (/.f32 %661 v))
(approx %583 (/.f32 %1273 v))
(approx %129 (/.f32 %1246 v))
(approx %595 (/.f32 (fma.f32 #s(literal -1/2 binary32) %16 %1354) v))
(approx (* 1/2 v) %1354)
(approx %178 (/.f32 %648 v))
(approx %650 (/.f32 %657 v))
(approx %195 (/.f32 #s(literal -1 binary32) v))
(approx %196 %201)
(approx %197 %202)
(approx %198 %203)
(approx %1369 (/.f32 #s(literal 1 binary32) %203))
(approx %231 (/.f32 %590 %51))
(approx %75 %1378)
(approx %75 %1384)
(approx %56 (/.f32 %1388 v))
(approx %56 (/.f32 (+.f32 #s(literal 1 binary32) (+.f32 %1392 %1387)) v))
(approx %56 (/.f32 (+.f32 #s(literal 1 binary32) (+.f32 %1392 (fma.f32 #s(literal 1/6 binary32) %1386 (*.f32 #s(literal 1/5040 binary32) %1400)))) v))
(approx %215 (/.f32 #s(literal 2 binary32) v))
(approx %215 (/.f32 %1410 v))
(approx %215 (/.f32 %1416 v))
(approx %215 (/.f32 %1423 v))
(approx %216 #s(literal 2 binary32))
(approx %216 %1410)
(approx %216 %1416)
(approx %216 %1423)
(approx %194 (+.f32 #s(literal 1 binary32) %59))
(approx %194 (+.f32 #s(literal 1 binary32) (+.f32 %1432 %59)))
(approx %194 (+.f32 #s(literal 1 binary32) (+.f32 %1432 %1438)))
(approx %1334 (-.f32 #s(literal 1 binary32) %59))
(approx %1334 (-.f32 %1444 %59))
(approx %1334 (-.f32 %1444 %1438))
(approx %160 %1450)
(approx %160 %1453)
(approx %41 (+.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %84 %1457)))
(approx %41 (+.f32 cosTheta_i (fma.f32 #s(literal -1 binary32) %84 (fma.f32 #s(literal -1/6 binary32) (/.f32 %1461 %408) %1457))))
(approx %189 (*.f32 v %423))
(approx %189 (*.f32 v %1450))
(approx %189 (*.f32 v %1453))
(approx %1473 (*.f32 v (-.f32 #s(literal 1 binary32) %1387)))
(approx %1473 (*.f32 v (-.f32 %1479 %1387)))
(approx %1473 (*.f32 v (-.f32 %1479 %1485)))
(approx %237 (*.f32 v %1410))
(approx %237 (*.f32 v %1416))
(approx %237 (*.f32 v %1423))
(approx %57 (fma.f32 #s(literal -1/6 binary32) %52 %7))
(approx %57 (-.f32 (fma.f32 #s(literal -1 binary32) %1500 %7) %1502))
(approx %57 (-.f32 (fma.f32 #s(literal -1 binary32) %1509 %7) (fma.f32 #s(literal -1/36 binary32) %1511 (fma.f32 #s(literal 1/120 binary32) %1511 %1502))))
(approx %476 (/.f32 %95 v))
(approx %476 (/.f32 (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal -1/2 binary32) %43 %1518)) v))
(approx %476 (/.f32 (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal -1/2 binary32) %43 (fma.f32 #s(literal -1/12 binary32) %1381 %1518))) v))
(approx %501 %1528)
(approx %501 (*.f32 v (-.f32 %1378 %1530)))
(approx %501 (*.f32 v (-.f32 %1384 (fma.f32 #s(literal -1/6 binary32) (/.f32 %16 %408) %1530))))
(approx %76 (/.f32 %1539 v))
(approx %76 (/.f32 %1545 v))
(approx %76 (/.f32 %1551 v))
(approx %271 (/.f32 %393 v))
(approx %271 (/.f32 %1378 v))
(approx %271 (/.f32 %1384 v))
(approx %1561 (*.f32 v %1564))
(approx %1561 (*.f32 v %1570))
(approx %1561 (*.f32 v %1576))
(approx %255 (*.f32 v %95))
(approx %255 (*.f32 v %1586))
(approx %255 (*.f32 v %1595))
(approx %145 (*.f32 v %545))
(approx %598 %1586)
(approx %598 %1595)
(approx %162 (*.f32 v %644))
(approx %162 (*.f32 v (fma.f32 #s(literal 2 binary32) %169 %1608)))
(approx %162 (*.f32 v (fma.f32 #s(literal 2 binary32) %169 (fma.f32 #s(literal 2 binary32) (/.f32 %1614 %408) %1608))))
(approx %654 %1620)
(approx %190 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %1623 %51) %7) %29) v))
(approx %190 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1630 (fma.f32 #s(literal -1/2 binary32) %1548 (*.f32 #s(literal 1/6 binary32) %1548))) %408) %7) (fma.f32 #s(literal -1 binary32) %1543 (fma.f32 #s(literal 1/2 binary32) %1543 %29))) v))
(approx %199 (/.f32 %1641 v))
(approx %199 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %1647 %492) %221) %1650) v))
(approx %199 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %1647 (fma.f32 #s(literal -1/1440 binary32) %7 (*.f32 #s(literal 1/10080 binary32) %7))) %1399) %221) (fma.f32 #s(literal -1/72 binary32) %1511 (fma.f32 #s(literal 1/240 binary32) %1511 %1650))) v))
(approx %206 (*.f32 #s(literal 1/2 binary32) %32))
(approx %206 (/.f32 %1669 v))
(approx %206 (/.f32 %1677 v))
(approx %206 (/.f32 %1688 v))
(approx %209 %333)
(approx %209 (*.f32 v %1669))
(approx %209 (*.f32 v %1677))
(approx %209 (*.f32 v %1688))
(approx %1369 (/.f32 %1564 v))
(approx %1369 (/.f32 %1570 v))
(approx %1369 (/.f32 %1576 v))
(approx %212 (*.f32 v (fma.f32 #s(literal 2 binary32) %172 (*.f32 #s(literal 1/3 binary32) %1706))))
(approx %212 (*.f32 v (+.f32 (/.f32 #s(literal 1/60 binary32) %1712) %1715)))
(approx %212 (*.f32 v (+.f32 %1714 (fma.f32 #s(literal 2 binary32) %172 (fma.f32 #s(literal 1/60 binary32) (/.f32 #s(literal 1 binary32) %1712) (*.f32 #s(literal 1/2520 binary32) (/.f32 #s(literal 1 binary32) (*.f32 cosTheta_O (*.f32 cosTheta_i %1399)))))))))
(approx %217 (/.f32 %545 v))
(approx %217 (/.f32 (fma.f32 #s(literal -1/2 binary32) %29 %1736) v))
(approx %217 (/.f32 (fma.f32 #s(literal -1/2 binary32) %29 (fma.f32 #s(literal -1/2 binary32) %1752 %1736)) v))
(approx %238 (*.f32 #s(literal 1/2 binary32) %319))
(approx %238 (/.f32 %1759 v))
(approx %238 (/.f32 %1765 v))
(approx %238 (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %1763 (fma.f32 #s(literal -1/720 binary32) cosTheta_O (*.f32 #s(literal 1/5040 binary32) cosTheta_O))) %1399) %1765) v))
(approx %239 (/.f32 %1775 v))
(approx %239 (/.f32 (fma.f32 #s(literal -1/2 binary32) %1509 %1775) v))
(approx %245 (/.f32 %1786 v))
(approx %245 (/.f32 %1795 v))
(approx %249 (*.f32 v %321))
(approx %249 (*.f32 v (fma.f32 #s(literal -1/2 binary32) %84 (fma.f32 #s(literal 1/2 binary32) cosTheta_i %1804))))
(approx %249 (*.f32 v (fma.f32 #s(literal -1/2 binary32) %84 (fma.f32 #s(literal 1/2 binary32) cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 %1811 %408) %1804)))))
(approx %256 %1786)
(approx %256 %1795)
(approx %261 %1539)
(approx %261 (-.f32 (fma.f32 #s(literal -1 binary32) %1735 %7) %29))
(approx %261 (-.f32 (fma.f32 #s(literal -1 binary32) %1752 %7) (fma.f32 #s(literal -1 binary32) %1543 (+.f32 %29 (/.f32 %1733 %51)))))
(approx %268 (/.f32 %1539 %51))
(approx %268 (/.f32 %1545 %51))
(approx %268 (/.f32 %1551 %51))
(approx %75 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %1836 %16) v))))
(approx %75 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %1842 %1581) v) %16) v))))
(approx %56 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/6 binary32) (*.f32 #s(literal 1/120 binary32) %1386)) %51)) #s(literal 1 binary32)) v)))
(approx %56 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/120 binary32) (*.f32 #s(literal 1/5040 binary32) %1386)) %492)) %1388) v)))
(approx %215 (*.f32 #s(literal -1 binary32) (/.f32 %1870 v)))
(approx %215 (*.f32 #s(literal -1 binary32) (/.f32 %1878 v)))
(approx %194 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/2 binary32) %1882) v)) #s(literal 1 binary32)) v))))
(approx %1334 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 #s(literal 1 binary32) %480) v))))
(approx %1334 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 #s(literal 1/2 binary32) %1882) v))) v))))
(approx %160 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %16 (*.f32 #s(literal -1/2 binary32) %1836)) v))))
(approx %160 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %16 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) %1842 %1581) v))) v))))
(approx %41 (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1455 v) %17) v))))
(approx %41 (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) (/.f32 %1461 v) %1800) v) %17) v))))
(approx %189 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %44 #s(literal 1 binary32)))))
(approx %189 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) %1836 %16) v)) #s(literal 1 binary32)))))
(approx %189 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %1374 (*.f32 #s(literal -1/6 binary32) %1842)) v) %16) v)) #s(literal 1 binary32)))))
(approx %1473 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %1387 #s(literal 1 binary32)))))
(approx %1473 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %1387 %1479))))
(approx %1473 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %1485 %1479))))
(approx %237 (*.f32 #s(literal -1 binary32) (*.f32 v %1870)))
(approx %237 (*.f32 #s(literal -1 binary32) (*.f32 v %1878)))
(approx %57 (fma.f32 #s(literal -1/6 binary32) %52 (fma.f32 #s(literal -1/120 binary32) %1511 %1973)))
(approx %57 (fma.f32 #s(literal -1/6 binary32) %52 (fma.f32 #s(literal -1/6 binary32) (/.f32 %1978 %1399) (fma.f32 #s(literal -1/120 binary32) %1511 (fma.f32 #s(literal -1/5040 binary32) %1981 (fma.f32 #s(literal 1/720 binary32) %1981 %1973))))))
(approx %476 (*.f32 #s(literal -1 binary32) (/.f32 %276 v)))
(approx %476 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %16 (*.f32 #s(literal 1/4 binary32) %1836)) v)) #s(literal 1/2 binary32)) v)))
(approx %476 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) %1374 (*.f32 #s(literal 1/12 binary32) %1842)) v) %2004) v)) #s(literal 1/2 binary32)) v)))
(approx %501 (*.f32 #s(literal -1 binary32) %1620))
(approx %501 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %16 (*.f32 #s(literal -1 binary32) %2016)) v)) #s(literal 1 binary32)))))
(approx %501 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %16 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/6 binary32) (fma.f32 #s(literal -1 binary32) %2025 %2014)) v))) v)) #s(literal 1 binary32)))))
(approx %76 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 %29) v)))
(approx %76 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %20 (*.f32 #s(literal 1/2 binary32) %2041)) v))) v)))
(approx %76 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %20 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %1542 (*.f32 #s(literal 1/6 binary32) %2050)) v))) v))) v)))
(approx %271 (*.f32 #s(literal -1 binary32) (/.f32 %652 v)))
(approx %271 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %16 (*.f32 #s(literal 1/2 binary32) %1836)) v)) #s(literal 1 binary32)) v)))
(approx %271 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %16 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %1374 (*.f32 #s(literal 1/6 binary32) %1842)) v))) v)) #s(literal 1 binary32)) v)))
(approx %1561 (*.f32 #s(literal -1 binary32) (*.f32 v %2084)))
(approx %1561 (*.f32 #s(literal -1 binary32) (*.f32 v %2088)))
(approx %1561 (*.f32 #s(literal -1 binary32) (*.f32 v %2092)))
(approx %255 (*.f32 #s(literal -1 binary32) (*.f32 v %276)))
(approx %255 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %16 (*.f32 #s(literal -1/2 binary32) %2016)) v)) #s(literal 1/2 binary32)))))
(approx %255 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %2025 (*.f32 #s(literal 1/2 binary32) %2015)) v) %2004) v)) #s(literal 1/2 binary32)))))
(approx %145 (*.f32 #s(literal -1 binary32) (*.f32 v %2118)))
(approx %598 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) %16 (*.f32 #s(literal 1/2 binary32) %2016)) v))))
(approx %598 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %2015 (*.f32 #s(literal 1/2 binary32) %2025)) v) (*.f32 #s(literal 1/2 binary32) %16)) v))))
(approx %162 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -2 binary32) %169) %643))))
(approx %162 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) (/.f32 %2143 v) %647) v)) %643))))
(approx %162 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) (/.f32 %1614 v) (*.f32 #s(literal 2 binary32) %2143)) v) %647) v)) %643))))
(approx %654 (*.f32 #s(literal -1 binary32) %1528))
(approx %190 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %20 (*.f32 #s(literal -1 binary32) (/.f32 %1623 v))) v))) v)))
(approx %190 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %20 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %1542 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %1548 (fma.f32 #s(literal 1/2 binary32) %1548 %1630)) v) %1622)) v))) v))) v)))
(approx %199 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %7 %1650) v)))
(approx %199 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %2195 %492) %2197) (*.f32 #s(literal -1/12 binary32) %52)) v)))
(approx %199 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %2195 (fma.f32 #s(literal -1/10080 binary32) %7 (*.f32 #s(literal 1/1440 binary32) %7))) %1399) %2197) (fma.f32 #s(literal -1/12 binary32) %52 (fma.f32 #s(literal -1/240 binary32) %1511 (*.f32 #s(literal 1/72 binary32) %1511)))) v)))
(approx %206 (*.f32 #s(literal -1 binary32) (/.f32 %2218 v)))
(approx %206 (*.f32 #s(literal -1 binary32) (/.f32 %2228 v)))
(approx %206 (*.f32 #s(literal -1 binary32) (/.f32 %2240 v)))
(approx %209 (*.f32 #s(literal -1 binary32) (*.f32 v %2218)))
(approx %209 (*.f32 #s(literal -1 binary32) (*.f32 v %2228)))
(approx %209 (*.f32 #s(literal -1 binary32) (*.f32 v %2240)))
(approx %1369 (*.f32 #s(literal -1 binary32) (/.f32 %2084 v)))
(approx %1369 (*.f32 #s(literal -1 binary32) (/.f32 %2088 v)))
(approx %1369 (*.f32 #s(literal -1 binary32) (/.f32 %2092 v)))
(approx %212 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/3 binary32) %172 (*.f32 #s(literal 1/60 binary32) %1706)) %51)) %643))))
(approx %212 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/60 binary32) %172 (*.f32 #s(literal 1/2520 binary32) %1706)) %492)) %1715))))
(approx %217 (*.f32 #s(literal -1 binary32) (/.f32 %2118 v)))
(approx %217 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %20 (*.f32 #s(literal 1/2 binary32) %2285)) v) %2197) v)))
(approx %217 (*.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/2 binary32) %2284 (*.f32 #s(literal 1/2 binary32) %2300)) v) %853) v) %2197) v)))
(approx %238 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) cosTheta_O %2310) v)))
(approx %238 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) cosTheta_O %2318) v)))
(approx %238 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %2316 (fma.f32 #s(literal -1/5040 binary32) cosTheta_O (*.f32 #s(literal 1/720 binary32) cosTheta_O))) %1399) %2318)) v)))
(approx %239 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %7 %2333) v)))
(approx %239 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %7 (fma.f32 #s(literal -1/2 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %1978 (fma.f32 #s(literal -1/5040 binary32) %7 (*.f32 #s(literal 1/720 binary32) %7))) %1399) %2333)) v)))
(approx %245 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %20 (*.f32 #s(literal -1/2 binary32) %2350)) v) %2197) v)))
(approx %245 (*.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/2 binary32) %2358 (*.f32 #s(literal 1/2 binary32) %2349)) v) %853) v) %2197) v)))
(approx %249 (*.f32 #s(literal -1 binary32) (*.f32 v %355)))
(approx %249 (*.f32 #s(literal -1 binary32) (*.f32 v (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %17 (*.f32 #s(literal -1/2 binary32) (/.f32 %2373 v))) v) %2225))))
(approx %249 (*.f32 #s(literal -1 binary32) (*.f32 v (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %1811 v) (*.f32 #s(literal 1/2 binary32) %2373)) v) (*.f32 #s(literal -1/2 binary32) %17)) v) %2225))))
(approx %256 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) %20 (*.f32 #s(literal 1/2 binary32) %2350)) v) %221))
(approx %256 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %2349 (*.f32 #s(literal 1/2 binary32) %2358)) v) (*.f32 #s(literal 1/2 binary32) %20)) v) %221))
(approx %261 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2285 %20) v) %7))
(approx %261 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2300 %2284) v) %20) v) %7))
(approx %268 (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %2041 %20) v) %7) %51))
(approx %268 (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %2050 %1622) v) %20) v) %7) %51))
Calls

15 calls:

TimeVariablePoint
53.0ms
v
0
53.0ms
cosTheta_O
0
51.0ms
cosTheta_O
inf
50.0ms
sinTheta_i
-inf
41.0ms
sinTheta_O
-inf

rewrite2.3s (5.3%)

Counts
227 → 1 792
Calls
Call 1
Inputs
%2 = (*.f32 sinTheta_i sinTheta_O)
%4 = (/.f32 %2 v)
%5 = (neg.f32 %4)
%6 = (exp.f32 %5)
%9 = (*.f32 cosTheta_i cosTheta_O)
%10 = (/.f32 %9 v)
%12 = (/.f32 #s(literal 1 binary32) v)
%13 = (sinh.f32 %12)
%15 = (*.f32 %13 #s(literal 2 binary32))
%16 = (*.f32 %15 v)
%17 = (*.f32 cosTheta_O cosTheta_i)
%18 = (*.f32 sinTheta_O sinTheta_i)
%19 = (/.f32 %18 v)
%20 = (exp.f32 %12)
%21 = (/.f32 #s(literal 1 binary32) %20)
%22 = (-.f32 %20 %21)
%25 = (/ (* sinTheta_i sinTheta_O) v)
%27 = (exp (neg %25))
%28 = (approx %27 #s(literal 1 binary32))
%29 = (/.f32 sinTheta_O v)
%31 = (*.f32 cosTheta_i %18)
%32 = (*.f32 cosTheta_O %31)
%33 = (/.f32 sinTheta_i v)
%34 = (*.f32 cosTheta_i sinTheta_i)
%35 = (*.f32 cosTheta_O %34)
%36 = (/.f32 %32 v)
%38 = (neg.f32 sinTheta_i)
%39 = (*.f32 %38 %29)
%40 = (exp.f32 %39)
%41 = (exp.f32 %4)
%42 = (/.f32 cosTheta_O v)
%43 = (*.f32 cosTheta_i %42)
%44 = (/.f32 cosTheta_i v)
%45 = (*.f32 cosTheta_O %44)
%46 = (*.f32 cosTheta_i %12)
%47 = (*.f32 cosTheta_O %46)
%48 = (*.f32 %9 %12)
%49 = (/.f32 v %9)
%50 = (/.f32 #s(literal 1 binary32) %49)
%51 = (*.f32 %40 cosTheta_i)
%52 = (*.f32 v %41)
%53 = (/.f32 #s(literal 1/2 binary32) v)
%54 = (/.f32 #s(literal 2 binary32) %15)
%55 = (/.f32 #s(literal 1 binary32) %54)
%56 = (+.f32 v v)
%57 = (*.f32 %13 %56)
%58 = (*.f32 v %57)
%59 = (*.f32 v v)
%60 = (/.f32 %9 %59)
%61 = (/.f32 %10 %13)
%62 = (/.f32 %40 %56)
%63 = (/.f32 %40 %13)
%64 = (/.f32 %10 %56)
%65 = (*.f32 %28 %10)
%66 = (*.f32 %55 #s(literal 2 binary32))
%67 = (*.f32 %66 v)
%68 = (/.f32 %31 v)
%69 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%70 = (fma.f32 #s(literal -1/2 binary32) %68 %69)
%71 = (*.f32 cosTheta_O %70)
%73 = (* sinTheta_O sinTheta_i)
%81 = (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i %73)) v)) (* 1/2 (* cosTheta_O cosTheta_i)))
%82 = (approx %81 %71)
%83 = (+.f32 #s(literal 1 binary32) %19)
%84 = (exp %25)
%85 = (approx %84 %83)
%87 = (/ 1 v)
%91 = (exp (* (neg sinTheta_i) (/ sinTheta_O v)))
%93 = (approx (* %87 %91) %12)
%94 = (/.f32 #s(literal 1 binary32) %22)
%95 = (sinh %87)
%97 = (* %95 2)
%98 = (/ %91 %97)
%99 = (approx %98 %94)
%100 = (+ v v)
%102 = (approx (/ %91 %100) %53)
%103 = (/.f32 #s(literal 2 binary32) %22)
%104 = (/ %91 %95)
%105 = (approx %104 %103)
%106 = (*.f32 cosTheta_i v)
%107 = (*.f32 cosTheta_O %106)
%108 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%109 = (fma.f32 #s(literal -1 binary32) %29 %108)
%110 = (*.f32 sinTheta_i %109)
%114 = (+ 1 (* -1 (/ %73 v)))
%115 = (approx %114 %110)
%116 = (*.f32 #s(literal -1/2 binary32) %36)
%117 = (approx %81 %116)
%118 = (/.f32 %35 v)
%119 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%120 = (fma.f32 #s(literal -1 binary32) %33 %119)
%121 = (*.f32 sinTheta_O %120)
%122 = (approx %114 %121)
%123 = (/.f32 %17 sinTheta_O)
%124 = (*.f32 #s(literal 1/2 binary32) %123)
%125 = (fma.f32 #s(literal -1/2 binary32) %118 %124)
%126 = (*.f32 sinTheta_O %125)
%127 = (approx %81 %126)
%128 = (*.f32 #s(literal 1/2 binary32) %107)
%129 = (fma.f32 #s(literal -1/2 binary32) %32 %128)
%130 = (/.f32 %129 v)
%131 = (approx %81 %130)
%132 = (*.f32 #s(literal -1/2 binary32) %19)
%133 = (+.f32 #s(literal 1/2 binary32) %132)
%134 = (* %95 %100)
%136 = (approx (/ %91 %134) %133)
%137 = (*.f32 #s(literal 1/2 binary32) v)
%138 = (approx %98 %137)
%139 = (/.f32 v %17)
%140 = (*.f32 #s(literal 2 binary32) %139)
%142 = (/ (* cosTheta_i cosTheta_O) v)
%143 = (/ %142 %84)
%144 = (/ %134 %143)
%145 = (approx %144 %140)
%146 = (/.f32 %18 %107)
%147 = (/.f32 #s(literal 1 binary32) %17)
%148 = (*.f32 #s(literal 2 binary32) %147)
%149 = (fma.f32 #s(literal 2 binary32) %146 %148)
%150 = (*.f32 v %149)
%151 = (approx %144 %150)
%152 = (-.f32 %19 #s(literal 1 binary32))
%153 = (*.f32 v %152)
%154 = (*.f32 #s(literal -1 binary32) %153)
%155 = (approx %104 %154)
%156 = (/.f32 %9 %52)
%157 = (neg.f32 %12)
%158 = (exp.f32 %157)
%159 = (-.f32 %20 %158)
%160 = (*.f32 %59 %159)
%161 = (fma.f32 %38 %29 #s(literal 1 binary32))
%162 = (approx %27 %161)
%163 = (*.f32 cosTheta_i %2)
%164 = (*.f32 cosTheta_O %163)
%165 = (/.f32 %9 %160)
%166 = (/.f32 cosTheta_i %160)
%167 = (*.f32 cosTheta_O %166)
%168 = (/.f32 cosTheta_O %59)
%169 = (/.f32 cosTheta_i %159)
%170 = (*.f32 %168 %169)
%171 = (/.f32 #s(literal 1 binary32) %160)
%172 = (*.f32 %9 %171)
%173 = (/.f32 %160 %9)
%174 = (/.f32 #s(literal 1 binary32) %173)
%175 = (* %97 v)
%178 = (/.f32 %164 v)
%179 = (*.f32 #s(literal 1/2 binary32) %9)
%180 = (/.f32 %179 v)
%181 = (fma.f32 #s(literal -1/2 binary32) %178 %179)
%182 = (*.f32 %181 %12)
%183 = (/.f32 v cosTheta_i)
%184 = (/.f32 #s(literal 1 binary32) %183)
%185 = (/.f32 cosTheta_O %58)
%186 = (*.f32 cosTheta_i %185)
%188 = (/.f32 %42 %57)
%190 = (/.f32 %51 %15)
%191 = (/.f32 %42 v)
%193 = (*.f32 cosTheta_i %168)
%194 = (/.f32 #s(literal 1 binary32) %13)
%195 = (*.f32 %10 %194)
%196 = (*.f32 %162 %10)
%200 = (*.f32 #s(literal 1/2 binary32) %43)
%202 = (/ (* %27 %142) %175)
%204 = (*.f32 #s(literal 1/2 binary32) %45)
%206 = (*.f32 #s(literal 1/2 binary32) %48)
%209 = (/.f32 %127 v)
%211 = (/.f32 %131 v)
%213 = (/.f32 %117 v)
%215 = (/.f32 %82 v)
%221 = (*.f32 %99 %10)
%224 = (*.f32 %138 %10)
%226 = (/.f32 %43 %56)
%228 = (/.f32 %43 %41)
%229 = (/.f32 %57 %228)
%231 = (*.f32 %28 %43)
%233 = (/.f32 %50 %41)
%234 = (/.f32 %233 %13)
%236 = (/.f32 %45 %13)
%238 = (/.f32 %45 %41)
%239 = (/.f32 %238 %13)
%241 = (/.f32 %48 %13)
%243 = (*.f32 %40 %193)
%246 = (*.f32 cosTheta_O %184)
%247 = (*.f32 %6 %246)
%249 = (*.f32 %28 %47)
%259 = (approx %27 %122)
%260 = (*.f32 %259 %10)
%262 = (approx %27 %115)
%263 = (*.f32 %262 %10)
%265 = (*.f32 %9 %93)
%267 = (/.f32 %10 %85)
%268 = (/.f32 %57 %267)
sinTheta_i
sinTheta_O
%2
v
%4
%5
%6
cosTheta_i
cosTheta_O
%9
%10
#s(literal 1 binary32)
%12
%13
#s(literal 2 binary32)
%15
%16
%17
%18
%19
%20
%21
%22
#s(literal -1 binary32)
%28
%29
#s(literal 1/2 binary32)
%31
%32
%33
%34
%35
%36
#s(literal -1/2 binary32)
%38
%39
%40
%41
%42
%43
%44
%45
%46
%47
%48
%49
%50
%51
%52
%53
%54
%55
%56
%57
%58
%59
%60
%61
%62
%63
%64
%65
%66
%67
%68
%69
%70
%71
%82
%83
%85
%93
%94
%99
%102
%103
%105
%106
%107
%108
%109
%110
%115
%116
%117
%118
%119
%120
%121
%122
%123
%124
%125
%126
%127
%128
%129
%130
%131
%132
%133
%136
%137
%138
%139
%140
%145
%146
%147
%148
%149
%150
%151
%152
%153
%154
%155
%156
%157
%158
%159
%160
%161
%162
%163
%164
%165
%166
%167
%168
%169
%170
%171
%172
%173
%174
(approx (/ %143 %175) %165)
%178
%179
%180
%181
%182
%183
%184
%185
%186
(/.f32 %156 %57)
%188
(*.f32 %51 %188)
%190
%191
(*.f32 %190 %191)
%193
%194
%195
%196
(/.f32 %196 %57)
(/.f32 %65 %57)
(*.f32 %195 %62)
%200
(approx %202 %200)
%204
(approx %202 %204)
%206
(approx %202 %206)
(*.f32 %40 %186)
%209
(approx %202 %209)
%211
(approx %202 %211)
%213
(approx %202 %213)
%215
(approx %202 %215)
(approx %202 %170)
(approx %202 %167)
(approx %202 %172)
(approx %202 %174)
%221
(/.f32 %221 v)
(*.f32 %138 %60)
%224
(/.f32 %224 v)
%226
(*.f32 %63 %226)
%228
%229
(/.f32 #s(literal 1 binary32) %229)
%231
(/.f32 %231 %16)
%233
%234
(/.f32 %234 %56)
%236
(*.f32 %236 %62)
%238
%239
(/.f32 %239 %56)
%241
(*.f32 %241 %62)
%243
(/.f32 %243 %15)
(approx %202 %180)
%246
%247
(/.f32 %247 %16)
%249
(/.f32 %249 %16)
(/.f32 %65 %67)
(approx %202 %182)
(/.f32 #s(literal 1 binary32) %151)
(/.f32 #s(literal 1 binary32) %145)
(*.f32 %10 %136)
(*.f32 %61 %102)
(*.f32 %105 %64)
(*.f32 %155 %64)
%259
%260
(/.f32 %260 %16)
%262
%263
(/.f32 %263 %16)
%265
(/.f32 %265 %16)
%267
%268
(/.f32 #s(literal 1 binary32) %268)
Outputs
%2 = (*.f32 sinTheta_i sinTheta_O)
%3 = (*.f32 sinTheta_O sinTheta_i)
%5 = (/.f32 %2 v)
%6 = (/.f32 sinTheta_O v)
%7 = (*.f32 sinTheta_i %6)
%8 = (/.f32 sinTheta_i v)
%9 = (*.f32 sinTheta_O %8)
%10 = (neg.f32 %2)
%11 = (neg.f32 v)
%12 = (/.f32 %10 %11)
%14 = (/.f32 #s(literal 1 binary32) v)
%15 = (*.f32 %2 %14)
%17 = (/.f32 #s(literal 1 binary32) (/.f32 v %2))
%18 = (/.f32 %2 %11)
%19 = (neg.f32 sinTheta_i)
%21 = (/.f32 (*.f32 %19 sinTheta_O) v)
%22 = (/.f32 %10 v)
%23 = (*.f32 %6 %19)
%24 = (*.f32 %19 %6)
%25 = (neg.f32 %5)
%28 = (/.f32 (*.f32 #s(literal -1 binary32) %2) v)
%29 = (*.f32 %5 #s(literal -1 binary32))
%30 = (*.f32 #s(literal -1 binary32) %5)
%31 = (exp.f32 %24)
%32 = (fabs.f32 %31)
%33 = (exp.f32 %5)
%34 = (/.f32 #s(literal 1 binary32) %33)
%36 = (pow.f32 (exp.f32 %19) %6)
%37 = (cosh.f32 %5)
%38 = (sinh.f32 %5)
%39 = (-.f32 %37 %38)
%42 = (+.f32 (cosh.f32 %24) (sinh.f32 %24))
%45 = (*.f32 cosTheta_i cosTheta_O)
%46 = (*.f32 cosTheta_O cosTheta_i)
%47 = (/.f32 %45 v)
%48 = (/.f32 cosTheta_O v)
%49 = (*.f32 cosTheta_i %48)
%50 = (/.f32 cosTheta_i v)
%51 = (*.f32 cosTheta_O %50)
%52 = (*.f32 %48 cosTheta_i)
%53 = (*.f32 %50 cosTheta_O)
%54 = (/.f32 v cosTheta_i)
%55 = (/.f32 cosTheta_O %54)
%56 = (neg.f32 %45)
%57 = (/.f32 %56 %11)
%58 = (*.f32 %45 #s(literal 1 binary32))
%59 = (/.f32 %58 v)
%60 = (*.f32 %45 %14)
%61 = (*.f32 #s(literal 1 binary32) %47)
%62 = (*.f32 %14 %45)
%63 = (/.f32 v %45)
%64 = (/.f32 #s(literal 1 binary32) %63)
%66 = (/.f32 (*.f32 cosTheta_O #s(literal 1 binary32)) %54)
%68 = (/.f32 #s(literal -1 binary32) (neg.f32 %63))
%70 = (/.f32 #s(literal 1 binary32) (/.f32 %63 #s(literal 1 binary32)))
%71 = (pow.f32 %63 #s(literal -1 binary32))
%84 = (sinh.f32 %14)
%85 = (*.f32 #s(literal 1 binary32) %84)
%86 = (*.f32 %84 #s(literal 2 binary32))
%87 = (*.f32 #s(literal 1/2 binary32) %86)
%88 = (/.f32 %86 #s(literal 2 binary32))
%89 = (/.f32 #s(literal 1 binary32) %84)
%90 = (/.f32 #s(literal 1 binary32) %89)
%92 = (/.f32 #s(literal -1 binary32) (neg.f32 %89))
%94 = (/.f32 #s(literal 1 binary32) (/.f32 %89 #s(literal 1 binary32)))
%95 = (pow.f32 %89 #s(literal -1 binary32))
%100 = (*.f32 #s(literal 2 binary32) %84)
%101 = (/.f32 #s(literal 2 binary32) %89)
%102 = (exp.f32 %14)
%103 = (/.f32 #s(literal -1 binary32) v)
%104 = (exp.f32 %103)
%105 = (-.f32 %102 %104)
%107 = (+.f32 %102 (neg.f32 %104))
%109 = (neg.f32 (-.f32 %104 %102))
%112 = (/.f32 (-.f32 (*.f32 %102 %102) #s(literal 1 binary32)) %102)
%113 = (+.f32 v v)
%114 = (*.f32 %84 %113)
%115 = (*.f32 %113 %84)
%116 = (*.f32 v %86)
%117 = (*.f32 %86 v)
%118 = (*.f32 v %84)
%119 = (fma.f32 v %84 %118)
%120 = (*.f32 %84 v)
%121 = (fma.f32 %84 v %120)
%122 = (+.f32 %120 %120)
%123 = (+.f32 %118 %118)
%125 = (cosh.f32 %14)
%127 = (fabs.f32 %104)
%128 = (*.f32 #s(literal 1 binary32) %104)
%129 = (/.f32 #s(literal 1 binary32) %102)
%131 = (/.f32 #s(literal -1 binary32) (neg.f32 %102))
%133 = (/.f32 #s(literal 1 binary32) (/.f32 %102 #s(literal 1 binary32)))
%134 = (pow.f32 %102 #s(literal -1 binary32))
%137 = (+.f32 (cosh.f32 %103) (sinh.f32 %103))
%138 = (-.f32 %125 %84)
%141 = (/ (* sinTheta_i sinTheta_O) v)
%142 = (neg %141)
%143 = (exp %142)
%144 = (approx %143 #s(literal 1 binary32))
%145 = (neg.f32 sinTheta_O)
%153 = (*.f32 cosTheta_i %2)
%154 = (*.f32 %2 cosTheta_i)
%155 = (*.f32 cosTheta_i sinTheta_i)
%156 = (*.f32 %155 sinTheta_O)
%158 = (*.f32 (*.f32 cosTheta_i sinTheta_O) sinTheta_i)
%159 = (*.f32 cosTheta_O %153)
%160 = (*.f32 %45 %2)
%161 = (*.f32 %153 cosTheta_O)
%167 = (*.f32 cosTheta_O %155)
%170 = (/.f32 %159 v)
%171 = (*.f32 cosTheta_i %5)
%172 = (*.f32 cosTheta_O %171)
%174 = (/.f32 (neg.f32 %159) %11)
%175 = (*.f32 %159 %14)
%177 = (/.f32 #s(literal 1 binary32) (/.f32 v %159))
%181 = (neg.f32 cosTheta_O)
%184 = (/.f32 v cosTheta_O)
%186 = (neg.f32 cosTheta_i)
%187 = (/.f32 %186 %11)
%189 = (/.f32 (*.f32 cosTheta_i #s(literal 1 binary32)) v)
%190 = (*.f32 cosTheta_i %14)
%191 = (*.f32 #s(literal 1 binary32) %50)
%192 = (*.f32 %14 cosTheta_i)
%193 = (/.f32 #s(literal 1 binary32) %54)
%195 = (/.f32 #s(literal -1 binary32) (neg.f32 %54))
%197 = (/.f32 #s(literal 1 binary32) (/.f32 %54 #s(literal 1 binary32)))
%198 = (pow.f32 %54 #s(literal -1 binary32))
%199 = (/.f32 %54 cosTheta_O)
%200 = (/.f32 %184 cosTheta_i)
%201 = (/.f32 %11 %56)
%202 = (/.f32 #s(literal 1 binary32) %45)
%203 = (*.f32 v %202)
%204 = (/.f32 #s(literal 1 binary32) %47)
%206 = (*.f32 %31 cosTheta_i)
%207 = (*.f32 v %33)
%209 = (/.f32 #s(literal 1/2 binary32) v)
%214 = (neg.f32 %84)
%215 = (/.f32 #s(literal -1 binary32) %214)
%216 = (/.f32 #s(literal 2 binary32) %86)
%217 = (*.f32 #s(literal 1 binary32) %89)
%219 = (/.f32 #s(literal 1 binary32) (/.f32 %84 #s(literal 1 binary32)))
%221 = (/.f32 (/.f32 #s(literal 2 binary32) %84) #s(literal 2 binary32))
%223 = (neg.f32 %86)
%224 = (/.f32 #s(literal -2 binary32) %223)
%225 = (/.f32 #s(literal 1 binary32) %86)
%226 = (*.f32 #s(literal 2 binary32) %225)
%227 = (pow.f32 %84 #s(literal -1 binary32))
%230 = (*.f32 v %114)
%231 = (*.f32 %114 v)
%232 = (*.f32 %118 %113)
%233 = (*.f32 v v)
%234 = (*.f32 %86 %233)
%235 = (*.f32 %233 %86)
%237 = (fabs.f32 v)
%240 = (/.f32 %45 %233)
%241 = (/.f32 cosTheta_O %233)
%242 = (*.f32 cosTheta_i %241)
%243 = (*.f32 %241 cosTheta_i)
%244 = (/.f32 %47 v)
%245 = (*.f32 %50 %48)
%246 = (neg.f32 %233)
%247 = (/.f32 %56 %246)
%248 = (/.f32 #s(literal 1 binary32) %233)
%249 = (*.f32 %45 %248)
%251 = (/.f32 #s(literal 1 binary32) (/.f32 %233 %45))
%252 = (/.f32 %45 %118)
%253 = (/.f32 %47 %84)
%255 = (*.f32 cosTheta_O (/.f32 %50 %84))
%256 = (neg.f32 %47)
%257 = (/.f32 %256 %214)
%258 = (/.f32 %58 %118)
%260 = (/.f32 (*.f32 %47 #s(literal 1 binary32)) %84)
%262 = (/.f32 (*.f32 %45 %89) v)
%264 = (*.f32 %45 (/.f32 %14 %84))
%265 = (*.f32 %47 %89)
%266 = (*.f32 %89 %47)
%268 = (/.f32 #s(literal 1 binary32) (/.f32 %84 %47))
%269 = (/.f32 %31 %113)
%270 = (neg.f32 %31)
%271 = (neg.f32 %113)
%273 = (/.f32 #s(literal 1 binary32) %113)
%277 = (/.f32 %31 %84)
%283 = (/.f32 %45 (*.f32 v %113))
%284 = (/.f32 %47 %113)
%286 = (*.f32 cosTheta_i (/.f32 %48 %113))
%287 = (/.f32 %256 %271)
%288 = (*.f32 %47 %273)
%290 = (/.f32 #s(literal 1 binary32) (/.f32 %113 %47))
%291 = (*.f32 %144 %47)
%299 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%300 = (*.f32 %171 #s(literal -1/2 binary32))
%303 = (fma.f32 #s(literal -1/2 binary32) %171 %299)
%311 = (*.f32 cosTheta_O %303)
%313 = (*.f32 cosTheta_O %299)
%315 = (*.f32 #s(literal 1/2 binary32) %45)
%330 = (+ (* -1/2 (/ (* cosTheta_O (* (* cosTheta_i sinTheta_O) sinTheta_i)) v)) (* 1/2 (* cosTheta_O cosTheta_i)))
%331 = (approx %330 %311)
%332 = (fma.f32 sinTheta_i %6 #s(literal 1 binary32))
%341 = (exp %141)
%342 = (approx %341 %332)
%344 = (/ 1 v)
%346 = (approx (* %344 %143) %14)
%352 = (sinh %344)
%355 = (/ %143 (* %352 2))
%356 = (approx %355 %225)
%357 = (* 2 v)
%359 = (approx (/ %143 %357) %209)
%360 = (/ %143 %352)
%361 = (approx %360 %89)
%362 = (*.f32 cosTheta_i v)
%364 = (*.f32 cosTheta_O %362)
%367 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%373 = (neg.f32 %6)
%375 = (+.f32 %373 %367)
%383 = (*.f32 sinTheta_i %375)
%385 = (*.f32 sinTheta_i %367)
%387 = (*.f32 %367 sinTheta_i)
%393 = (+ 1 %142)
%394 = (approx %393 %383)
%395 = (*.f32 %159 #s(literal -1/2 binary32))
%398 = (*.f32 #s(literal -1/2 binary32) %170)
%399 = (approx %330 %398)
%400 = (/.f32 %167 v)
%408 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%414 = (neg.f32 %8)
%416 = (+.f32 %414 %408)
%424 = (*.f32 sinTheta_O %416)
%426 = (*.f32 sinTheta_O %408)
%428 = (*.f32 %408 sinTheta_O)
%434 = (approx %393 %424)
%435 = (/.f32 %45 sinTheta_O)
%443 = (*.f32 #s(literal 1/2 binary32) %435)
%445 = (*.f32 %400 #s(literal -1/2 binary32))
%447 = (fma.f32 #s(literal -1/2 binary32) %400 %443)
%456 = (*.f32 sinTheta_O %447)
%458 = (*.f32 sinTheta_O %443)
%460 = (*.f32 %443 sinTheta_O)
%466 = (approx %330 %456)
%467 = (*.f32 #s(literal 1/2 binary32) %364)
%469 = (*.f32 #s(literal 1/2 binary32) cosTheta_O)
%473 = (fma.f32 #s(literal -1/2 binary32) %159 %467)
%484 = (/.f32 %473 v)
%490 = (/.f32 %467 v)
%494 = (approx %330 %484)
%498 = (*.f32 #s(literal -1/2 binary32) %5)
%499 = (fma.f32 %5 #s(literal -1/2 binary32) #s(literal 1/2 binary32))
%508 = (approx (/ %360 %357) %499)
%510 = (*.f32 #s(literal 1/2 binary32) v)
%511 = (approx %355 %510)
%512 = (/.f32 %113 %45)
%517 = (* %352 %357)
%519 = (* cosTheta_i (/ cosTheta_O v))
%521 = (/ %517 (/ %519 %341))
%522 = (approx %521 %512)
%523 = (/.f32 %2 %364)
%524 = (/.f32 sinTheta_i %364)
%544 = (/.f32 #s(literal 2 binary32) %45)
%549 = (fma.f32 #s(literal 2 binary32) %523 %544)
%553 = (*.f32 %523 #s(literal 2 binary32))
%562 = (*.f32 v %549)
%564 = (*.f32 v %544)
%566 = (*.f32 %544 v)
%572 = (approx %521 %562)
%573 = (fma.f32 sinTheta_i %6 #s(literal -1 binary32))
%580 = (*.f32 v %573)
%582 = (neg.f32 %580)
%587 = (approx %360 %582)
%588 = (/.f32 %45 %207)
%590 = (*.f32 cosTheta_i (/.f32 cosTheta_O %207))
%591 = (/.f32 %47 %33)
%593 = (*.f32 cosTheta_i (/.f32 %48 %33))
%595 = (*.f32 cosTheta_O (/.f32 %50 %33))
%597 = (*.f32 %50 (/.f32 cosTheta_O %33))
%598 = (*.f32 %31 %45)
%599 = (/.f32 %598 v)
%600 = (*.f32 %31 %47)
%601 = (*.f32 %47 %31)
%602 = (*.f32 %206 %48)
%604 = (*.f32 (*.f32 %31 cosTheta_O) %50)
%606 = (/.f32 %56 (neg.f32 %207))
%608 = (/.f32 %256 (neg.f32 %33))
%610 = (*.f32 %45 (/.f32 #s(literal 1 binary32) %207))
%612 = (/.f32 #s(literal 1 binary32) (*.f32 %63 %33))
%614 = (/.f32 #s(literal 1 binary32) (/.f32 %207 %45))
%615 = (*.f32 %31 %14)
%617 = (*.f32 cosTheta_i (*.f32 cosTheta_O %615))
%618 = (*.f32 %45 %615)
%619 = (*.f32 %615 %45)
%621 = (/.f32 #s(literal 1 binary32) (/.f32 %33 %47))
%625 = (fma.f32 %19 %6 #s(literal 1 binary32))
%636 = (approx %143 %625)
%637 = (/.f32 %45 %230)
%638 = (/.f32 cosTheta_O %230)
%639 = (*.f32 cosTheta_i %638)
%640 = (/.f32 cosTheta_i %230)
%641 = (*.f32 cosTheta_O %640)
%642 = (*.f32 %640 cosTheta_O)
%643 = (*.f32 %638 cosTheta_i)
%644 = (/.f32 %240 %86)
%645 = (/.f32 cosTheta_i %86)
%647 = (/.f32 (*.f32 cosTheta_O %645) %233)
%648 = (*.f32 %241 %645)
%649 = (*.f32 %645 %241)
%650 = (/.f32 cosTheta_i %233)
%652 = (*.f32 %650 (/.f32 cosTheta_O %86))
%653 = (neg.f32 %230)
%654 = (/.f32 %56 %653)
%655 = (/.f32 %58 %230)
%656 = (/.f32 #s(literal 1 binary32) %230)
%657 = (*.f32 %45 %656)
%658 = (*.f32 #s(literal 1 binary32) %643)
%659 = (*.f32 %656 %45)
%660 = (/.f32 %230 %45)
%661 = (/.f32 #s(literal 1 binary32) %660)
%663 = (/.f32 #s(literal -1 binary32) (neg.f32 %660))
%665 = (/.f32 #s(literal 1 binary32) (/.f32 %660 #s(literal 1 binary32)))
%666 = (pow.f32 %660 #s(literal -1 binary32))
%670 = (/.f32 %230 cosTheta_i)
%672 = (/.f32 %48 v)
%673 = (/.f32 %181 %246)
%674 = (neg.f32 %48)
%675 = (/.f32 %674 %11)
%676 = (*.f32 cosTheta_O %248)
%678 = (/.f32 #s(literal 1 binary32) (/.f32 %233 cosTheta_O))
%679 = (*.f32 %48 %14)
%681 = (/.f32 #s(literal 1 binary32) (/.f32 v %48))
%702 = (/ %519 (* %341 %517))
%703 = (approx %702 %643)
%707 = (/.f32 %315 v)
%708 = (*.f32 %47 #s(literal 1/2 binary32))
%709 = (*.f32 #s(literal 1/2 binary32) %47)
%710 = (*.f32 %299 %48)
%711 = (*.f32 %469 %50)
%712 = (neg.f32 %315)
%713 = (/.f32 %712 %11)
%714 = (*.f32 %315 %14)
%716 = (/.f32 #s(literal 1 binary32) (/.f32 v %315))
%720 = (fma.f32 #s(literal -1/2 binary32) %170 %315)
%728 = (/.f32 %720 v)
%743 = (/.f32 %48 %114)
%745 = (/.f32 (/.f32 %48 %84) %113)
%746 = (/.f32 %181 %653)
%747 = (neg.f32 %114)
%748 = (/.f32 %674 %747)
%749 = (*.f32 cosTheta_O %656)
%751 = (/.f32 #s(literal 1 binary32) (/.f32 %230 cosTheta_O))
%752 = (/.f32 #s(literal 1 binary32) %114)
%753 = (*.f32 %48 %752)
%755 = (/.f32 #s(literal 1 binary32) (/.f32 %114 %48))
%757 = (/.f32 %45 (*.f32 %207 %114))
%759 = (/.f32 %47 (*.f32 %33 %114))
%760 = (/.f32 %588 %114)
%761 = (/.f32 %598 %230)
%763 = (/.f32 (*.f32 %45 %31) %230)
%764 = (*.f32 %31 %643)
%765 = (*.f32 %206 %638)
%766 = (*.f32 %643 %31)
%767 = (*.f32 %638 %206)
%768 = (/.f32 %588 %84)
%769 = (/.f32 %768 %113)
%771 = (/.f32 (*.f32 %252 %31) %113)
%773 = (/.f32 (*.f32 %31 %283) %84)
%774 = (/.f32 %598 %114)
%775 = (/.f32 %774 v)
%776 = (/.f32 %31 %114)
%778 = (/.f32 (*.f32 %45 %776) v)
%780 = (*.f32 %31 (/.f32 %47 %114))
%781 = (*.f32 %47 %776)
%782 = (*.f32 %252 %269)
%783 = (*.f32 %269 %252)
%784 = (*.f32 %277 %283)
%785 = (*.f32 %283 %277)
%786 = (*.f32 %776 %47)
%787 = (*.f32 %31 %240)
%788 = (/.f32 %787 %86)
%789 = (/.f32 %31 %86)
%791 = (/.f32 (*.f32 %789 %45) %233)
%792 = (*.f32 %240 %789)
%793 = (/.f32 %206 %86)
%794 = (*.f32 %241 %793)
%795 = (*.f32 %793 %241)
%796 = (*.f32 %789 %240)
%798 = (/.f32 (*.f32 %277 %47) %113)
%800 = (/.f32 (*.f32 %47 %269) %84)
%801 = (neg.f32 %588)
%802 = (/.f32 %801 %747)
%804 = (/.f32 (/.f32 %787 %84) #s(literal 2 binary32))
%806 = (/.f32 (*.f32 %793 %48) v)
%808 = (*.f32 %277 (/.f32 %240 #s(literal 2 binary32)))
%809 = (*.f32 #s(literal 1 binary32) %757)
%811 = (/.f32 (neg.f32 %768) %271)
%813 = (/.f32 (neg.f32 %774) %11)
%814 = (*.f32 %588 %752)
%815 = (*.f32 %752 %588)
%817 = (/.f32 (neg.f32 %787) %223)
%819 = (*.f32 (/.f32 %114 %47) %33)
%820 = (/.f32 #s(literal 1 binary32) %819)
%821 = (*.f32 %768 %273)
%823 = (*.f32 %45 (/.f32 %615 %114))
%824 = (*.f32 %774 %14)
%825 = (*.f32 %787 %225)
%827 = (/.f32 #s(literal 1 binary32) (/.f32 %113 %768))
%829 = (/.f32 #s(literal 1 binary32) (/.f32 v %774))
%831 = (/.f32 #s(literal -1 binary32) (neg.f32 %819))
%833 = (*.f32 %47 (*.f32 %89 %269))
%835 = (/.f32 #s(literal 1 binary32) (/.f32 %86 %787))
%838 = (*.f32 (/.f32 %45 %86) (/.f32 %615 v))
%840 = (/.f32 #s(literal 1 binary32) (/.f32 %819 #s(literal 1 binary32)))
%841 = (pow.f32 %819 #s(literal -1 binary32))
%852 = (*.f32 %636 %47)
%854 = (/.f32 %291 %114)
%855 = (approx %702 %709)
%856 = (/.f32 %466 v)
%858 = (/.f32 %494 v)
%860 = (/.f32 %399 v)
%862 = (/.f32 %331 v)
%864 = (*.f32 %356 %47)
%867 = (*.f32 %511 %47)
%877 = (/.f32 %47 (*.f32 %33 %84))
%878 = (/.f32 %801 %214)
%879 = (*.f32 %588 %89)
%881 = (/.f32 #s(literal 1 binary32) (/.f32 %84 %588))
%891 = (approx %143 %434)
%892 = (*.f32 %891 %47)
%894 = (approx %143 %394)
%895 = (*.f32 %894 %47)
%897 = (*.f32 %45 %346)
%899 = (/.f32 %47 %342)
%900 = (/.f32 %114 %899)
sinTheta_i
sinTheta_O
%2
%3
v
%5
%7
%9
%12
%15
%17
%18
%21
%22
%23
%24
%25
%28
%29
%30
%31
%32
%34
%36
%39
%42
cosTheta_i
cosTheta_O
%45
%46
%47
%49
%51
%52
%53
%55
%57
%59
%60
%61
%62
%64
%66
%68
%70
%71
#s(literal 1 binary32)
(neg.f32 #s(literal -1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
%14
(/.f32 #s(literal -1 binary32) %11)
(*.f32 #s(literal 1 binary32) %14)
(/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 1 binary32)))
(pow.f32 v #s(literal -1 binary32))
%84
%85
%87
%88
%90
%92
%94
%95
#s(literal 2 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))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 1 binary32))
%86
%100
%101
%105
%107
%109
%112
%114
%115
%116
%117
%119
%121
%122
%123
%45
%46
%2
%3
%5
%7
%9
%12
%15
%17
%102
(fabs.f32 %102)
(+.f32 %125 %84)
%104
%127
%128
%129
%131
%133
%134
%137
%138
%86
%100
%101
%105
%107
%109
%112
#s(literal -1 binary32)
(neg.f32 #s(literal 1 binary32))
%144
%6
(/.f32 %145 %11)
(*.f32 sinTheta_O %14)
(/.f32 #s(literal 1 binary32) (/.f32 v sinTheta_O))
#s(literal 1/2 binary32)
(neg.f32 #s(literal -1/2 binary32))
(/.f32 #s(literal 1 binary32) #s(literal 2 binary32))
%153
%154
%156
%158
%159
%160
%161
%8
(/.f32 %19 %11)
(*.f32 sinTheta_i %14)
(/.f32 #s(literal 1 binary32) (/.f32 v sinTheta_i))
%155
(*.f32 sinTheta_i cosTheta_i)
%167
(*.f32 %45 sinTheta_i)
(*.f32 %155 cosTheta_O)
%170
%172
%174
%175
%177
#s(literal -1/2 binary32)
(neg.f32 #s(literal 1/2 binary32))
%19
%18
%21
%22
%23
%24
%25
%28
%29
%30
%31
%32
%34
%36
%39
%42
%33
(fabs.f32 %33)
(+.f32 %37 %38)
%48
(/.f32 %181 %11)
(*.f32 cosTheta_O %14)
(/.f32 #s(literal 1 binary32) %184)
%47
%49
%51
%52
%53
%55
%57
%59
%60
%61
%62
%64
%66
%68
%70
%71
%50
%187
%189
%190
%191
%192
%193
%195
%197
%198
%47
%49
%51
%52
%53
%55
%57
%59
%60
%61
%62
%64
%66
%68
%70
%71
%50
%187
%189
%190
%191
%192
%193
%195
%197
%198
%47
%49
%51
%52
%53
%55
%57
%59
%60
%61
%62
%64
%66
%68
%70
%71
%47
%49
%51
%52
%53
%55
%57
%59
%60
%61
%62
%64
%66
%68
%70
%71
%63
%199
%200
%201
%203
%204
%47
%49
%51
%52
%53
%55
%57
%59
%60
%61
%62
%64
%66
%68
%70
%71
(*.f32 cosTheta_i %31)
%206
%207
(*.f32 %33 v)
%209
(/.f32 #s(literal -1/2 binary32) %11)
(*.f32 #s(literal 1/2 binary32) %14)
(/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 1/2 binary32)))
%89
%215
%216
%217
%219
%221
%224
%226
%227
%84
%85
%87
%88
%90
%92
%94
%95
%113
(*.f32 #s(literal 2 binary32) v)
(-.f32 v %11)
%114
%115
%116
%117
%119
%121
%122
%123
%230
%231
%232
%234
%235
%233
(*.f32 %11 %11)
(*.f32 %237 %237)
(pow.f32 v #s(literal 2 binary32))
%240
%242
%243
%244
%245
%247
%249
%251
%252
%253
%255
%257
%258
%260
%262
%264
%265
%266
%268
%269
(/.f32 %270 %271)
(*.f32 %31 %273)
(/.f32 #s(literal 1 binary32) (/.f32 %113 %31))
%277
(/.f32 %270 %214)
(*.f32 %31 %89)
(/.f32 #s(literal 1 binary32) (/.f32 %84 %31))
%283
%284
%286
%287
%288
%290
%291
%86
%100
%101
%105
%107
%109
%112
%114
%115
%116
%117
%119
%121
%122
%123
(/.f32 %153 v)
%171
(/.f32 (neg.f32 %153) %11)
(*.f32 %153 %14)
(/.f32 #s(literal 1 binary32) (/.f32 v %153))
(*.f32 cosTheta_i #s(literal 1/2 binary32))
%299
(fma.f32 cosTheta_i #s(literal 1/2 binary32) %300)
(fma.f32 #s(literal 1/2 binary32) cosTheta_i %300)
%303
(fma.f32 %171 #s(literal -1/2 binary32) %299)
(+.f32 %299 %300)
(+.f32 %300 %299)
(-.f32 %300 (*.f32 #s(literal -1/2 binary32) cosTheta_i))
(-.f32 %300 (neg.f32 %299))
%311
(*.f32 %303 cosTheta_O)
(fma.f32 cosTheta_O %300 %313)
(fma.f32 %300 cosTheta_O %315)
(+.f32 (*.f32 %300 cosTheta_O) %315)
(+.f32 (*.f32 cosTheta_O %300) %313)
%331
%332
(fma.f32 sinTheta_O %8 #s(literal 1 binary32))
(+.f32 %5 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) %5)
(-.f32 #s(literal 1 binary32) %24)
(/.f32 (fma.f32 #s(literal 1 binary32) v %2) v)
(fma.f32 %2 %14 #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %5)
%342
%346
%225
(/.f32 #s(literal -1 binary32) %223)
(*.f32 #s(literal 1 binary32) %225)
(/.f32 #s(literal 1 binary32) (/.f32 %86 #s(literal 1 binary32)))
(pow.f32 %86 #s(literal -1 binary32))
%356
%359
%89
%215
%216
%217
%219
%221
%224
%226
%227
%361
%362
(*.f32 v cosTheta_i)
%364
(*.f32 %45 v)
(*.f32 %362 cosTheta_O)
%367
(/.f32 #s(literal -1 binary32) %19)
(*.f32 #s(literal 1 binary32) %367)
(/.f32 #s(literal 1 binary32) (/.f32 sinTheta_i #s(literal 1 binary32)))
(pow.f32 sinTheta_i #s(literal -1 binary32))
(+.f32 %367 %373)
%375
(-.f32 %373 (neg.f32 %367))
(fma.f32 #s(literal -1 binary32) %6 %367)
(fma.f32 %6 #s(literal -1 binary32) %367)
(/.f32 (fma.f32 %373 sinTheta_i #s(literal 1 binary32)) sinTheta_i)
(fma.f32 #s(literal 1 binary32) %367 %373)
%383
(*.f32 %375 sinTheta_i)
(fma.f32 sinTheta_i %373 %385)
(fma.f32 %373 sinTheta_i %387)
(+.f32 (*.f32 %373 sinTheta_i) %387)
(+.f32 (*.f32 sinTheta_i %373) %385)
%394
(/.f32 %395 v)
(*.f32 %170 #s(literal -1/2 binary32))
%398
%399
%400
(*.f32 cosTheta_O (/.f32 %155 v))
(/.f32 (neg.f32 %167) %11)
(*.f32 %167 %14)
(/.f32 #s(literal 1 binary32) (/.f32 v %167))
%408
(/.f32 #s(literal -1 binary32) %145)
(*.f32 #s(literal 1 binary32) %408)
(/.f32 #s(literal 1 binary32) (/.f32 sinTheta_O #s(literal 1 binary32)))
(pow.f32 sinTheta_O #s(literal -1 binary32))
(+.f32 %408 %414)
%416
(-.f32 %414 (neg.f32 %408))
(fma.f32 #s(literal -1 binary32) %8 %408)
(fma.f32 %8 #s(literal -1 binary32) %408)
(/.f32 (fma.f32 %414 sinTheta_O #s(literal 1 binary32)) sinTheta_O)
(fma.f32 #s(literal 1 binary32) %408 %414)
%424
(*.f32 %416 sinTheta_O)
(fma.f32 sinTheta_O %414 %426)
(fma.f32 %414 sinTheta_O %428)
(+.f32 (*.f32 %414 sinTheta_O) %428)
(+.f32 (*.f32 sinTheta_O %414) %426)
%434
%435
(*.f32 cosTheta_O (/.f32 cosTheta_i sinTheta_O))
(/.f32 %56 %145)
(*.f32 %45 %408)
(/.f32 #s(literal 1 binary32) (/.f32 sinTheta_O %45))
(/.f32 %315 sinTheta_O)
%443
(*.f32 %435 #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) %435 %445)
%447
(fma.f32 %400 #s(literal -1/2 binary32) %443)
(fma.f32 %435 #s(literal 1/2 binary32) %445)
(+.f32 %443 %445)
(+.f32 %445 %443)
(-.f32 %445 (*.f32 #s(literal -1/2 binary32) %435))
(-.f32 %445 (neg.f32 %443))
%456
(*.f32 %447 sinTheta_O)
(fma.f32 sinTheta_O %445 %458)
(fma.f32 %445 sinTheta_O %460)
(+.f32 (*.f32 %445 sinTheta_O) %460)
(+.f32 (*.f32 sinTheta_O %445) %458)
%466
%467
(*.f32 %364 #s(literal 1/2 binary32))
(*.f32 %469 %362)
(fma.f32 #s(literal 1/2 binary32) %364 %395)
(fma.f32 %159 #s(literal -1/2 binary32) %467)
%473
(fma.f32 %364 #s(literal 1/2 binary32) %395)
(fma.f32 (*.f32 #s(literal -1/2 binary32) cosTheta_O) %153 %467)
(fma.f32 %469 %362 %395)
(+.f32 %467 %395)
(+.f32 %395 %467)
(-.f32 %395 (*.f32 #s(literal -1/2 binary32) %364))
(-.f32 %395 (neg.f32 %467))
%484
(/.f32 (neg.f32 %473) %11)
(*.f32 %473 %14)
(/.f32 #s(literal 1 binary32) (/.f32 v %473))
(fma.f32 %170 #s(literal -1/2 binary32) %490)
(fma.f32 #s(literal -1/2 binary32) %170 %490)
(+.f32 %398 %490)
%494
(/.f32 (*.f32 #s(literal -1/2 binary32) %2) v)
(*.f32 %5 #s(literal -1/2 binary32))
%498
%499
(fma.f32 #s(literal -1/2 binary32) %5 #s(literal 1/2 binary32))
(+.f32 #s(literal 1/2 binary32) %498)
(+.f32 %498 #s(literal 1/2 binary32))
(-.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/2 binary32) %5))
(-.f32 #s(literal 1/2 binary32) (neg.f32 %498))
%508
(*.f32 v #s(literal 1/2 binary32))
%510
%511
%63
%199
%200
%201
%203
%204
%512
(*.f32 #s(literal 2 binary32) %63)
(*.f32 %63 #s(literal 2 binary32))
(+.f32 %63 %63)
(fma.f32 v %202 %63)
%522
%523
(*.f32 sinTheta_O %524)
(/.f32 (/.f32 %2 cosTheta_O) %362)
(*.f32 (/.f32 sinTheta_O cosTheta_O) (/.f32 sinTheta_i %362))
(/.f32 %10 (neg.f32 %364))
(*.f32 %2 (/.f32 #s(literal 1 binary32) %364))
(/.f32 #s(literal 1 binary32) (/.f32 %364 %2))
%202
(/.f32 (/.f32 #s(literal 1 binary32) cosTheta_O) cosTheta_i)
(/.f32 #s(literal -1 binary32) %56)
(*.f32 #s(literal 1 binary32) %202)
(/.f32 #s(literal 1 binary32) (/.f32 %45 #s(literal 1 binary32)))
(pow.f32 %45 #s(literal -1 binary32))
%544
(*.f32 #s(literal 2 binary32) %202)
(*.f32 %202 #s(literal 2 binary32))
(+.f32 %202 %202)
(fma.f32 #s(literal 1 binary32) %202 %202)
%549
(fma.f32 %523 #s(literal 2 binary32) %544)
(*.f32 #s(literal 2 binary32) (fma.f32 sinTheta_O %524 %202))
(+.f32 %544 %553)
(+.f32 %553 %544)
(-.f32 %553 (neg.f32 %544))
(fma.f32 #s(literal 2 binary32) %202 %553)
(fma.f32 %202 #s(literal 2 binary32) %553)
(-.f32 %553 (*.f32 #s(literal -2 binary32) %202))
%562
(*.f32 %549 v)
(fma.f32 v %553 %564)
(fma.f32 %553 v %566)
(+.f32 (*.f32 %553 v) %566)
(+.f32 (*.f32 v %553) %564)
%572
%573
(fma.f32 sinTheta_O %8 #s(literal -1 binary32))
(+.f32 %5 #s(literal -1 binary32))
(-.f32 %5 #s(literal 1 binary32))
(neg.f32 (-.f32 #s(literal 1 binary32) %5))
(fma.f32 %2 %14 #s(literal -1 binary32))
%580
(*.f32 %573 v)
%582
(*.f32 #s(literal -1 binary32) %580)
(*.f32 %580 #s(literal -1 binary32))
(*.f32 (*.f32 #s(literal -1 binary32) v) %573)
%587
%588
%590
%591
%593
%595
%597
%599
%600
%601
%602
%604
%606
%608
%610
%612
%614
%617
%618
%619
%621
%103
(/.f32 #s(literal 1 binary32) %11)
(neg.f32 %14)
%104
%127
%128
%129
%131
%133
%134
%137
%138
%86
%100
%101
%105
%107
%109
%112
%230
%231
%232
%234
%235
(fma.f32 %6 %19 #s(literal 1 binary32))
%625
(+.f32 %24 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) %24)
(-.f32 %24 #s(literal -1 binary32))
(-.f32 #s(literal 1 binary32) (neg.f32 %24))
(fma.f32 %5 #s(literal -1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal -1 binary32) %5 #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) (*.f32 #s(literal 1 binary32) %5))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %24)
%636
%153
%154
%156
%158
%159
%160
%161
%637
%639
%641
%642
%643
%644
%647
%648
%649
%652
%654
%655
%657
%658
%659
%661
%663
%665
%666
%640
(/.f32 %650 %86)
(/.f32 %186 %653)
(*.f32 cosTheta_i %656)
(/.f32 #s(literal 1 binary32) %670)
%637
%639
%641
%642
%643
%644
%647
%648
%649
%652
%654
%655
%657
%658
%659
%661
%663
%665
%666
%241
%672
%673
%675
%676
%678
%679
%681
%645
(/.f32 %186 %223)
(*.f32 cosTheta_i %225)
(/.f32 #s(literal 1 binary32) (/.f32 %86 cosTheta_i))
%637
%639
%641
%642
%643
%644
%647
%648
%649
%652
%654
%655
%657
%658
%659
%661
%663
%665
%666
%656
(/.f32 #s(literal -1 binary32) %653)
(/.f32 %248 %86)
(*.f32 #s(literal 1 binary32) %656)
(/.f32 #s(literal 1 binary32) (/.f32 %230 #s(literal 1 binary32)))
(pow.f32 %230 #s(literal -1 binary32))
%637
%639
%641
%642
%643
%644
%647
%648
%649
%652
%654
%655
%657
%658
%659
%661
%663
%665
%666
%660
(*.f32 %233 (/.f32 %86 %45))
(/.f32 %670 cosTheta_O)
(*.f32 (/.f32 %233 cosTheta_i) (/.f32 %86 cosTheta_O))
(/.f32 %653 %56)
(*.f32 %230 %202)
(/.f32 #s(literal 1 binary32) %643)
%637
%639
%641
%642
%643
%644
%647
%648
%649
%652
%654
%655
%657
%658
%659
%661
%663
%665
%666
%703
%170
%172
%174
%175
%177
(*.f32 %45 #s(literal 1/2 binary32))
%315
(*.f32 %299 cosTheta_O)
(*.f32 %469 cosTheta_i)
%707
%708
%709
%710
%711
%713
%714
%716
(fma.f32 %45 #s(literal 1/2 binary32) %398)
(fma.f32 #s(literal 1/2 binary32) %45 %398)
(fma.f32 %170 #s(literal -1/2 binary32) %315)
%720
(fma.f32 %299 cosTheta_O %398)
(fma.f32 %469 cosTheta_i %398)
(+.f32 %398 %315)
(+.f32 %315 %398)
(-.f32 %398 (*.f32 #s(literal -1/2 binary32) %45))
(-.f32 %398 %712)
%728
(/.f32 (neg.f32 %720) %11)
(/.f32 (*.f32 %720 #s(literal 1 binary32)) v)
(*.f32 %14 %720)
(*.f32 %720 %14)
(/.f32 #s(literal 1 binary32) (/.f32 v %720))
(+.f32 (/.f32 %398 v) %709)
%54
(/.f32 %11 %186)
(*.f32 v (/.f32 #s(literal 1 binary32) cosTheta_i))
(/.f32 #s(literal 1 binary32) %50)
%50
%187
%189
%190
%191
%192
%193
%195
%197
%198
%638
%743
%745
%746
%748
%749
%751
%753
%755
%637
%639
%641
%642
%643
%644
%647
%648
%649
%652
%654
%655
%657
%658
%659
%661
%663
%665
%666
%757
%759
%760
%761
%763
%764
%765
%766
%767
%769
%771
%773
%775
%778
%780
%781
%782
%783
%784
%785
%786
%788
%791
%792
%794
%795
%796
%798
%800
%802
%804
%806
%808
%809
%811
%813
%814
%815
%817
%820
%821
%823
%824
%825
%827
%829
%831
%833
%835
%838
%840
%841
%638
%743
%745
%746
%748
%749
%751
%753
%755
%757
%759
%760
%761
%763
%764
%765
%766
%767
%769
%771
%773
%775
%778
%780
%781
%782
%783
%784
%785
%786
%788
%791
%792
%794
%795
%796
%798
%800
%802
%804
%806
%808
%809
%811
%813
%814
%815
%817
%820
%821
%823
%824
%825
%827
%829
%831
%833
%835
%838
%840
%841
%793
(*.f32 %31 %645)
(/.f32 (/.f32 %206 %84) #s(literal 2 binary32))
(*.f32 %277 (/.f32 cosTheta_i #s(literal 2 binary32)))
(/.f32 (neg.f32 %206) %223)
(*.f32 %206 %225)
(/.f32 #s(literal 1 binary32) (/.f32 %86 %206))
%241
%672
%673
%675
%676
%678
%679
%681
%757
%759
%760
%761
%763
%764
%765
%766
%767
%769
%771
%773
%775
%778
%780
%781
%782
%783
%784
%785
%786
%788
%791
%792
%794
%795
%796
%798
%800
%802
%804
%806
%808
%809
%811
%813
%814
%815
%817
%820
%821
%823
%824
%825
%827
%829
%831
%833
%835
%838
%840
%841
%240
%242
%243
%244
%245
%247
%249
%251
%89
%215
%216
%217
%219
%221
%224
%226
%227
%252
%253
%255
%257
%258
%260
%262
%264
%265
%266
%268
%852
(/.f32 %852 %114)
%854
%757
%759
%760
%761
%763
%764
%765
%766
%767
%769
%771
%773
%775
%778
%780
%781
%782
%783
%784
%785
%786
%788
%791
%792
%794
%795
%796
%798
%800
%802
%804
%806
%808
%809
%811
%813
%814
%815
%817
%820
%821
%823
%824
%825
%827
%829
%831
%833
%835
%838
%840
%841
%707
%708
%709
%710
%711
%713
%714
%716
%855
%707
%708
%709
%710
%711
%713
%714
%716
%855
%707
%708
%709
%710
%711
%713
%714
%716
%855
%757
%759
%760
%761
%763
%764
%765
%766
%767
%769
%771
%773
%775
%778
%780
%781
%782
%783
%784
%785
%786
%788
%791
%792
%794
%795
%796
%798
%800
%802
%804
%806
%808
%809
%811
%813
%814
%815
%817
%820
%821
%823
%824
%825
%827
%829
%831
%833
%835
%838
%840
%841
%856
(approx %702 %856)
%858
(approx %702 %858)
%860
(approx %702 %860)
%862
(approx %702 %862)
%703
%703
%703
%703
%864
(/.f32 %864 v)
(*.f32 %511 %240)
%867
(/.f32 %867 v)
%283
%284
%286
%287
%288
%290
%757
%759
%760
%761
%763
%764
%765
%766
%767
%769
%771
%773
%775
%778
%780
%781
%782
%783
%784
%785
%786
%788
%791
%792
%794
%795
%796
%798
%800
%802
%804
%806
%808
%809
%811
%813
%814
%815
%817
%820
%821
%823
%824
%825
%827
%829
%831
%833
%835
%838
%840
%841
%588
%590
%591
%593
%595
%597
%599
%600
%601
%602
%604
%606
%608
%610
%612
%614
%617
%618
%619
%621
(/.f32 %114 %588)
(*.f32 %84 (/.f32 %113 %588))
%819
(/.f32 %747 %801)
(/.f32 #s(literal 1 binary32) %757)
(*.f32 %114 (/.f32 #s(literal 1 binary32) %588))
%757
%759
%760
%761
%763
%764
%765
%766
%767
%769
%771
%773
%775
%778
%780
%781
%782
%783
%784
%785
%786
%788
%791
%792
%794
%795
%796
%798
%800
%802
%804
%806
%808
%809
%811
%813
%814
%815
%817
%820
%821
%823
%824
%825
%827
%829
%831
%833
%835
%838
%840
%841
%291
%854
%588
%590
%591
%593
%595
%597
%599
%600
%601
%602
%604
%606
%608
%610
%612
%614
%617
%618
%619
%621
%877
%768
%878
%879
%881
%757
%759
%760
%761
%763
%764
%765
%766
%767
%769
%771
%773
%775
%778
%780
%781
%782
%783
%784
%785
%786
%788
%791
%792
%794
%795
%796
%798
%800
%802
%804
%806
%808
%809
%811
%813
%814
%815
%817
%820
%821
%823
%824
%825
%827
%829
%831
%833
%835
%838
%840
%841
%252
%253
%255
%257
%258
%260
%262
%264
%265
%266
%268
%757
%759
%760
%761
%763
%764
%765
%766
%767
%769
%771
%773
%775
%778
%780
%781
%782
%783
%784
%785
%786
%788
%791
%792
%794
%795
%796
%798
%800
%802
%804
%806
%808
%809
%811
%813
%814
%815
%817
%820
%821
%823
%824
%825
%827
%829
%831
%833
%835
%838
%840
%841
%588
%590
%591
%593
%595
%597
%599
%600
%601
%602
%604
%606
%608
%610
%612
%614
%617
%618
%619
%621
%877
%768
%878
%879
%881
%757
%759
%760
%761
%763
%764
%765
%766
%767
%769
%771
%773
%775
%778
%780
%781
%782
%783
%784
%785
%786
%788
%791
%792
%794
%795
%796
%798
%800
%802
%804
%806
%808
%809
%811
%813
%814
%815
%817
%820
%821
%823
%824
%825
%827
%829
%831
%833
%835
%838
%840
%841
%252
%253
%255
%257
%258
%260
%262
%264
%265
%266
%268
%757
%759
%760
%761
%763
%764
%765
%766
%767
%769
%771
%773
%775
%778
%780
%781
%782
%783
%784
%785
%786
%788
%791
%792
%794
%795
%796
%798
%800
%802
%804
%806
%808
%809
%811
%813
%814
%815
%817
%820
%821
%823
%824
%825
%827
%829
%831
%833
%835
%838
%840
%841
%787
(*.f32 %206 %241)
(*.f32 %240 %31)
%757
%759
%760
%761
%763
%764
%765
%766
%767
%769
%771
%773
%775
%778
%780
%781
%782
%783
%784
%785
%786
%788
%791
%792
%794
%795
%796
%798
%800
%802
%804
%806
%808
%809
%811
%813
%814
%815
%817
%820
%821
%823
%824
%825
%827
%829
%831
%833
%835
%838
%840
%841
%855
%47
%49
%51
%52
%53
%55
%57
%59
%60
%61
%62
%64
%66
%68
%70
%71
%588
%590
%591
%593
%595
%597
%599
%600
%601
%602
%604
%606
%608
%610
%612
%614
%617
%618
%619
%621
%757
%759
%760
%761
%763
%764
%765
%766
%767
%769
%771
%773
%775
%778
%780
%781
%782
%783
%784
%785
%786
%788
%791
%792
%794
%795
%796
%798
%800
%802
%804
%806
%808
%809
%811
%813
%814
%815
%817
%820
%821
%823
%824
%825
%827
%829
%831
%833
%835
%838
%840
%841
%291
%854
%854
(approx %702 %728)
(/.f32 #s(literal 1 binary32) %572)
(/.f32 #s(literal 1 binary32) %522)
(*.f32 %47 %508)
(*.f32 %252 %359)
(*.f32 %361 %283)
(*.f32 %587 %283)
%891
%892
(/.f32 %892 %114)
%894
%895
(/.f32 %895 %114)
%897
(/.f32 %897 %114)
%899
%900
(/.f32 #s(literal 1 binary32) %900)

reconstruct1.2s (2.8%)

Counts
2 288 → 1 278
Compiler

Compiled 2 288 to 2 591 computations (-13.2% saved)

eval606.0ms (1.4%)

Compiler

Compiled 1 360 to 3 921 computations (-188.3% saved)

prune198.0ms (0.5%)

Pruning

79 alts after pruning (74 fresh and 5 done)

PrunedKeptTotal
New1 286741 360
Fresh000
Picked40545
Done000
Total1 326791 405
Accuracy
99.7%
Counts
1 405 → 79
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.5%
(/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 v (approx (exp (/ (* sinTheta_i sinTheta_O) v)) (+.f32 #s(literal 1 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) v))))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))
98.5%
(/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) (approx (* v (exp (/ (* sinTheta_i sinTheta_O) v))) (+.f32 v (*.f32 sinTheta_O sinTheta_i)))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))
98.4%
(/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) (approx (* v (exp (/ (* sinTheta_i sinTheta_O) v))) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))
98.1%
(/.f32 (*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (/.f32 #s(literal 1 binary32) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) v)
58.9%
(/.f32 (*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (/.f32 cosTheta_O (/.f32 v cosTheta_i))) v)
59.5%
(/.f32 (*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (/.f32 #s(literal 1 binary32) (/.f32 v (*.f32 cosTheta_i cosTheta_O)))) v)
58.9%
(/.f32 (*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) v)
98.4%
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (approx (+ 1 (* -1 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_i (approx (+ (* -1 (/ sinTheta_O v)) (/ 1 sinTheta_i)) (/.f32 (fma.f32 #s(literal -1 binary32) sinTheta_O (/.f32 v sinTheta_i)) v))))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
98.1%
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (approx (+ 1 (* -1 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_O (approx (+ (* -1 (/ sinTheta_i v)) (/ 1 sinTheta_O)) (/.f32 (fma.f32 #s(literal -1 binary32) sinTheta_i (/.f32 v sinTheta_O)) v))))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
98.5%
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) #s(literal 1 binary32)) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))
98.6%
%21 = (/.f32 #s(literal 1 binary32) v)
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) #s(literal 1 binary32)) (*.f32 cosTheta_O (*.f32 cosTheta_i %21))) (*.f32 (sinh.f32 %21) (+.f32 v v)))
98.6%
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 v (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))))
92.4%
(/.f32 #s(literal 1 binary32) (/.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (approx (exp (/ (* sinTheta_i sinTheta_O) v)) (approx (+ 1 (/ (* sinTheta_O sinTheta_i) v)) (*.f32 sinTheta_i (+.f32 (/.f32 #s(literal 1 binary32) sinTheta_i) (/.f32 sinTheta_O v))))))))
92.6%
(/.f32 #s(literal 1 binary32) (/.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (approx (exp (/ (* sinTheta_i sinTheta_O) v)) (+.f32 #s(literal 1 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) v))))))
59.5%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (/.f32 (+.f32 v v) (*.f32 cosTheta_i cosTheta_O))))
59.6%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 v (approx (+ (* 2 (/ (* sinTheta_O sinTheta_i) (* cosTheta_O (* cosTheta_i v)))) (* 2 (/ 1 (* cosTheta_O cosTheta_i)))) (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) (*.f32 cosTheta_i v)) (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) cosTheta_i))) cosTheta_O)))))
59.6%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 v (approx (+ (* 2 (/ (* sinTheta_O sinTheta_i) (* cosTheta_O (* cosTheta_i v)))) (* 2 (/ 1 (* cosTheta_O cosTheta_i)))) (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) (*.f32 cosTheta_O v)) (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) cosTheta_O))) cosTheta_i)))))
59.5%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 #s(literal 2 binary32) (/.f32 (/.f32 v cosTheta_i) cosTheta_O))))
59.5%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)))))
59.5%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 #s(literal 2 binary32) (*.f32 v (/.f32 #s(literal 1 binary32) (*.f32 cosTheta_i cosTheta_O))))))
59.5%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (approx (* v (+ (* 2 (/ (* sinTheta_O sinTheta_i) (* cosTheta_O (* cosTheta_i v)))) (* 2 (/ 1 (* cosTheta_O cosTheta_i))))) (/.f32 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) (*.f32 cosTheta_i v)) (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) cosTheta_i)))) cosTheta_O))))
38.6%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (approx (* v (+ (* 2 (/ (* sinTheta_O sinTheta_i) (* cosTheta_O (* cosTheta_i v)))) (* 2 (/ 1 (* cosTheta_O cosTheta_i))))) (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O (*.f32 cosTheta_O cosTheta_i)) (*.f32 #s(literal 2 binary32) (/.f32 v (*.f32 cosTheta_O (*.f32 cosTheta_i sinTheta_i)))))))))
98.5%
(*.f32 (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) v))))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
98.4%
(*.f32 (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
98.5%
(*.f32 (/.f32 (/.f32 cosTheta_O (/.f32 v cosTheta_i)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
97.9%
(*.f32 (/.f32 (*.f32 (*.f32 cosTheta_i cosTheta_O) (/.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) v)))) v) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
98.5%
%21 = (/.f32 #s(literal 1 binary32) v)
(*.f32 (/.f32 (*.f32 (*.f32 cosTheta_i cosTheta_O) %21) (sinh.f32 %21)) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
98.4%
(*.f32 (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
98.3%
(*.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 v (sinh.f32 (/.f32 #s(literal 1 binary32) v)))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
58.9%
(*.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) (+ v v))) (approx (+ 1/2 (* -1/2 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) (/.f32 sinTheta_O v) (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) sinTheta_i)))))))
58.8%
(*.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) (+ v v))) (approx (+ 1/2 (* -1/2 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 sinTheta_i v) (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) sinTheta_O)))))))
98.5%
(*.f32 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i v)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
98.6%
%21 = (/.f32 #s(literal 1 binary32) v)
(*.f32 (/.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) (sinh.f32 %21)) (/.f32 (*.f32 cosTheta_i (*.f32 cosTheta_O %21)) (+.f32 v v)))
98.4%
(*.f32 (*.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) v)))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
98.5%
(*.f32 (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (sinh.f32 (/.f32 #s(literal 1 binary32) v)))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
58.9%
(*.f32 (approx (/ (* (exp (* (neg sinTheta_i) (/ sinTheta_O v))) cosTheta_i) (* (sinh (/ 1 v)) 2)) (*.f32 v (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_i (*.f32 sinTheta_O sinTheta_i)) v) (*.f32 #s(literal 1/2 binary32) cosTheta_i)))) (/.f32 (/.f32 cosTheta_O v) v))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) v))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 v v)))
59.3%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 v v) (*.f32 cosTheta_i cosTheta_O))))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (*.f32 (/.f32 cosTheta_i v) (/.f32 cosTheta_O v)))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (*.f32 (*.f32 cosTheta_i cosTheta_O) (/.f32 #s(literal 1 binary32) (*.f32 v v))))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v v))))
98.2%
%55 = (exp.f32 (/.f32 #s(literal 1 binary32) v))
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (sinh (/ 1 v))) (/.f32 #s(literal 2 binary32) (-.f32 %55 (/.f32 #s(literal 1 binary32) %55)))) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (+.f32 v v)))
98.3%
%55 = (exp.f32 (/.f32 #s(literal 1 binary32) v))
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (sinh (/ 1 v))) (/.f32 #s(literal 2 binary32) (-.f32 %55 (/.f32 #s(literal 1 binary32) %55)))) (*.f32 cosTheta_i (/.f32 (/.f32 cosTheta_O v) (+.f32 v v))))
98.4%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (sinh (/ 1 v))) (/.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) v)))) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (+.f32 v v)))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (sinh (/ 1 v))) (approx (* -1 (* v (- (/ (* sinTheta_O sinTheta_i) v) 1))) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) sinTheta_O (/.f32 v sinTheta_i))))) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (+.f32 v v)))
58.8%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (sinh (/ 1 v))) (approx (* -1 (* v (- (/ (* sinTheta_O sinTheta_i) v) 1))) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) sinTheta_i (/.f32 v sinTheta_O))))) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (+.f32 v v)))
98.5%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 v v) (/.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) v)))))))
98.4%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 v v) (-.f32 (exp.f32 (/.f32 #s(literal 1 binary32) v)) (exp.f32 (/.f32 #s(literal -1 binary32) v))))))
98.5%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 v v) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
98.4%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))))
97.4%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) (*.f32 v v)))
92.3%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))) (*.f32 cosTheta_i cosTheta_O))))
98.4%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (/.f32 cosTheta_i (*.f32 v v)) (/.f32 cosTheta_O (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
98.4%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (*.f32 cosTheta_i cosTheta_O) (/.f32 #s(literal 1 binary32) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))))))
98.5%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))))))
98.4%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i cosTheta_O)) v))
58.9%
%104 = (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i)))
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ %104 v)) (* 1/2 (* cosTheta_O cosTheta_i))) (/.f32 (approx (+ (* -1/2 %104) (* 1/2 (* cosTheta_O (* cosTheta_i v)))) (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_i (*.f32 sinTheta_O sinTheta_i)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i v))))) v)) v))
58.8%
%108 = (* cosTheta_O cosTheta_i)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 %108)) (*.f32 sinTheta_O (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) v)) (* 1/2 (/ %108 sinTheta_O))) (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_i sinTheta_i) v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i sinTheta_O))))))) v))
58.9%
%103 = (* cosTheta_i (* sinTheta_O sinTheta_i))
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O %103) v)) (* 1/2 (* cosTheta_O cosTheta_i))) (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %103 v)) (* 1/2 cosTheta_i)) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_i (*.f32 sinTheta_O sinTheta_i)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i v))) v)))) v))
53.3%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 (* cosTheta_O cosTheta_i))) (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (approx sinTheta_i #s(literal 0 binary32))))) v))) v))
58.9%
%108 = (* cosTheta_O cosTheta_i)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 %108)) (approx (* sinTheta_O (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) v)) (* 1/2 (/ %108 sinTheta_O)))) (*.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O sinTheta_i) v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O sinTheta_O))))))) v))
92.3%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(literal 1 binary32) (*.f32 (/.f32 (*.f32 v v) cosTheta_i) (/.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) cosTheta_O))))
98.4%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (/.f32 cosTheta_O (*.f32 v v)) (/.f32 cosTheta_i (-.f32 (exp.f32 (/.f32 #s(literal 1 binary32) v)) (exp.f32 (/.f32 #s(literal -1 binary32) v))))))
98.4%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (/.f32 cosTheta_O (*.f32 v v)) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))))
58.9%
%13 = (/ 1 v)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh %13) 2) v)) (*.f32 (/.f32 cosTheta_O (*.f32 v v)) (approx (/ cosTheta_i (- (exp %13) (exp (neg %13)))) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i v)))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i cosTheta_O)) (/.f32 #s(literal 1 binary32) v)))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_i) (/.f32 cosTheta_O v)))
98.3%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i (*.f32 v v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
98.3%
%55 = (exp.f32 (/.f32 #s(literal 1 binary32) v))
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 (*.f32 v v) (/.f32 (-.f32 (*.f32 %55 %55) #s(literal 1 binary32)) %55)))))
98.4%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 (*.f32 v v) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O (/.f32 v cosTheta_i))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 cosTheta_O v))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 v cosTheta_O)))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 #s(literal 1 binary32) v)))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (/.f32 cosTheta_i v))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) v)))))
Compiler

Compiled 79 to 295 computations (-273.4% saved)

sample12.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series5.6s (12.9%)

Counts
366 → 668
Calls
Call 1
Inputs
%2 = (*.f32 sinTheta_i sinTheta_O)
%4 = (/.f32 %2 v)
%7 = (*.f32 cosTheta_i cosTheta_O)
%8 = (/.f32 %7 v)
%10 = (/.f32 #s(literal 1 binary32) v)
%11 = (sinh.f32 %10)
%13 = (*.f32 %11 #s(literal 2 binary32))
%14 = (*.f32 %13 v)
%16 = (approx sinTheta_i #s(literal 0 binary32))
%17 = (*.f32 cosTheta_O cosTheta_i)
%18 = (*.f32 sinTheta_O sinTheta_i)
%19 = (/.f32 %18 v)
%20 = (exp.f32 %10)
%21 = (/.f32 #s(literal 1 binary32) %20)
%22 = (-.f32 %20 %21)
%25 = (/ (* sinTheta_i sinTheta_O) v)
%27 = (exp (neg %25))
%28 = (approx %27 #s(literal 1 binary32))
%29 = (/.f32 sinTheta_O v)
%31 = (*.f32 cosTheta_i %18)
%32 = (/.f32 sinTheta_i v)
%33 = (*.f32 cosTheta_i sinTheta_i)
%34 = (*.f32 cosTheta_O %33)
%36 = (neg.f32 sinTheta_i)
%37 = (*.f32 %36 %29)
%38 = (/.f32 #s(literal -1 binary32) v)
%39 = (exp.f32 %37)
%40 = (exp.f32 %4)
%41 = (/.f32 cosTheta_O v)
%42 = (*.f32 cosTheta_i %41)
%43 = (/.f32 cosTheta_i v)
%44 = (*.f32 cosTheta_O %43)
%45 = (*.f32 cosTheta_i %10)
%46 = (*.f32 cosTheta_O %45)
%47 = (*.f32 %7 %10)
%48 = (/.f32 v %7)
%49 = (/.f32 #s(literal 1 binary32) %48)
%50 = (*.f32 v %40)
%51 = (/.f32 #s(literal 1/2 binary32) v)
%52 = (exp.f32 %38)
%53 = (-.f32 %20 %52)
%54 = (+.f32 v v)
%55 = (*.f32 %11 %54)
%56 = (*.f32 v %11)
%57 = (*.f32 v %55)
%58 = (/.f32 %7 %57)
%59 = (*.f32 v v)
%60 = (/.f32 %39 %11)
%61 = (/.f32 %8 %54)
%62 = (*.f32 #s(literal 1/2 binary32) cosTheta_O)
%63 = (/.f32 %31 v)
%64 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%65 = (fma.f32 #s(literal -1/2 binary32) %63 %64)
%66 = (+.f32 #s(literal 1 binary32) %19)
%67 = (exp %25)
%68 = (approx %67 %66)
%70 = (/ sinTheta_O v)
%72 = (exp (* (neg sinTheta_i) %70))
%73 = (+ v v)
%75 = (approx (/ %72 %73) %51)
%76 = (/.f32 #s(literal 2 binary32) %22)
%78 = (/ 1 v)
%79 = (sinh %78)
%80 = (/ %72 %79)
%81 = (approx %80 %76)
%82 = (*.f32 cosTheta_i v)
%83 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%84 = (/.f32 %33 v)
%85 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%86 = (*.f32 #s(literal 1/2 binary32) v)
%88 = (* %79 2)
%89 = (/ %72 %88)
%90 = (approx %89 %86)
%91 = (*.f32 %20 %20)
%92 = (-.f32 %91 #s(literal 1 binary32))
%93 = (/.f32 %92 %20)
%94 = (/.f32 v sinTheta_O)
%95 = (/.f32 cosTheta_O %59)
%96 = (*.f32 #s(literal 1/2 binary32) %7)
%97 = (*.f32 %62 cosTheta_i)
%98 = (*.f32 cosTheta_O %10)
%99 = (/.f32 v cosTheta_O)
%100 = (/.f32 #s(literal 1 binary32) %99)
%101 = (/.f32 v cosTheta_i)
%102 = (/.f32 #s(literal 1 binary32) %13)
%103 = (/.f32 cosTheta_O %57)
%104 = (*.f32 cosTheta_i %103)
%105 = (/.f32 #s(literal 1 binary32) %57)
%106 = (*.f32 %7 %105)
%107 = (/.f32 %57 %7)
%108 = (/.f32 #s(literal 1 binary32) %107)
%109 = (/.f32 %7 %56)
%110 = (/.f32 %41 v)
%111 = (*.f32 cosTheta_i %95)
%112 = (/.f32 %8 v)
%113 = (*.f32 %43 %41)
%114 = (/.f32 #s(literal 1 binary32) %59)
%115 = (*.f32 %7 %114)
%116 = (/.f32 %59 %7)
%117 = (/.f32 #s(literal 1 binary32) %116)
%118 = (/.f32 #s(literal 1 binary32) %11)
%119 = (*.f32 %8 %118)
%120 = (/.f32 %42 %54)
%121 = (/.f32 %42 %11)
%122 = (*.f32 %28 %42)
%123 = (/.f32 %44 %11)
%124 = (/.f32 %47 %11)
%125 = (*.f32 %28 %46)
%126 = (*.f32 sinTheta_O %16)
%127 = (*.f32 cosTheta_i %126)
%128 = (*.f32 cosTheta_O %127)
%129 = (/.f32 %128 v)
%130 = (*.f32 cosTheta_O sinTheta_i)
%131 = (/.f32 %130 v)
%132 = (/.f32 cosTheta_O sinTheta_O)
%133 = (*.f32 #s(literal 1/2 binary32) %132)
%134 = (fma.f32 #s(literal -1/2 binary32) %131 %133)
%135 = (*.f32 sinTheta_O %134)
%136 = (*.f32 cosTheta_i %135)
%143 = (* cosTheta_O cosTheta_i)
%146 = (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) v)) (* 1/2 (/ %143 sinTheta_O)))
%148 = (approx (* sinTheta_O %146) %136)
%149 = (*.f32 cosTheta_O v)
%150 = (/.f32 %18 %149)
%151 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%152 = (*.f32 #s(literal 2 binary32) %151)
%153 = (fma.f32 #s(literal 2 binary32) %150 %152)
%154 = (/.f32 %153 cosTheta_i)
%155 = (* sinTheta_O sinTheta_i)
%157 = (* cosTheta_O (* cosTheta_i v))
%162 = (+ (* 2 (/ %155 %157)) (* 2 (/ 1 %143)))
%163 = (approx %162 %154)
%164 = (/.f32 cosTheta_i sinTheta_O)
%165 = (*.f32 #s(literal 1/2 binary32) %164)
%166 = (fma.f32 #s(literal -1/2 binary32) %84 %165)
%167 = (*.f32 cosTheta_O %166)
%168 = (approx %146 %167)
%169 = (*.f32 #s(literal 1/2 binary32) %82)
%170 = (fma.f32 #s(literal -1/2 binary32) %31 %169)
%171 = (*.f32 cosTheta_O %170)
%172 = (* cosTheta_i %155)
%173 = (* cosTheta_O %172)
%177 = (approx (+ (* -1/2 %173) (* 1/2 %157)) %171)
%178 = (/.f32 %18 %82)
%179 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%180 = (*.f32 #s(literal 2 binary32) %179)
%181 = (fma.f32 #s(literal 2 binary32) %178 %180)
%182 = (/.f32 %181 cosTheta_O)
%183 = (approx %162 %182)
%184 = (*.f32 v %181)
%185 = (/.f32 %184 cosTheta_O)
%186 = (* v %162)
%187 = (approx %186 %185)
%188 = (* v %67)
%189 = (approx %188 v)
%190 = (+.f32 v %18)
%191 = (approx %188 %190)
%192 = (+.f32 %83 %29)
%193 = (*.f32 sinTheta_i %192)
%194 = (/ %155 v)
%196 = (approx (+ 1 %194) %193)
%197 = (*.f32 #s(literal 1/2 binary32) %83)
%198 = (fma.f32 #s(literal -1/2 binary32) %29 %197)
%199 = (*.f32 sinTheta_i %198)
%201 = (+ 1/2 (* -1/2 %194))
%202 = (approx %201 %199)
%203 = (/.f32 sinTheta_O %17)
%204 = (/.f32 v %34)
%205 = (*.f32 #s(literal 2 binary32) %204)
%206 = (fma.f32 #s(literal 2 binary32) %203 %205)
%207 = (*.f32 sinTheta_i %206)
%208 = (approx %186 %207)
%209 = (/.f32 v sinTheta_i)
%210 = (fma.f32 #s(literal -1 binary32) sinTheta_O %209)
%211 = (*.f32 sinTheta_i %210)
%215 = (* -1 (* v (- %194 1)))
%216 = (approx %215 %211)
%217 = (*.f32 #s(literal 1/2 binary32) %85)
%218 = (fma.f32 #s(literal -1/2 binary32) %32 %217)
%219 = (*.f32 sinTheta_O %218)
%220 = (approx %201 %219)
%221 = (fma.f32 #s(literal -1 binary32) sinTheta_i %94)
%222 = (*.f32 sinTheta_O %221)
%223 = (approx %215 %222)
%224 = (/.f32 %170 v)
%229 = (approx (+ (* -1/2 (/ %172 v)) (* 1/2 cosTheta_i)) %224)
%230 = (/.f32 %210 v)
%234 = (approx (+ (* -1 %70) (/ 1 sinTheta_i)) %230)
%235 = (/.f32 %221 v)
%240 = (approx (+ (* -1 (/ sinTheta_i v)) (/ 1 sinTheta_O)) %235)
%246 = (approx (/ cosTheta_i (- (exp %78) (exp (neg %78)))) %169)
%247 = (*.f32 v %65)
%250 = (approx (/ (* %72 cosTheta_i) %88) %247)
%251 = (/.f32 cosTheta_O %101)
%252 = (/.f32 #s(literal 1 binary32) %118)
%253 = (/.f32 #s(literal 2 binary32) %118)
%254 = (/.f32 %101 cosTheta_O)
%255 = (/.f32 #s(literal 1 binary32) %7)
%256 = (*.f32 v %255)
%257 = (/.f32 #s(literal 1 binary32) %8)
%258 = (*.f32 %59 %13)
%259 = (/.f32 %43 %11)
%260 = (*.f32 cosTheta_O %259)
%261 = (*.f32 %7 %118)
%262 = (/.f32 %261 v)
%263 = (/.f32 %41 %54)
%264 = (*.f32 cosTheta_i %263)
%265 = (/.f32 %54 %7)
%266 = (/.f32 cosTheta_i %57)
%267 = (*.f32 cosTheta_O %266)
%268 = (/.f32 cosTheta_i %13)
%269 = (*.f32 cosTheta_O %268)
%270 = (/.f32 %269 %59)
%271 = (/.f32 cosTheta_i %59)
%272 = (/.f32 cosTheta_O %13)
%273 = (*.f32 %271 %272)
%274 = (/.f32 %271 %13)
%275 = (*.f32 cosTheta_i %102)
%276 = (/.f32 %59 cosTheta_i)
%277 = (/.f32 %13 cosTheta_O)
%278 = (*.f32 %276 %277)
%279 = (*.f32 %64 %41)
%280 = (*.f32 %96 %10)
%281 = (*.f32 %50 %55)
%283 = (*.f32 cosTheta_O %274)
%285 = (/ (* cosTheta_i cosTheta_O) v)
%287 = (* %88 v)
%288 = (/ (* %27 %285) %287)
%295 = (/.f32 %97 v)
%297 = (*.f32 sinTheta_O %168)
%301 = (+ (* -1/2 (/ %173 v)) (* 1/2 %143))
%302 = (approx %301 %297)
%303 = (/.f32 %302 v)
%310 = (*.f32 %90 %49)
%313 = (/.f32 %251 %11)
%315 = (*.f32 %90 %251)
%320 = (/.f32 %42 %68)
%321 = (/.f32 %55 %320)
%324 = (*.f32 %90 %42)
%327 = (/ %285 %67)
%328 = (/ %327 %287)
%337 = (*.f32 v %163)
%338 = (* %79 %73)
%339 = (/ %338 %327)
%340 = (approx %339 %337)
%342 = (*.f32 v %183)
%343 = (approx %339 %342)
%345 = (/.f32 #s(literal 1 binary32) %278)
%347 = (approx %339 %208)
%349 = (approx %339 %187)
%351 = (approx %67 %196)
%352 = (/.f32 %8 %351)
%353 = (/.f32 %55 %352)
%355 = (/.f32 %177 v)
%356 = (approx %301 %355)
%357 = (/.f32 %356 v)
%359 = (*.f32 %95 %275)
%361 = (*.f32 %95 %246)
%364 = (/.f32 %8 %252)
%366 = (approx %301 %148)
%367 = (/.f32 %366 v)
%369 = (*.f32 %59 %253)
%370 = (/.f32 %7 %369)
%372 = (*.f32 %59 %93)
%373 = (/.f32 cosTheta_i %372)
%374 = (*.f32 cosTheta_O %373)
%376 = (*.f32 %59 %53)
%377 = (/.f32 cosTheta_i %53)
%378 = (*.f32 %95 %377)
%380 = (/.f32 %7 %376)
%382 = (*.f32 #s(literal 1/2 binary32) %251)
%384 = (*.f32 sinTheta_i %234)
%386 = (+ 1 (* -1 %194))
%387 = (approx %386 %384)
%388 = (approx %27 %387)
%389 = (*.f32 %388 %8)
%391 = (/.f32 %7 %191)
%393 = (/.f32 %7 %189)
%395 = (/.f32 cosTheta_i %258)
%396 = (*.f32 cosTheta_O %395)
%398 = (/.f32 %7 %258)
%401 = (*.f32 sinTheta_O %240)
%402 = (approx %386 %401)
%403 = (approx %27 %402)
%404 = (*.f32 %403 %8)
%406 = (*.f32 #s(literal 2 binary32) %257)
%407 = (approx %339 %406)
%409 = (*.f32 #s(literal 2 binary32) %256)
%410 = (approx %339 %409)
%412 = (*.f32 #s(literal 2 binary32) %254)
%413 = (approx %339 %412)
%415 = (*.f32 cosTheta_i %98)
%416 = (*.f32 #s(literal 1/2 binary32) %415)
%418 = (/.f32 %415 %54)
%420 = (*.f32 cosTheta_i %100)
%421 = (*.f32 #s(literal 1/2 binary32) %420)
%423 = (/ %72 %338)
%424 = (approx %423 %220)
%426 = (approx %423 %202)
%428 = (approx %80 %223)
%430 = (approx %80 %216)
%432 = (*.f32 v %68)
%433 = (/.f32 %7 %432)
%435 = (*.f32 cosTheta_O %229)
%436 = (approx %301 %435)
%437 = (/.f32 %436 v)
%439 = (*.f32 #s(literal 1/2 binary32) %46)
%441 = (approx %339 %265)
%443 = (approx %89 %102)
%444 = (*.f32 %443 %8)
%446 = (*.f32 #s(literal -1/2 binary32) %129)
%447 = (approx %301 %446)
%448 = (/.f32 %447 v)
%450 = (approx %80 %118)
sinTheta_i
sinTheta_O
%2
v
%4
cosTheta_i
cosTheta_O
%7
%8
#s(literal 1 binary32)
%10
%11
#s(literal 2 binary32)
%13
%14
#s(literal 0 binary32)
%16
%17
%18
%19
%20
%21
%22
#s(literal -1 binary32)
%28
%29
#s(literal 1/2 binary32)
%31
%32
%33
%34
#s(literal -1/2 binary32)
%36
%37
%38
%39
%40
%41
%42
%43
%44
%45
%46
%47
%48
%49
%50
%51
%52
%53
%54
%55
%56
%57
%58
%59
%60
%61
%62
%63
%64
%65
%66
%68
%75
%76
%81
%82
%83
%84
%85
%86
%90
%91
%92
%93
%94
%95
%96
%97
%98
%99
%100
%101
%102
%103
%104
%105
%106
%107
%108
%109
%110
%111
%112
%113
%114
%115
%116
%117
%118
%119
%120
%121
%122
%123
%124
%125
%126
%127
%128
%129
%130
%131
%132
%133
%134
%135
%136
%148
%149
%150
%151
%152
%153
%154
%163
%164
%165
%166
%167
%168
%169
%170
%171
%177
%178
%179
%180
%181
%182
%183
%184
%185
%187
%189
%190
%191
%192
%193
%196
%197
%198
%199
%202
%203
%204
%205
%206
%207
%208
%209
%210
%211
%216
%217
%218
%219
%220
%221
%222
%223
%224
%229
%230
%234
%235
%240
%246
%247
%250
%251
%252
%253
%254
%255
%256
%257
%258
%259
%260
%261
%262
%263
%264
%265
%266
%267
%268
%269
%270
%271
%272
%273
%274
%275
%276
%277
%278
%279
%280
%281
(/.f32 %7 %281)
%283
(approx %288 %283)
(approx %288 %280)
(approx %288 %279)
(*.f32 %109 %75)
(*.f32 %260 %75)
(*.f32 %262 %75)
%295
(approx %288 %295)
%297
%302
%303
(approx %288 %303)
(*.f32 %90 %117)
(*.f32 %90 %115)
(*.f32 %90 %113)
(*.f32 %90 %112)
(*.f32 %90 %111)
%310
(/.f32 %310 v)
(*.f32 %123 %75)
%313
(*.f32 %313 %75)
%315
(/.f32 %315 v)
(*.f32 %124 %75)
(*.f32 %81 %120)
(*.f32 %121 %75)
%320
%321
(/.f32 #s(literal 1 binary32) %321)
(/.f32 %122 %55)
%324
(/.f32 %324 v)
(/.f32 %125 %55)
(approx %328 %58)
(approx %328 %106)
(approx %328 %267)
(approx %328 %270)
(approx %328 %273)
(approx %328 %104)
(approx %328 %108)
(*.f32 %250 %110)
%337
%340
(/.f32 #s(literal 1 binary32) %340)
%342
%343
(/.f32 #s(literal 1 binary32) %343)
%345
(approx %288 %345)
%347
(/.f32 #s(literal 1 binary32) %347)
%349
(/.f32 #s(literal 1 binary32) %349)
%351
%352
%353
(/.f32 #s(literal 1 binary32) %353)
%355
%356
%357
(approx %288 %357)
%359
(approx %288 %359)
%361
(approx %288 %361)
(*.f32 %81 %264)
%364
(*.f32 %364 %75)
%366
%367
(approx %288 %367)
%369
%370
(approx %328 %370)
%372
%373
%374
(approx %288 %374)
%376
%377
%378
(approx %288 %378)
%380
(approx %328 %380)
%382
(approx %288 %382)
%384
%387
%388
%389
(/.f32 %389 %14)
%391
(/.f32 %391 %55)
%393
(/.f32 %393 %55)
%395
%396
(approx %288 %396)
%398
(approx %328 %398)
(*.f32 %119 %75)
%401
%402
%403
%404
(/.f32 %404 %14)
%406
%407
(/.f32 #s(literal 1 binary32) %407)
%409
%410
(/.f32 #s(literal 1 binary32) %410)
%412
%413
(/.f32 #s(literal 1 binary32) %413)
%415
%416
(approx %288 %416)
%418
(*.f32 %60 %418)
%420
%421
(approx %288 %421)
%424
(*.f32 %8 %424)
%426
(*.f32 %8 %426)
%428
(*.f32 %428 %61)
%430
(*.f32 %430 %61)
%432
%433
(/.f32 %433 %55)
%435
%436
%437
(approx %288 %437)
%439
(approx %288 %439)
%441
(/.f32 #s(literal 1 binary32) %441)
%443
%444
(/.f32 %444 v)
%446
%447
%448
(approx %288 %448)
%450
(*.f32 %450 %61)
Outputs
%6 = (* cosTheta_i cosTheta_O)
%7 = (*.f32 cosTheta_O cosTheta_i)
%10 = (/ %6 v)
%11 = (/.f32 %7 v)
%14 = (* sinTheta_O sinTheta_i)
%15 = (* cosTheta_i %14)
%16 = (*.f32 sinTheta_O sinTheta_i)
%17 = (*.f32 cosTheta_i %16)
%19 = (* cosTheta_i sinTheta_i)
%20 = (*.f32 cosTheta_i sinTheta_i)
%22 = (* cosTheta_O %19)
%23 = (*.f32 cosTheta_O %20)
%25 = (/ cosTheta_i v)
%26 = (/.f32 cosTheta_i v)
%28 = (/ v %6)
%29 = (/.f32 v %7)
%32 = (/ 1 v)
%33 = (sinh %32)
%34 = (+ v v)
%35 = (* %33 %34)
%36 = (* v %35)
%37 = (/ %6 %36)
%39 = (pow.f32 v #s(literal 2 binary32))
%41 = (/.f32 #s(literal 1 binary32) v)
%42 = (exp.f32 %41)
%43 = (/.f32 #s(literal 1 binary32) %42)
%44 = (-.f32 %42 %43)
%45 = (*.f32 %39 %44)
%46 = (/.f32 %7 %45)
%50 = (/.f32 %7 %39)
%53 = (/ %15 v)
%54 = (/.f32 %17 v)
%57 = (* 1/2 cosTheta_i)
%58 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%62 = (+ (* -1/2 %53) %57)
%64 = (/.f32 %16 v)
%65 = (*.f32 #s(literal -1/2 binary32) %64)
%66 = (+.f32 #s(literal 1/2 binary32) %65)
%67 = (*.f32 cosTheta_i %66)
%69 = (* cosTheta_i v)
%70 = (*.f32 cosTheta_i v)
%72 = (/ %19 v)
%73 = (/.f32 %20 v)
%76 = (*.f32 #s(literal 1/2 binary32) %7)
%79 = (/.f32 v cosTheta_i)
%81 = (/ %36 %6)
%82 = (/.f32 %45 %7)
%84 = (* v %33)
%85 = (/ %6 %84)
%86 = (*.f32 v %44)
%87 = (/.f32 %7 %86)
%90 = (* v v)
%91 = (/ cosTheta_O %90)
%97 = (* sinTheta_i sinTheta_O)
%98 = (/ %97 v)
%100 = (exp (neg %98))
%101 = (/ cosTheta_O v)
%102 = (* cosTheta_i %101)
%103 = (* %100 %102)
%105 = (exp.f32 (neg.f32 %64))
%107 = (*.f32 cosTheta_O (*.f32 cosTheta_i %105))
%110 = (* cosTheta_O %15)
%111 = (*.f32 cosTheta_O %17)
%113 = (/ %110 v)
%114 = (/.f32 %111 v)
%116 = (* cosTheta_O sinTheta_i)
%117 = (/ %116 v)
%119 = (/ cosTheta_O sinTheta_O)
%120 = (* 1/2 %119)
%121 = (+ (* -1/2 %117) %120)
%122 = (* sinTheta_O %121)
%123 = (* cosTheta_i %122)
%124 = (*.f32 cosTheta_O sinTheta_i)
%125 = (/.f32 %124 v)
%126 = (/.f32 cosTheta_O sinTheta_O)
%127 = (*.f32 #s(literal 1/2 binary32) %126)
%128 = (fma.f32 #s(literal -1/2 binary32) %125 %127)
%129 = (*.f32 sinTheta_O %128)
%133 = (* cosTheta_O v)
%134 = (/ %14 %133)
%136 = (/ 1 cosTheta_O)
%137 = (* 2 %136)
%138 = (+ (* 2 %134) %137)
%139 = (/ %138 cosTheta_i)
%140 = (*.f32 cosTheta_O v)
%141 = (/.f32 %16 %140)
%142 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%143 = (*.f32 #s(literal 2 binary32) %142)
%144 = (fma.f32 #s(literal 2 binary32) %141 %143)
%147 = (/ cosTheta_i sinTheta_O)
%148 = (/.f32 cosTheta_i sinTheta_O)
%150 = (* 1/2 %147)
%151 = (*.f32 #s(literal 1/2 binary32) %148)
%154 = (+ (* -1/2 %72) %150)
%155 = (/.f32 sinTheta_i v)
%156 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%157 = (*.f32 #s(literal 1/2 binary32) %156)
%158 = (fma.f32 #s(literal -1/2 binary32) %155 %157)
%159 = (*.f32 cosTheta_i %158)
%161 = (* cosTheta_O %154)
%166 = (* cosTheta_O cosTheta_i)
%169 = (+ (* -1/2 (/ %22 v)) (* 1/2 (/ %166 sinTheta_O)))
%172 = (* 1/2 %69)
%173 = (*.f32 #s(literal 1/2 binary32) %70)
%176 = (+ (* -1/2 %15) %172)
%177 = (*.f32 #s(literal 1/2 binary32) v)
%178 = (fma.f32 #s(literal -1/2 binary32) %16 %177)
%179 = (*.f32 cosTheta_i %178)
%181 = (* cosTheta_O %176)
%185 = (* cosTheta_O %69)
%187 = (+ (* -1/2 %110) (* 1/2 %185))
%188 = (*.f32 cosTheta_O %16)
%189 = (*.f32 #s(literal 1/2 binary32) %140)
%190 = (fma.f32 #s(literal -1/2 binary32) %188 %189)
%191 = (*.f32 cosTheta_i %190)
%193 = (/ %14 %69)
%194 = (/.f32 %16 %70)
%196 = (/ 1 cosTheta_i)
%197 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%199 = (* 2 %196)
%203 = (+ (* 2 %193) %199)
%205 = (+.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) %64))
%208 = (/ %203 cosTheta_O)
%211 = (* v %203)
%212 = (*.f32 v %205)
%215 = (/ %211 cosTheta_O)
%222 = (+ (* 2 (/ %14 %185)) (* 2 (/ 1 %166)))
%223 = (* v %222)
%227 = (/ sinTheta_O %166)
%228 = (/.f32 sinTheta_O %7)
%230 = (/ v %22)
%231 = (/.f32 v %23)
%233 = (* 2 %230)
%234 = (*.f32 #s(literal 2 binary32) %231)
%237 = (+ (* 2 %227) %233)
%238 = (/.f32 sinTheta_O cosTheta_O)
%239 = (/.f32 v %124)
%241 = (fma.f32 #s(literal 2 binary32) %238 (*.f32 #s(literal 2 binary32) %239))
%244 = (* sinTheta_i %237)
%248 = (/ %176 v)
%251 = (exp %32)
%255 = (/ cosTheta_i (- %251 (exp (neg %32))))
%258 = (-.f32 %42 (exp.f32 (neg.f32 %41)))
%261 = (* v %62)
%262 = (*.f32 v %66)
%265 = (neg sinTheta_i)
%266 = (/ sinTheta_O v)
%267 = (* %265 %266)
%268 = (exp %267)
%270 = (* %33 2)
%271 = (/ (* %268 cosTheta_i) %270)
%273 = (*.f32 #s(literal -1 binary32) %64)
%274 = (exp.f32 %273)
%275 = (*.f32 cosTheta_i %274)
%279 = (/.f32 #s(literal 1 binary32) %7)
%281 = (/ %25 %33)
%286 = (* %6 (/ 1 %33))
%287 = (/.f32 %7 %44)
%293 = (/ cosTheta_i %36)
%296 = (/ cosTheta_i %270)
%297 = (/.f32 cosTheta_i %44)
%299 = (* cosTheta_O %296)
%302 = (/.f32 cosTheta_i %39)
%308 = (*.f32 #s(literal 1/2 binary32) %11)
%310 = (exp %98)
%311 = (* v %310)
%312 = (* %311 %35)
%313 = (/ %6 %312)
%314 = (exp.f32 %64)
%316 = (*.f32 %39 (*.f32 %314 %44))
%320 = (* %270 v)
%321 = (/ (* %100 %10) %320)
%324 = (/ %268 %34)
%326 = (*.f32 cosTheta_O %275)
%329 = (* -1/2 %113)
%331 = (+ %329 (* 1/2 %166))
%332 = (/.f32 %188 v)
%333 = (*.f32 #s(literal 1/2 binary32) cosTheta_O)
%334 = (fma.f32 #s(literal -1/2 binary32) %332 %333)
%335 = (*.f32 cosTheta_i %334)
%337 = (/ %331 v)
%340 = (/ %268 %270)
%342 = (* %340 (/ 1 %28))
%345 = (/ %102 %310)
%346 = (*.f32 v %314)
%349 = (/ %35 %345)
%352 = (/ %187 v)
%355 = (* %91 %255)
%359 = (* %251 %251)
%360 = (- %359 1)
%361 = (/ %360 %251)
%362 = (* %90 %361)
%363 = (/ cosTheta_i %362)
%364 = (*.f32 cosTheta_i %42)
%365 = (pow.f32 %42 #s(literal 2 binary32))
%366 = (-.f32 %365 #s(literal 1 binary32))
%367 = (*.f32 %39 %366)
%370 = (* cosTheta_O %363)
%375 = (/ -1 v)
%376 = (exp %375)
%377 = (- %251 %376)
%378 = (/ cosTheta_i %377)
%379 = (/.f32 #s(literal -1 binary32) v)
%380 = (exp.f32 %379)
%381 = (-.f32 %42 %380)
%385 = (*.f32 %39 %381)
%388 = (* cosTheta_O %62)
%394 = (-.f32 (*.f32 #s(literal 1/2 binary32) %64) #s(literal 1/2 binary32))
%395 = (*.f32 cosTheta_i %394)
%398 = (* sinTheta_O %169)
%400 = (fma.f32 #s(literal -1/2 binary32) %126 (*.f32 #s(literal 1/2 binary32) %125))
%401 = (*.f32 sinTheta_O %400)
%407 = (-.f32 (*.f32 #s(literal -2 binary32) %141) %143)
%412 = (-.f32 (*.f32 #s(literal 1/2 binary32) %155) %157)
%413 = (*.f32 cosTheta_i %412)
%422 = (*.f32 #s(literal 1/2 binary32) %16)
%424 = (*.f32 cosTheta_i (fma.f32 #s(literal -1/2 binary32) v %422))
%432 = (*.f32 cosTheta_i (fma.f32 #s(literal -1/2 binary32) %140 (*.f32 #s(literal 1/2 binary32) %188)))
%436 = (-.f32 (*.f32 #s(literal -2 binary32) %64) #s(literal 2 binary32))
%443 = (*.f32 v %436)
%455 = (fma.f32 #s(literal -2 binary32) %238 (*.f32 #s(literal -2 binary32) %239))
%466 = (*.f32 v %394)
%472 = (*.f32 cosTheta_i (fma.f32 #s(literal -1/2 binary32) cosTheta_O (*.f32 #s(literal 1/2 binary32) %332)))
%485 = (/.f32 cosTheta_O v)
%489 = (/.f32 cosTheta_O %39)
%492 = (/.f32 v cosTheta_O)
%494 = (/ cosTheta_O %36)
%503 = (*.f32 sinTheta_O %158)
%509 = (fma.f32 #s(literal -1/2 binary32) %73 %151)
%510 = (*.f32 sinTheta_O %509)
%520 = (*.f32 #s(literal 2 binary32) %197)
%521 = (fma.f32 #s(literal 2 binary32) %194 %520)
%526 = (fma.f32 #s(literal -1/2 binary32) %17 %173)
%527 = (*.f32 cosTheta_O %526)
%529 = (*.f32 v %521)
%532 = (/.f32 sinTheta_O cosTheta_i)
%533 = (/.f32 v %20)
%535 = (fma.f32 #s(literal 2 binary32) %532 (*.f32 #s(literal 2 binary32) %533))
%538 = (*.f32 sinTheta_i %535)
%544 = (/ cosTheta_O %270)
%547 = (/ %270 cosTheta_O)
%550 = (fma.f32 #s(literal -1/2 binary32) %54 %58)
%551 = (*.f32 cosTheta_O %550)
%560 = (*.f32 sinTheta_O %412)
%569 = (fma.f32 #s(literal -1/2 binary32) %148 (*.f32 #s(literal 1/2 binary32) %73))
%570 = (*.f32 sinTheta_O %569)
%578 = (-.f32 (*.f32 #s(literal -2 binary32) %194) %520)
%587 = (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) %70 (*.f32 #s(literal 1/2 binary32) %17)))
%590 = (*.f32 v %578)
%595 = (fma.f32 #s(literal -2 binary32) %532 (*.f32 #s(literal -2 binary32) %533))
%599 = (*.f32 sinTheta_i %595)
%604 = (fma.f32 #s(literal -1/2 binary32) cosTheta_i (*.f32 #s(literal 1/2 binary32) %54))
%605 = (*.f32 cosTheta_O %604)
%618 = (+.f32 #s(literal 1 binary32) %273)
%620 = (/.f32 sinTheta_O v)
%621 = (pow.f32 sinTheta_O #s(literal 2 binary32))
%622 = (*.f32 %621 sinTheta_i)
%623 = (/.f32 %622 %39)
%631 = (pow.f32 sinTheta_O #s(literal 3 binary32))
%632 = (*.f32 %631 sinTheta_i)
%633 = (pow.f32 v #s(literal 3 binary32))
%634 = (/.f32 %632 %633)
%636 = (*.f32 #s(literal 1/2 binary32) (/.f32 %621 %39))
%643 = (/ sinTheta_i v)
%648 = (+.f32 #s(literal 1 binary32) %64)
%661 = (+.f32 v %16)
%678 = (/ %268 %33)
%681 = (/.f32 %16 %86)
%682 = (/.f32 #s(literal 1 binary32) %44)
%683 = (*.f32 #s(literal 2 binary32) %682)
%686 = (/.f32 sinTheta_O %86)
%687 = (/.f32 %622 %45)
%692 = (*.f32 %633 %44)
%693 = (/.f32 %632 %692)
%694 = (/.f32 %621 %45)
%704 = (*.f32 #s(literal 1/2 binary32) %41)
%707 = (/.f32 sinTheta_O %39)
%716 = (pow.f32 v #s(literal 4 binary32))
%725 = (/ 1 sinTheta_i)
%726 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%741 = (/.f32 %111 %39)
%744 = (*.f32 cosTheta_i sinTheta_O)
%745 = (*.f32 cosTheta_O %744)
%746 = (/.f32 %745 %39)
%747 = (*.f32 cosTheta_i %622)
%748 = (*.f32 cosTheta_O %747)
%754 = (*.f32 cosTheta_i %632)
%755 = (*.f32 cosTheta_O %754)
%757 = (*.f32 cosTheta_i %621)
%758 = (*.f32 cosTheta_O %757)
%759 = (/.f32 %758 %633)
%760 = (*.f32 #s(literal 1/2 binary32) %759)
%768 = (fma.f32 #s(literal -1/2 binary32) %114 %76)
%773 = (*.f32 cosTheta_O %70)
%774 = (/.f32 %16 %773)
%775 = (*.f32 #s(literal 2 binary32) %279)
%776 = (fma.f32 #s(literal 2 binary32) %774 %775)
%779 = (/.f32 %7 sinTheta_O)
%780 = (*.f32 #s(literal 1/2 binary32) %779)
%782 = (/.f32 %23 v)
%783 = (fma.f32 #s(literal -1/2 binary32) %782 %780)
%786 = (*.f32 #s(literal 1/2 binary32) %773)
%788 = (fma.f32 #s(literal -1/2 binary32) %111 %786)
%794 = (*.f32 #s(literal 2 binary32) (/.f32 %16 cosTheta_i))
%795 = (fma.f32 #s(literal 2 binary32) %79 %794)
%797 = (/.f32 %16 %7)
%798 = (*.f32 #s(literal 2 binary32) %797)
%799 = (fma.f32 #s(literal 2 binary32) %29 %798)
%801 = (+ %725 %266)
%804 = (* 1/2 %725)
%808 = (+ (* -1/2 %266) %804)
%811 = (* sinTheta_i %808)
%816 = (/ v sinTheta_i)
%817 = (/.f32 v sinTheta_i)
%820 = (+ (* -1 sinTheta_O) %816)
%821 = (*.f32 #s(literal -1 binary32) %16)
%822 = (+.f32 v %821)
%825 = (* sinTheta_i %820)
%830 = (+ (* -1/2 %643) (* 1/2 (/ 1 sinTheta_O)))
%836 = (+ (* -1 sinTheta_i) (/ v sinTheta_O))
%837 = (/.f32 v sinTheta_O)
%839 = (fma.f32 #s(literal -1 binary32) sinTheta_i %837)
%841 = (/ %820 v)
%844 = (/ %836 v)
%846 = (fma.f32 #s(literal -1 binary32) %155 %156)
%851 = (/.f32 %744 %86)
%866 = (*.f32 sinTheta_i %86)
%869 = (*.f32 sinTheta_i %44)
%870 = (*.f32 %621 %869)
%871 = (*.f32 sinTheta_O %86)
%875 = (*.f32 %631 %869)
%877 = (*.f32 %621 %44)
%887 = (/.f32 %745 %692)
%888 = (*.f32 %716 %44)
%889 = (/.f32 %758 %888)
%890 = (fma.f32 #s(literal -2 binary32) %889 %889)
%897 = (*.f32 cosTheta_O (*.f32 cosTheta_i %631))
%900 = (*.f32 (pow.f32 v #s(literal 5 binary32)) %44)
%901 = (/.f32 %897 %900)
%933 = (/.f32 %745 %45)
%947 = (fma.f32 #s(literal -1 binary32) %759 %760)
%955 = (/.f32 %897 %716)
%971 = (/.f32 %871 %7)
%982 = (/ %268 %35)
%983 = (/.f32 #s(literal 1 binary32) %86)
%988 = (/.f32 sinTheta_O %45)
%1006 = (/.f32 %274 %44)
%1011 = (/.f32 %744 v)
%1012 = (/.f32 cosTheta_i sinTheta_i)
%1018 = (+ 1 (/ %14 v))
%1019 = (+.f32 %726 %620)
%1028 = (/.f32 cosTheta_O %16)
%1035 = (*.f32 cosTheta_O sinTheta_O)
%1036 = (/.f32 %1035 v)
%1037 = (/.f32 cosTheta_O sinTheta_i)
%1042 = (/.f32 %745 v)
%1043 = (/.f32 %7 sinTheta_i)
%1050 = (/.f32 sinTheta_O %140)
%1052 = (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %124))
%1058 = (/.f32 sinTheta_O %773)
%1060 = (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %23))
%1061 = (fma.f32 #s(literal 2 binary32) %1058 %1060)
%1066 = (/.f32 cosTheta_i %16)
%1073 = (/.f32 %7 %16)
%1078 = (*.f32 #s(literal -1/2 binary32) %17)
%1080 = (/.f32 %70 sinTheta_i)
%1085 = (*.f32 #s(literal -1/2 binary32) %111)
%1087 = (/.f32 %773 sinTheta_i)
%1094 = (/.f32 sinTheta_O %70)
%1096 = (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %20))
%1103 = (fma.f32 #s(literal 2 binary32) %228 %234)
%1106 = (+ v %14)
%1107 = (+.f32 sinTheta_O %817)
%1114 = (*.f32 #s(literal 1/2 binary32) %726)
%1115 = (fma.f32 #s(literal -1/2 binary32) %620 %1114)
%1125 = (fma.f32 #s(literal -1 binary32) sinTheta_O %817)
%1132 = (/.f32 #s(literal 1 binary32) %16)
%1133 = (*.f32 #s(literal 1/2 binary32) %1132)
%1134 = (-.f32 %1133 %704)
%1137 = (/.f32 v %16)
%1138 = (-.f32 %1137 #s(literal 1 binary32))
%1141 = (*.f32 #s(literal -1 binary32) %620)
%1143 = (fma.f32 #s(literal -1 binary32) %620 %726)
%1145 = (*.f32 #s(literal -1 binary32) %155)
%1147 = (-.f32 %1132 %41)
%1154 = (/.f32 %7 (*.f32 sinTheta_i v))
%1161 = (* sinTheta_i (+ (* -1 %266) %725))
%1175 = (*.f32 #s(literal 1/2 binary32) %485)
%1196 = (-.f32 (*.f32 #s(literal -2 binary32) %1058) %1060)
%1200 = (*.f32 #s(literal 1/2 binary32) %26)
%1231 = (*.f32 #s(literal -1 binary32) %817)
%1245 = (-.f32 %704 %1133)
%1250 = (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) %1137))
%1254 = (-.f32 %41 %1132)
%1263 = (-.f32 %620 %726)
%1268 = (pow.f32 sinTheta_i #s(literal 2 binary32))
%1269 = (*.f32 sinTheta_O %1268)
%1270 = (/.f32 %1269 %39)
%1276 = (pow.f32 sinTheta_i #s(literal 3 binary32))
%1277 = (*.f32 sinTheta_O %1276)
%1278 = (/.f32 %1277 %633)
%1280 = (*.f32 #s(literal 1/2 binary32) (/.f32 %1268 %39))
%1311 = (/.f32 sinTheta_i %86)
%1312 = (/.f32 %1269 %45)
%1316 = (/.f32 %1277 %692)
%1317 = (/.f32 %1268 %45)
%1323 = (/.f32 sinTheta_i %39)
%1347 = (/.f32 %23 %39)
%1348 = (*.f32 cosTheta_i %1269)
%1349 = (*.f32 cosTheta_O %1348)
%1355 = (*.f32 cosTheta_i %1277)
%1356 = (*.f32 cosTheta_O %1355)
%1358 = (*.f32 cosTheta_i %1268)
%1359 = (*.f32 cosTheta_O %1358)
%1360 = (/.f32 %1359 %633)
%1361 = (*.f32 #s(literal 1/2 binary32) %1360)
%1379 = (/.f32 %20 %86)
%1393 = (*.f32 %1268 %44)
%1394 = (*.f32 sinTheta_O %1393)
%1399 = (*.f32 sinTheta_O (*.f32 %1276 %44))
%1406 = (/.f32 %23 %692)
%1407 = (/.f32 %1359 %888)
%1408 = (fma.f32 #s(literal -2 binary32) %1407 %1407)
%1415 = (*.f32 cosTheta_O (*.f32 cosTheta_i %1276))
%1416 = (/.f32 %1415 %900)
%1441 = (/.f32 %23 %45)
%1455 = (fma.f32 #s(literal -1 binary32) %1360 %1361)
%1463 = (/.f32 %1415 %716)
%1475 = (/.f32 %866 %7)
%1486 = (/.f32 sinTheta_i %45)
%1507 = (/.f32 sinTheta_i %140)
%1509 = (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %1035))
%1513 = (/.f32 sinTheta_i %773)
%1515 = (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %745))
%1519 = (/.f32 %70 sinTheta_O)
%1521 = (fma.f32 #s(literal -1/2 binary32) %20 (*.f32 #s(literal 1/2 binary32) %1519))
%1524 = (/.f32 %773 sinTheta_O)
%1526 = (fma.f32 #s(literal -1/2 binary32) %23 (*.f32 #s(literal 1/2 binary32) %1524))
%1529 = (/.f32 sinTheta_i %70)
%1531 = (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %744))
%1535 = (/.f32 sinTheta_i cosTheta_i)
%1536 = (/.f32 v %744)
%1541 = (/.f32 sinTheta_i %7)
%1542 = (/.f32 v %745)
%1556 = (/.f32 v %111)
%1567 = (/.f32 %7 (*.f32 sinTheta_O v))
%1622 = (*.f32 #s(literal -1 binary32) %837)
%1652 = (-.f32 %155 %156)
%1662 = (/ 1 %251)
%1682 = (/ 1 %36)
%1686 = (/.f32 #s(literal 1 binary32) %39)
%1734 = (*.f32 #s(literal 1/6 binary32) %1686)
%1735 = (+.f32 #s(literal 1 binary32) %1734)
%1739 = (/.f32 #s(literal 1/120 binary32) %716)
%1741 = (+.f32 #s(literal 1 binary32) (+.f32 %1739 %1734))
%1746 = (pow.f32 v #s(literal 6 binary32))
%1747 = (/.f32 #s(literal 1 binary32) %1746)
%1751 = (+.f32 #s(literal 1 binary32) (+.f32 %1739 (fma.f32 #s(literal 1/6 binary32) %1686 (*.f32 #s(literal 1/5040 binary32) %1747))))
%1756 = (*.f32 #s(literal 1/3 binary32) %1686)
%1757 = (+.f32 #s(literal 2 binary32) %1756)
%1761 = (/.f32 #s(literal 1/60 binary32) %716)
%1763 = (+.f32 #s(literal 2 binary32) (+.f32 %1761 %1756))
%1770 = (+.f32 #s(literal 2 binary32) (+.f32 %1761 (fma.f32 #s(literal 1/3 binary32) %1686 (*.f32 #s(literal 1/2520 binary32) %1747))))
%1779 = (/.f32 #s(literal 1/2 binary32) %39)
%1783 = (/.f32 #s(literal 1 binary32) %633)
%1785 = (+.f32 %41 (*.f32 #s(literal 1/6 binary32) %1783))
%1791 = (+.f32 #s(literal 1 binary32) %1779)
%1796 = (*.f32 %621 %1268)
%1797 = (/.f32 %1796 %39)
%1798 = (*.f32 #s(literal 1/2 binary32) %1797)
%1800 = (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1 binary32) %64 %1798))
%1802 = (*.f32 %631 %1276)
%1803 = (/.f32 %1802 %633)
%1806 = (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal -1 binary32) %64 (fma.f32 #s(literal -1/6 binary32) %1803 %1798)))
%1808 = (fma.f32 #s(literal 1/2 binary32) %1797 %64)
%1809 = (+.f32 #s(literal 1 binary32) %1808)
%1812 = (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal 1/6 binary32) %1803 %1808))
%1829 = (fma.f32 #s(literal -1/12 binary32) %50 %76)
%1834 = (fma.f32 #s(literal -1/36 binary32) %7 (*.f32 #s(literal 1/120 binary32) %7))
%1835 = (/.f32 %1834 %716)
%1836 = (fma.f32 #s(literal -1/2 binary32) %1835 %1829)
%1843 = (/.f32 (fma.f32 #s(literal -1/6 binary32) %1834 (fma.f32 #s(literal -1/720 binary32) %7 (*.f32 #s(literal 1/5040 binary32) %7))) %1746)
%1844 = (fma.f32 #s(literal -1/2 binary32) %1843 %1836)
%1849 = (/.f32 #s(literal 1/6 binary32) %39)
%1860 = (*.f32 #s(literal 1/4 binary32) %1797)
%1871 = (/ 2 (- %251 %1662))
%1877 = (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 7/360 binary32) %716))
%1883 = (fma.f32 #s(literal 1/6 binary32) %1686 (*.f32 #s(literal 31/15120 binary32) %1747))
%1888 = (*.f32 #s(literal 1/2 binary32) %1796)
%1891 = (*.f32 #s(literal 1/2 binary32) (/.f32 (-.f32 %1888 #s(literal 1/6 binary32)) %39))
%1893 = (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal -1/2 binary32) %64 %1891))
%1898 = (-.f32 (*.f32 #s(literal -1/6 binary32) %1802) (*.f32 #s(literal -1/6 binary32) %16))
%1902 = (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal -1/2 binary32) %64 (fma.f32 #s(literal 1/2 binary32) (/.f32 %1898 %633) %1891)))
%1905 = (*.f32 #s(literal 2 binary32) %41)
%1908 = (/.f32 #s(literal 2 binary32) %39)
%1920 = (/.f32 #s(literal 4/3 binary32) %39)
%1931 = (/ 1 %270)
%1933 = (*.f32 #s(literal 1/12 binary32) %1686)
%1934 = (-.f32 #s(literal 1/2 binary32) %1933)
%1939 = (+.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 7/720 binary32) %716))
%1940 = (-.f32 %1939 %1933)
%1945 = (fma.f32 #s(literal 1/12 binary32) %1686 (*.f32 #s(literal 31/30240 binary32) %1747))
%1946 = (-.f32 %1939 %1945)
%1950 = (fma.f32 #s(literal -1/12 binary32) %489 %333)
%1954 = (fma.f32 #s(literal -1/36 binary32) cosTheta_O (*.f32 #s(literal 1/120 binary32) cosTheta_O))
%1956 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %1954 %716) %1950)
%1963 = (fma.f32 #s(literal -1/2 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %1954 (fma.f32 #s(literal -1/720 binary32) cosTheta_O (*.f32 #s(literal 1/5040 binary32) cosTheta_O))) %1746) %1956)
%1973 = (*.f32 cosTheta_O (*.f32 cosTheta_i %39))
%1974 = (/.f32 #s(literal 1 binary32) %1973)
%1980 = (*.f32 cosTheta_O (*.f32 cosTheta_i %716))
%1982 = (/.f32 #s(literal 1/3 binary32) %1973)
%1983 = (+.f32 %1982 %775)
%1997 = (fma.f32 #s(literal -1/6 binary32) %50 %7)
%2000 = (*.f32 #s(literal 1/6 binary32) %50)
%2001 = (-.f32 (fma.f32 #s(literal -1 binary32) %1835 %7) %2000)
%2004 = (/.f32 %7 %716)
%2007 = (-.f32 (fma.f32 #s(literal -1 binary32) %1843 %7) (fma.f32 #s(literal -1/36 binary32) %2004 (fma.f32 #s(literal 1/120 binary32) %2004 %2000)))
%2012 = (*.f32 cosTheta_i %1796)
%2013 = (*.f32 cosTheta_O %2012)
%2014 = (/.f32 %2013 %39)
%2015 = (fma.f32 #s(literal 1/2 binary32) %2014 %7)
%2019 = (*.f32 cosTheta_i %1802)
%2020 = (*.f32 cosTheta_O %2019)
%2039 = (fma.f32 #s(literal -1/12 binary32) %302 %58)
%2045 = (fma.f32 #s(literal -1/72 binary32) cosTheta_i (*.f32 #s(literal 1/240 binary32) cosTheta_i))
%2048 = (*.f32 #s(literal 1/12 binary32) %302)
%2059 = (/.f32 cosTheta_i %716)
%2066 = (*.f32 #s(literal 1/6 binary32) cosTheta_i)
%2069 = (*.f32 #s(literal 1/2 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/2 binary32) %2012) %2066) %39))
%2076 = (-.f32 (*.f32 #s(literal -1/6 binary32) %2019) (*.f32 #s(literal -1/6 binary32) %17))
%2087 = (fma.f32 #s(literal -1/36 binary32) cosTheta_i (*.f32 #s(literal 1/120 binary32) cosTheta_i))
%2088 = (/.f32 %2087 %716)
%2091 = (*.f32 #s(literal 1/6 binary32) %302)
%2097 = (/.f32 (fma.f32 #s(literal -1/6 binary32) %2087 (fma.f32 #s(literal -1/720 binary32) cosTheta_i (*.f32 #s(literal 1/5040 binary32) cosTheta_i))) %1746)
%2114 = (fma.f32 #s(literal -1/2 binary32) %2088 %2039)
%2117 = (fma.f32 #s(literal -1/2 binary32) %2097 %2114)
%2139 = (*.f32 cosTheta_O %39)
%2140 = (/.f32 #s(literal 1 binary32) %2139)
%2145 = (*.f32 cosTheta_O %716)
%2147 = (/.f32 #s(literal 1/3 binary32) %2139)
%2148 = (+.f32 %2147 %143)
%2162 = (+.f32 #s(literal 1/6 binary32) %1888)
%2163 = (/.f32 %2162 %39)
%2170 = (fma.f32 #s(literal 1/6 binary32) %16 (*.f32 #s(literal 1/6 binary32) %1802))
%2182 = (fma.f32 #s(literal -1 binary32) %2013 (*.f32 cosTheta_O (*.f32 cosTheta_i %2162)))
%2184 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %2182 %39) %76)
%2194 = (*.f32 cosTheta_i %2170)
%2203 = (*.f32 #s(literal 1/2 binary32) %2013)
%2204 = (*.f32 #s(literal 1/6 binary32) %7)
%2207 = (*.f32 #s(literal 1/2 binary32) (/.f32 (-.f32 %2203 %2204) %39))
%2209 = (fma.f32 #s(literal -1/2 binary32) %114 (fma.f32 #s(literal 1/2 binary32) %7 %2207))
%2214 = (-.f32 (*.f32 #s(literal -1/6 binary32) %2020) (*.f32 #s(literal -1/6 binary32) %111))
%2218 = (fma.f32 #s(literal -1/2 binary32) %114 (fma.f32 #s(literal 1/2 binary32) %7 (fma.f32 #s(literal 1/2 binary32) (/.f32 %2214 %633) %2207)))
%2223 = (fma.f32 #s(literal -1 binary32) %2013 %2203)
%2230 = (*.f32 sinTheta_O (*.f32 sinTheta_i %2223))
%2241 = (/.f32 %1796 %7)
%2242 = (*.f32 #s(literal 1/6 binary32) %279)
%2245 = (fma.f32 #s(literal 2 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) %2241 %2242) %39) %775)
%2251 = (fma.f32 #s(literal 1/6 binary32) %797 (*.f32 #s(literal 1/6 binary32) (/.f32 %1802 %7)))
%2258 = (fma.f32 #s(literal -1/72 binary32) %7 (*.f32 #s(literal 1/240 binary32) %7))
%2261 = (*.f32 #s(literal 1/12 binary32) %50)
%2276 = (*.f32 #s(literal 1/3 binary32) %302)
%2280 = (/.f32 cosTheta_i %633)
%2281 = (fma.f32 #s(literal 1/3 binary32) %2280 %58)
%2311 = (*.f32 #s(literal 1/3 binary32) %50)
%2315 = (/.f32 %7 %633)
%2316 = (fma.f32 #s(literal 1/3 binary32) %2315 %76)
%2365 = (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/3 binary32) (*.f32 #s(literal 1/60 binary32) %1686)) %39)) #s(literal 2 binary32))
%2373 = (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/60 binary32) (*.f32 #s(literal 1/2520 binary32) %1686)) %716)) %1757)
%2377 = (*.f32 #s(literal 1/6 binary32) %41)
%2399 = (/.f32 %1796 v)
%2405 = (/.f32 %1802 v)
%2454 = (fma.f32 #s(literal -1/2 binary32) %7 %2261)
%2461 = (fma.f32 #s(literal -1/120 binary32) %7 (*.f32 #s(literal 1/36 binary32) %7))
%2462 = (/.f32 %2461 %716)
%2463 = (fma.f32 #s(literal -1/2 binary32) %2462 %2261)
%2464 = (fma.f32 #s(literal -1/2 binary32) %7 %2463)
%2473 = (/.f32 (fma.f32 #s(literal -1/6 binary32) %2461 (fma.f32 #s(literal -1/5040 binary32) %7 (*.f32 #s(literal 1/720 binary32) %7))) %1746)
%2475 = (fma.f32 #s(literal -1/2 binary32) %7 (fma.f32 #s(literal -1/2 binary32) %2473 %2463))
%2483 = (*.f32 #s(literal -1/2 binary32) %1796)
%2484 = (+.f32 #s(literal 1/6 binary32) %2483)
%2485 = (/.f32 %2484 v)
%2494 = (/.f32 %1898 v)
%2521 = (*.f32 #s(literal -1/2 binary32) %16)
%2561 = (*.f32 #s(literal 4/3 binary32) %41)
%2567 = (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 2 binary32) %2561) v)) #s(literal 2 binary32)) v))
%2580 = (-.f32 %1933 #s(literal 1/2 binary32))
%2584 = (-.f32 %1933 %1939)
%2588 = (-.f32 %1945 %1939)
%2592 = (*.f32 #s(literal 1/12 binary32) %489)
%2593 = (fma.f32 #s(literal -1/2 binary32) cosTheta_O %2592)
%2598 = (fma.f32 #s(literal -1/120 binary32) cosTheta_O (*.f32 #s(literal 1/36 binary32) cosTheta_O))
%2600 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %2598 %716) %2592)
%2601 = (fma.f32 #s(literal -1/2 binary32) cosTheta_O %2600)
%2610 = (fma.f32 #s(literal -1/2 binary32) cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %2598 (fma.f32 #s(literal -1/5040 binary32) cosTheta_O (*.f32 #s(literal 1/720 binary32) cosTheta_O))) %1746) %2600))
%2639 = (fma.f32 #s(literal 1/36 binary32) %2004 %7)
%2644 = (/.f32 %7 %1746)
%2680 = (fma.f32 #s(literal -1/2 binary32) %7 (*.f32 #s(literal 1/2 binary32) %114))
%2700 = (fma.f32 #s(literal -1/2 binary32) cosTheta_i %2048)
%2707 = (fma.f32 #s(literal -1/240 binary32) cosTheta_i (*.f32 #s(literal 1/72 binary32) cosTheta_i))
%2709 = (*.f32 #s(literal -1/2 binary32) cosTheta_i)
%2732 = (-.f32 (*.f32 #s(literal -1/2 binary32) %2012) (*.f32 #s(literal -1/6 binary32) cosTheta_i))
%2751 = (*.f32 #s(literal 1/36 binary32) %2059)
%2757 = (fma.f32 #s(literal -1/120 binary32) cosTheta_i (*.f32 #s(literal 1/36 binary32) cosTheta_i))
%2759 = (/.f32 cosTheta_i %1746)
%2791 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %2757 %716) %2048)
%2792 = (fma.f32 #s(literal -1/2 binary32) cosTheta_i %2791)
%2801 = (fma.f32 #s(literal -1/2 binary32) cosTheta_i (fma.f32 #s(literal -1/2 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %2757 (fma.f32 #s(literal -1/5040 binary32) cosTheta_i (*.f32 #s(literal 1/720 binary32) cosTheta_i))) %1746) %2791))
%2847 = (-.f32 %2483 #s(literal 1/6 binary32))
%2849 = (*.f32 #s(literal 2 binary32) %16)
%2873 = (fma.f32 cosTheta_O %2012 (*.f32 cosTheta_O (*.f32 cosTheta_i %2847)))
%2878 = (*.f32 #s(literal -1/2 binary32) %7)
%2902 = (-.f32 (*.f32 #s(literal -1/2 binary32) %2013) (*.f32 #s(literal -1/6 binary32) %7))
%2903 = (/.f32 %2902 v)
%2911 = (/.f32 %2214 v)
%2958 = (-.f32 (*.f32 #s(literal -1/2 binary32) %2241) %2242)
%2979 = (fma.f32 #s(literal -1/240 binary32) %7 (*.f32 #s(literal 1/72 binary32) %7))
%3000 = (fma.f32 #s(literal -1/2 binary32) cosTheta_i (*.f32 #s(literal -1/4 binary32) %302))
%3001 = (*.f32 #s(literal -1/3 binary32) %302)
%3006 = (*.f32 #s(literal 1/12 binary32) cosTheta_i)
%3009 = (-.f32 (*.f32 #s(literal -1/4 binary32) cosTheta_i) (*.f32 #s(literal -1/3 binary32) cosTheta_i))
%3010 = (fma.f32 #s(literal -1 binary32) %3009 %2066)
%3011 = (-.f32 %3006 %3010)
%3035 = (fma.f32 #s(literal -1/2 binary32) %7 (*.f32 #s(literal -1/4 binary32) %50))
%3036 = (*.f32 #s(literal -1/3 binary32) %50)
%3041 = (*.f32 #s(literal 1/12 binary32) %7)
%3044 = (-.f32 (*.f32 #s(literal -1/4 binary32) %7) (*.f32 #s(literal -1/3 binary32) %7))
%3045 = (fma.f32 #s(literal -1 binary32) %3044 %2204)
%3046 = (-.f32 %3041 %3045)
(approx sinTheta_i #s(literal 0 binary32))
(approx cosTheta_i cosTheta_i)
(approx %6 %7)
(approx %10 %11)
(approx %15 %17)
(approx %19 %20)
(approx %22 %23)
(approx %25 %26)
(approx %28 %29)
(approx %37 %46)
(approx (/ %10 %34) (*.f32 #s(literal 1/2 binary32) %50))
(approx %53 %54)
(approx %57 %58)
(approx %62 %67)
(approx %69 %70)
(approx %72 %73)
(approx (* 1/2 %6) %76)
(approx (/ v cosTheta_i) %79)
(approx %81 %82)
(approx %85 (*.f32 #s(literal 2 binary32) %87))
(approx (* cosTheta_i %91) %50)
(approx (/ %90 %6) (/.f32 %39 %7))
(approx %103 (/.f32 %107 v))
(approx %110 %111)
(approx %113 %114)
(approx %123 (*.f32 cosTheta_i %129))
(approx %139 (/.f32 %144 cosTheta_i))
(approx %147 %148)
(approx %150 %151)
(approx %154 %159)
(approx %161 (*.f32 cosTheta_O %159))
(approx %169 (*.f32 cosTheta_i %128))
(approx %172 %173)
(approx %176 %179)
(approx %181 (*.f32 cosTheta_O %179))
(approx %187 %191)
(approx %193 %194)
(approx %196 %197)
(approx %199 (/.f32 #s(literal 2 binary32) cosTheta_i))
(approx %203 (/.f32 %205 cosTheta_i))
(approx %208 (/.f32 %205 %7))
(approx %211 (/.f32 %212 cosTheta_i))
(approx %215 (/.f32 %212 %7))
(approx %223 (/.f32 (*.f32 v %144) cosTheta_i))
(approx %227 %228)
(approx %230 %231)
(approx %233 %234)
(approx %237 (/.f32 %241 cosTheta_i))
(approx %244 (/.f32 (*.f32 sinTheta_i %241) cosTheta_i))
(approx %248 (/.f32 %179 v))
(approx %255 (/.f32 cosTheta_i %258))
(approx %261 (*.f32 cosTheta_i %262))
(approx %271 (/.f32 %275 %44))
(approx (/ 1 %6) %279)
(approx %281 (*.f32 #s(literal 2 binary32) (/.f32 cosTheta_i %86)))
(approx %286 (*.f32 #s(literal 2 binary32) %287))
(approx (/ %34 %6) (*.f32 #s(literal 2 binary32) %29))
(approx %293 (/.f32 cosTheta_i %45))
(approx %296 %297)
(approx %299 %287)
(approx (/ cosTheta_i %90) %302)
(approx (/ %90 cosTheta_i) (/.f32 %39 cosTheta_i))
(approx (* %57 %101) %308)
(approx %313 (/.f32 %7 %316))
(approx %321 (/.f32 %107 %45))
(approx (* %85 %324) (/.f32 %326 %45))
(approx %331 %335)
(approx %337 (/.f32 %335 v))
(approx %342 (/.f32 %326 %86))
(approx %345 (/.f32 %7 %346))
(approx %349 (/.f32 %316 %7))
(approx %352 (/.f32 %191 v))
(approx %355 (/.f32 %7 (*.f32 %39 %258)))
(approx %363 (/.f32 %364 %367))
(approx %370 (/.f32 (*.f32 cosTheta_O %364) %367))
(approx %378 (/.f32 cosTheta_i %381))
(approx (* %91 %378) (/.f32 %7 %385))
(approx %388 (*.f32 cosTheta_O %67))
(approx %329 (*.f32 #s(literal -1/2 binary32) %114))
(approx %62 (*.f32 #s(literal -1 binary32) %395))
(approx %398 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i %401)))
(approx %222 (*.f32 #s(literal -1 binary32) (/.f32 %407 cosTheta_i)))
(approx %154 (*.f32 #s(literal -1 binary32) %413))
(approx %161 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O %413)))
(approx %169 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i %400)))
(approx %176 (*.f32 #s(literal -1 binary32) %424))
(approx %181 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O %424)))
(approx %187 (*.f32 #s(literal -1 binary32) %432))
(approx %203 (*.f32 #s(literal -1 binary32) (/.f32 %436 cosTheta_i)))
(approx %208 (*.f32 #s(literal -1 binary32) (/.f32 %436 %7)))
(approx %211 (*.f32 #s(literal -1 binary32) (/.f32 %443 cosTheta_i)))
(approx %215 (*.f32 #s(literal -1 binary32) (/.f32 %443 %7)))
(approx %223 (*.f32 #s(literal -1 binary32) (/.f32 (*.f32 v %407) cosTheta_i)))
(approx %237 (*.f32 #s(literal -1 binary32) (/.f32 %455 cosTheta_i)))
(approx %244 (*.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_i %455) cosTheta_i)))
(approx %248 (*.f32 #s(literal -1 binary32) (/.f32 %424 v)))
(approx %261 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_i %466)))
(approx %331 (*.f32 #s(literal -1 binary32) %472))
(approx %337 (*.f32 #s(literal -1 binary32) (/.f32 %472 v)))
(approx %352 (*.f32 #s(literal -1 binary32) (/.f32 %432 v)))
(approx %388 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O %395)))
(approx cosTheta_O cosTheta_O)
(approx %101 %485)
(approx (* 1/2 cosTheta_O) %333)
(approx %91 %489)
(approx (/ v cosTheta_O) %492)
(approx %494 (/.f32 cosTheta_O %45))
(approx %116 %124)
(approx %117 %125)
(approx %119 %126)
(approx %120 %127)
(approx %121 (*.f32 cosTheta_O %158))
(approx %122 (*.f32 cosTheta_O %503))
(approx %123 (*.f32 cosTheta_O (*.f32 cosTheta_i %503)))
(approx %398 (*.f32 cosTheta_O %510))
(approx %133 %140)
(approx %134 %141)
(approx %136 %142)
(approx %137 (/.f32 #s(literal 2 binary32) cosTheta_O))
(approx %138 (/.f32 %205 cosTheta_O))
(approx %222 (/.f32 %521 cosTheta_O))
(approx %161 (*.f32 cosTheta_O %509))
(approx %181 %527)
(approx %215 (/.f32 %529 cosTheta_O))
(approx %237 (/.f32 %535 cosTheta_O))
(approx %244 (/.f32 %538 cosTheta_O))
(approx (/ %101 %34) (*.f32 #s(literal 1/2 binary32) %489))
(approx %544 (/.f32 cosTheta_O %44))
(approx %547 (/.f32 %44 cosTheta_O))
(approx %331 %551)
(approx %337 (/.f32 %551 v))
(approx %352 (/.f32 %527 v))
(approx %121 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O %412)))
(approx %122 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O %560)))
(approx %123 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (*.f32 cosTheta_i %560))))
(approx %398 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O %570)))
(approx %138 (*.f32 #s(literal -1 binary32) (/.f32 %436 cosTheta_O)))
(approx %222 (*.f32 #s(literal -1 binary32) (/.f32 %578 cosTheta_O)))
(approx %169 (*.f32 #s(literal -1 binary32) (*.f32 cosTheta_O %569)))
(approx %187 (*.f32 #s(literal -1 binary32) %587))
(approx %223 (*.f32 #s(literal -1 binary32) (/.f32 %590 cosTheta_O)))
(approx %237 (*.f32 #s(literal -1 binary32) (/.f32 %595 cosTheta_O)))
(approx %244 (*.f32 #s(literal -1 binary32) (/.f32 %599 cosTheta_O)))
(approx %331 (*.f32 #s(literal -1 binary32) %605))
(approx %337 (*.f32 #s(literal -1 binary32) (/.f32 %605 v)))
(approx %352 (*.f32 #s(literal -1 binary32) (/.f32 %587 v)))
(approx sinTheta_i sinTheta_i)
(approx %97 %16)
(approx %98 %64)
(approx %100 #s(literal 1 binary32))
(approx %100 %618)
(approx %100 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %620 (*.f32 #s(literal 1/2 binary32) %623)))))
(approx %100 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %620 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) %634 %636))))))
(approx %643 %155)
(approx %265 (*.f32 #s(literal -1 binary32) sinTheta_i))
(approx %267 %273)
(approx %310 %648)
(approx %310 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal 1/2 binary32) %623 %620))))
(approx %310 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_i (fma.f32 sinTheta_i (fma.f32 #s(literal 1/6 binary32) %634 %636) %620))))
(approx %311 v)
(approx %311 %661)
(approx %311 (+.f32 v (*.f32 sinTheta_i (+.f32 sinTheta_O (*.f32 #s(literal 1/2 binary32) (/.f32 %622 v))))))
(approx %311 (+.f32 v (*.f32 sinTheta_i (+.f32 sinTheta_O (*.f32 sinTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 %632 %39) (*.f32 #s(literal 1/2 binary32) (/.f32 %621 v))))))))
(approx %678 (/.f32 #s(literal 2 binary32) %44))
(approx %678 (fma.f32 #s(literal -2 binary32) %681 %683))
(approx %678 (fma.f32 sinTheta_i (fma.f32 #s(literal -2 binary32) %686 %687) %683))
(approx %678 (fma.f32 sinTheta_i (fma.f32 #s(literal -2 binary32) %686 (*.f32 sinTheta_i (fma.f32 #s(literal -1/3 binary32) %693 %694))) %683))
(approx %62 %550)
(approx %324 (/.f32 #s(literal 1/2 binary32) v))
(approx %324 (fma.f32 #s(literal -1/2 binary32) (/.f32 %16 %39) %704))
(approx %324 (fma.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %707 (*.f32 #s(literal 1/4 binary32) (/.f32 %622 %633))) %704))
(approx %324 (fma.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %707 (*.f32 sinTheta_i (fma.f32 #s(literal -1/12 binary32) (/.f32 %632 %716) (*.f32 #s(literal 1/4 binary32) (/.f32 %621 %633))))) %704))
(approx %725 %726)
(approx %340 %682)
(approx %340 (fma.f32 #s(literal -1 binary32) %681 %682))
(approx %340 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %686 (*.f32 #s(literal 1/2 binary32) %687)) %682))
(approx %340 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %686 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) %693 (*.f32 #s(literal 1/2 binary32) %694)))) %682))
(approx %103 (fma.f32 #s(literal -1 binary32) %741 %11))
(approx %103 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %746 (*.f32 #s(literal 1/2 binary32) (/.f32 %748 %633))) %11))
(approx %103 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %746 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %755 %716) %760))) %11))
(approx %121 %128)
(approx %122 %334)
(approx %123 %768)
(approx %138 %144)
(approx %139 (/.f32 #s(literal 2 binary32) %7))
(approx %139 %776)
(approx %154 %509)
(approx %161 %780)
(approx %161 %783)
(approx %176 %526)
(approx %181 %786)
(approx %181 %788)
(approx %203 %521)
(approx %211 (*.f32 #s(literal 2 binary32) %79))
(approx %211 %795)
(approx %215 %799)
(approx %801 (/.f32 %648 sinTheta_i))
(approx %804 (/.f32 #s(literal 1/2 binary32) sinTheta_i))
(approx %808 (/.f32 %66 sinTheta_i))
(approx %811 #s(literal 1/2 binary32))
(approx %811 %66)
(approx %237 (/.f32 %799 sinTheta_i))
(approx %816 %817)
(approx %820 (/.f32 %822 sinTheta_i))
(approx %825 %822)
(approx %830 (/.f32 #s(literal 1/2 binary32) sinTheta_O))
(approx %830 %158)
(approx %836 %837)
(approx %836 %839)
(approx %841 (/.f32 %618 sinTheta_i))
(approx %844 %156)
(approx %844 %846)
(approx %271 (fma.f32 #s(literal -1 binary32) (/.f32 %17 %86) %297))
(approx %271 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %851 (*.f32 #s(literal 1/2 binary32) (/.f32 %747 %45))) %297))
(approx %271 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %851 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %754 %692) (*.f32 #s(literal 1/2 binary32) (/.f32 %757 %45))))) %297))
(approx %312 %45)
(approx %312 (fma.f32 sinTheta_O %866 %45))
(approx %312 (fma.f32 sinTheta_i (fma.f32 #s(literal 1/2 binary32) %870 %871) %45))
(approx %312 (fma.f32 sinTheta_i (fma.f32 sinTheta_O %86 (*.f32 sinTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 %875 v) (*.f32 #s(literal 1/2 binary32) %877)))) %45))
(approx %313 (fma.f32 #s(literal -1 binary32) (/.f32 %111 %692) %46))
(approx %313 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %887 (*.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_i %890))) %46))
(approx %313 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %887 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %901 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %890) v) (*.f32 #s(literal 1/3 binary32) %901)))) (*.f32 #s(literal -1/2 binary32) %890)))) %46))
(approx %321 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %887 (*.f32 #s(literal 1/2 binary32) (/.f32 %748 %888))) %46))
(approx %321 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %887 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %755 %900) (*.f32 #s(literal 1/2 binary32) %889)))) %46))
(approx %337 (fma.f32 #s(literal -1/2 binary32) %741 %308))
(approx %342 %87)
(approx %342 (fma.f32 #s(literal -1 binary32) (/.f32 %111 %45) %87))
(approx %342 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %933 (*.f32 #s(literal 1/2 binary32) (/.f32 %748 %692))) %87))
(approx %342 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %933 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %755 %888) (*.f32 #s(literal 1/2 binary32) (/.f32 %758 %692))))) %87))
(approx %345 (fma.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i %947)) %746) %11))
(approx %345 (fma.f32 sinTheta_i (-.f32 (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_O %947) v) (fma.f32 #s(literal -1/2 binary32) %955 (*.f32 #s(literal 1/6 binary32) %955))))) %947)) %746) %11))
(approx %349 (+.f32 (/.f32 (*.f32 sinTheta_O %866) %7) %82))
(approx %349 (fma.f32 sinTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 %870 %7) %971) %82))
(approx %349 (fma.f32 sinTheta_i (fma.f32 sinTheta_i (fma.f32 #s(literal 1/6 binary32) (/.f32 %875 %773) (*.f32 #s(literal 1/2 binary32) (/.f32 %877 %7))) %971) %82))
(approx %982 %983)
(approx %982 (fma.f32 #s(literal -1 binary32) (/.f32 %16 %45) %983))
(approx %982 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %988 (*.f32 #s(literal 1/2 binary32) (/.f32 %622 %692))) %983))
(approx %982 (fma.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %988 (*.f32 sinTheta_i (fma.f32 #s(literal -1/6 binary32) (/.f32 %632 %888) (*.f32 #s(literal 1/2 binary32) (/.f32 %621 %692))))) %983))
(approx %100 %105)
(approx %268 %274)
(approx %310 %314)
(approx %311 %346)
(approx %678 (*.f32 #s(literal 2 binary32) %1006))
(approx %62 (*.f32 #s(literal -1/2 binary32) %54))
(approx %62 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1011 (*.f32 #s(literal 1/2 binary32) %1012))))
(approx %1018 (*.f32 sinTheta_i %1019))
(approx %324 (*.f32 #s(literal 1/2 binary32) (/.f32 %274 v)))
(approx %340 %1006)
(approx %121 (*.f32 #s(literal -1/2 binary32) %125))
(approx %121 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %485 (*.f32 #s(literal 1/2 binary32) %1028))))
(approx %122 (*.f32 #s(literal -1/2 binary32) %332))
(approx %122 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1036 (*.f32 #s(literal 1/2 binary32) %1037))))
(approx %123 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1042 (*.f32 #s(literal 1/2 binary32) %1043))))
(approx %138 (*.f32 #s(literal 2 binary32) %141))
(approx %138 (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) %1050 %1052)))
(approx %139 (*.f32 #s(literal 2 binary32) %774))
(approx %139 (*.f32 sinTheta_i %1061))
(approx %154 (*.f32 #s(literal -1/2 binary32) %73))
(approx %154 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %26 (*.f32 #s(literal 1/2 binary32) %1066))))
(approx %161 (*.f32 #s(literal -1/2 binary32) %782))
(approx %161 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %11 (*.f32 #s(literal 1/2 binary32) %1073))))
(approx %176 %1078)
(approx %176 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %744 (*.f32 #s(literal 1/2 binary32) %1080))))
(approx %181 %1085)
(approx %181 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %745 (*.f32 #s(literal 1/2 binary32) %1087))))
(approx %203 (*.f32 #s(literal 2 binary32) %194))
(approx %203 (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) %1094 %1096)))
(approx %211 %794)
(approx %211 %538)
(approx %215 %798)
(approx %215 (*.f32 sinTheta_i %1103))
(approx %1106 (*.f32 sinTheta_i %1107))
(approx %801 %620)
(approx %801 %1019)
(approx %808 (*.f32 #s(literal -1/2 binary32) %620))
(approx %808 %1115)
(approx %811 %65)
(approx %811 (*.f32 sinTheta_i %1115))
(approx %237 (*.f32 #s(literal 2 binary32) %228))
(approx %237 %1103)
(approx %820 (*.f32 #s(literal -1 binary32) sinTheta_O))
(approx %820 %1125)
(approx %825 %821)
(approx %825 (*.f32 sinTheta_i %1125))
(approx %830 (*.f32 #s(literal -1/2 binary32) %155))
(approx %830 (*.f32 sinTheta_i %1134))
(approx %836 (*.f32 sinTheta_i %1138))
(approx %841 %1141)
(approx %841 %1143)
(approx %844 %1145)
(approx %844 (*.f32 sinTheta_i %1147))
(approx %312 %316)
(approx %337 (*.f32 #s(literal -1/2 binary32) %741))
(approx %337 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %746 (*.f32 #s(literal 1/2 binary32) %1154))))
(approx %1161 (*.f32 sinTheta_i %1143))
(approx %982 (/.f32 %274 %86))
(approx %62 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1012 (*.f32 #s(literal 1/2 binary32) %1011)))))
(approx %1018 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 %1141 %726))))
(approx %121 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1028 %1175))))
(approx %122 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1037 (*.f32 #s(literal 1/2 binary32) %1036)))))
(approx %123 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1043 (*.f32 #s(literal 1/2 binary32) %1042)))))
(approx %138 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -2 binary32) %1050) %1052))))
(approx %139 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i %1196)))
(approx %154 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1066 %1200))))
(approx %161 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1073 %308))))
(approx %176 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1080 (*.f32 #s(literal 1/2 binary32) %744)))))
(approx %181 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1087 (*.f32 #s(literal 1/2 binary32) %745)))))
(approx %203 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal -2 binary32) %1094) %1096))))
(approx %211 (*.f32 #s(literal -1 binary32) %599))
(approx %215 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -2 binary32) %228 (*.f32 #s(literal -2 binary32) %231)))))
(approx %1106 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) sinTheta_O %1231))))
(approx %811 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (-.f32 (*.f32 #s(literal 1/2 binary32) %620) %1114))))
(approx %825 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (+.f32 sinTheta_O %1231))))
(approx %830 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i %1245)))
(approx %836 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i %1250)))
(approx %844 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i %1254)))
(approx %337 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %1154 (*.f32 #s(literal 1/2 binary32) %746)))))
(approx %1161 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_i %1263)))
(approx sinTheta_O sinTheta_O)
(approx %100 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %155 (*.f32 #s(literal 1/2 binary32) %1270)))))
(approx %100 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %155 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) %1278 %1280))))))
(approx %310 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) %1270 %155))))
(approx %310 (+.f32 #s(literal 1 binary32) (*.f32 sinTheta_O (fma.f32 sinTheta_O (fma.f32 #s(literal 1/6 binary32) %1278 %1280) %155))))
(approx %311 (+.f32 v (*.f32 sinTheta_O (+.f32 sinTheta_i (*.f32 #s(literal 1/2 binary32) (/.f32 %1269 v))))))
(approx %311 (+.f32 v (*.f32 sinTheta_O (+.f32 sinTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 %1277 %39) (*.f32 #s(literal 1/2 binary32) (/.f32 %1268 v))))))))
(approx %678 (fma.f32 sinTheta_O (fma.f32 #s(literal -2 binary32) %1311 %1312) %683))
(approx %678 (fma.f32 sinTheta_O (fma.f32 #s(literal -2 binary32) %1311 (*.f32 sinTheta_O (fma.f32 #s(literal -1/3 binary32) %1316 %1317))) %683))
(approx %324 (fma.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1323 (*.f32 #s(literal 1/4 binary32) (/.f32 %1269 %633))) %704))
(approx %324 (fma.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1323 (*.f32 sinTheta_O (fma.f32 #s(literal -1/12 binary32) (/.f32 %1277 %716) (*.f32 #s(literal 1/4 binary32) (/.f32 %1268 %633))))) %704))
(approx %340 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1311 (*.f32 #s(literal 1/2 binary32) %1312)) %682))
(approx %340 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1311 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) %1316 (*.f32 #s(literal 1/2 binary32) %1317)))) %682))
(approx %103 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1347 (*.f32 #s(literal 1/2 binary32) (/.f32 %1349 %633))) %11))
(approx %103 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1347 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1356 %716) %1361))) %11))
(approx %121 (/.f32 %334 sinTheta_O))
(approx %154 (/.f32 %550 sinTheta_O))
(approx %161 (/.f32 %768 sinTheta_O))
(approx %830 (/.f32 %66 sinTheta_O))
(approx %836 (/.f32 %822 sinTheta_O))
(approx %844 (/.f32 %618 sinTheta_O))
(approx %271 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1379 (*.f32 #s(literal 1/2 binary32) (/.f32 %1348 %45))) %297))
(approx %271 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1379 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1355 %692) (*.f32 #s(literal 1/2 binary32) (/.f32 %1358 %45))))) %297))
(approx %312 (fma.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) %1394 %866) %45))
(approx %312 (fma.f32 sinTheta_O (fma.f32 sinTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 %1399 v) (*.f32 #s(literal 1/2 binary32) %1393)) %866) %45))
(approx %313 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1406 (*.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_O %1408))) %46))
(approx %313 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1406 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1416 (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_i %1408) v) (*.f32 #s(literal 1/3 binary32) %1416)))) (*.f32 #s(literal -1/2 binary32) %1408)))) %46))
(approx %321 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1406 (*.f32 #s(literal 1/2 binary32) (/.f32 %1349 %888))) %46))
(approx %321 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1406 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1356 %900) (*.f32 #s(literal 1/2 binary32) %1407)))) %46))
(approx %342 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1441 (*.f32 #s(literal 1/2 binary32) (/.f32 %1349 %692))) %87))
(approx %342 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1441 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1356 %888) (*.f32 #s(literal 1/2 binary32) (/.f32 %1359 %692))))) %87))
(approx %345 (fma.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %1455)) %1347) %11))
(approx %345 (fma.f32 sinTheta_O (-.f32 (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) (/.f32 (*.f32 sinTheta_i %1455) v) (fma.f32 #s(literal -1/2 binary32) %1463 (*.f32 #s(literal 1/6 binary32) %1463))))) %1455)) %1347) %11))
(approx %349 (fma.f32 sinTheta_O (fma.f32 #s(literal 1/2 binary32) (/.f32 %1394 %7) %1475) %82))
(approx %349 (fma.f32 sinTheta_O (fma.f32 sinTheta_O (fma.f32 #s(literal 1/6 binary32) (/.f32 %1399 %773) (*.f32 #s(literal 1/2 binary32) (/.f32 %1393 %7))) %1475) %82))
(approx %982 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1486 (*.f32 #s(literal 1/2 binary32) (/.f32 %1269 %692))) %983))
(approx %982 (fma.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %1486 (*.f32 sinTheta_O (fma.f32 #s(literal -1/6 binary32) (/.f32 %1277 %888) (*.f32 #s(literal 1/2 binary32) (/.f32 %1268 %692))))) %983))
(approx %62 %510)
(approx %1018 (*.f32 sinTheta_O (+.f32 %156 %155)))
(approx %122 %129)
(approx %123 (*.f32 sinTheta_O %783))
(approx %138 (*.f32 sinTheta_O (fma.f32 #s(literal 2 binary32) %1507 %1509)))
(approx %139 (*.f32 sinTheta_O (fma.f32 #s(literal 2 binary32) %1513 %1515)))
(approx %176 (*.f32 sinTheta_O %1521))
(approx %181 (*.f32 sinTheta_O %1526))
(approx %203 (*.f32 sinTheta_O (fma.f32 #s(literal 2 binary32) %1529 %1531)))
(approx %211 (*.f32 sinTheta_O (fma.f32 #s(literal 2 binary32) %1535 (*.f32 #s(literal 2 binary32) %1536))))
(approx %215 (*.f32 sinTheta_O (fma.f32 #s(literal 2 binary32) %1541 (*.f32 #s(literal 2 binary32) %1542))))
(approx %1106 (*.f32 sinTheta_O (+.f32 sinTheta_i %837)))
(approx %801 (*.f32 sinTheta_O (+.f32 %41 %1132)))
(approx %808 (*.f32 sinTheta_O %1134))
(approx %811 %503)
(approx %237 (*.f32 sinTheta_O (fma.f32 #s(literal 2 binary32) %1556 %775)))
(approx %820 (*.f32 sinTheta_O %1138))
(approx %825 (*.f32 sinTheta_O %839))
(approx %841 (*.f32 sinTheta_O %1147))
(approx %337 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1347 (*.f32 #s(literal 1/2 binary32) %1567))))
(approx %1161 (*.f32 sinTheta_O %846))
(approx %62 (*.f32 #s(literal -1 binary32) %570))
(approx %1018 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 %1145 %156))))
(approx %122 (*.f32 #s(literal -1 binary32) %401))
(approx %123 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %779 (*.f32 #s(literal 1/2 binary32) %782)))))
(approx %138 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -2 binary32) %1507) %1509))))
(approx %139 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -2 binary32) %1513) %1515))))
(approx %176 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1519 (*.f32 #s(literal 1/2 binary32) %20)))))
(approx %181 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1524 (*.f32 #s(literal 1/2 binary32) %23)))))
(approx %203 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -2 binary32) %1529) %1531))))
(approx %211 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -2 binary32) %1535 (*.f32 #s(literal -2 binary32) %1536)))))
(approx %215 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -2 binary32) %1541 (*.f32 #s(literal -2 binary32) %1542)))))
(approx %1106 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) sinTheta_i %1622))))
(approx %808 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %1245)))
(approx %811 (*.f32 #s(literal -1 binary32) %560))
(approx %237 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (-.f32 (*.f32 #s(literal -2 binary32) %1556) %775))))
(approx %820 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %1250)))
(approx %825 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (+.f32 sinTheta_i %1622))))
(approx %841 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %1254)))
(approx %337 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %1567 (*.f32 #s(literal 1/2 binary32) %1347)))))
(approx %1161 (*.f32 #s(literal -1 binary32) (*.f32 sinTheta_O %1652)))
(approx %32 %41)
(approx %33 (*.f32 #s(literal 1/2 binary32) %44))
(approx %270 %44)
(approx %320 %86)
(approx %251 %42)
(approx %1662 %43)
(approx %375 %379)
(approx %376 %380)
(approx %377 %381)
(approx %34 (*.f32 #s(literal 2 binary32) v))
(approx %84 (*.f32 #s(literal 1/2 binary32) %86))
(approx %90 %39)
(approx %62 (/.f32 %526 v))
(approx %1018 (/.f32 %661 v))
(approx (* 1/2 v) %177)
(approx %359 %365)
(approx %360 %366)
(approx %361 (/.f32 %366 %42))
(approx %1682 (/.f32 #s(literal 1 binary32) %45))
(approx (/ 1 %90) %1686)
(approx %121 (/.f32 (fma.f32 #s(literal -1/2 binary32) %124 (*.f32 #s(literal 1/2 binary32) (/.f32 %140 sinTheta_O))) v))
(approx %122 (/.f32 %190 v))
(approx %123 (/.f32 %788 v))
(approx %138 (/.f32 (fma.f32 #s(literal 2 binary32) %492 (*.f32 #s(literal 2 binary32) (/.f32 %16 cosTheta_O))) v))
(approx %139 (/.f32 %799 v))
(approx %154 (/.f32 %1521 v))
(approx %161 (/.f32 %1526 v))
(approx %203 (/.f32 %795 v))
(approx %801 (/.f32 %1107 v))
(approx %808 (/.f32 (fma.f32 #s(literal -1/2 binary32) sinTheta_O (*.f32 #s(literal 1/2 binary32) %817)) v))
(approx %811 (/.f32 %178 v))
(approx %830 (/.f32 (fma.f32 #s(literal -1/2 binary32) sinTheta_i (*.f32 #s(literal 1/2 binary32) %837)) v))
(approx %841 (/.f32 %1125 v))
(approx %844 (/.f32 %839 v))
(approx %337 (/.f32 %788 %39))
(approx %362 (/.f32 %367 %42))
(approx (* %90 %377) %385)
(approx %1161 (/.f32 %822 v))
(approx %33 (/.f32 %1735 v))
(approx %33 (/.f32 %1741 v))
(approx %33 (/.f32 %1751 v))
(approx %270 (/.f32 #s(literal 2 binary32) v))
(approx %270 (/.f32 %1757 v))
(approx %270 (/.f32 %1763 v))
(approx %270 (/.f32 %1770 v))
(approx %320 #s(literal 2 binary32))
(approx %320 %1757)
(approx %320 %1763)
(approx %320 %1770)
(approx %251 (+.f32 #s(literal 1 binary32) %41))
(approx %251 (+.f32 #s(literal 1 binary32) (+.f32 %1779 %41)))
(approx %251 (+.f32 #s(literal 1 binary32) (+.f32 %1779 %1785)))
(approx %1662 (-.f32 #s(literal 1 binary32) %41))
(approx %1662 (-.f32 %1791 %41))
(approx %1662 (-.f32 %1791 %1785))
(approx %100 %1800)
(approx %100 %1806)
(approx %310 %1809)
(approx %310 %1812)
(approx %311 (*.f32 v %648))
(approx %311 (*.f32 v %1809))
(approx %311 (*.f32 v %1812))
(approx %84 %1735)
(approx %84 %1741)
(approx %84 %1751)
(approx %36 (*.f32 v %1757))
(approx %36 (*.f32 v %1763))
(approx %36 (*.f32 v %1770))
(approx %37 (/.f32 %1829 v))
(approx %37 (/.f32 %1836 v))
(approx %37 (/.f32 %1844 v))
(approx %678 (*.f32 v %618))
(approx %678 (*.f32 v (-.f32 %1800 %1849)))
(approx %678 (*.f32 v (-.f32 %1806 (fma.f32 #s(literal -1/6 binary32) (/.f32 %16 %633) %1849))))
(approx %324 (/.f32 %66 v))
(approx %324 (/.f32 (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal -1/2 binary32) %64 %1860)) v))
(approx %324 (/.f32 (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal -1/2 binary32) %64 (fma.f32 #s(literal -1/12 binary32) %1803 %1860))) v))
(approx %1871 (*.f32 v (-.f32 #s(literal 1 binary32) %1734)))
(approx %1871 (*.f32 v (-.f32 %1877 %1734)))
(approx %1871 (*.f32 v (-.f32 %1877 %1883)))
(approx %340 %262)
(approx %340 (*.f32 v %1893))
(approx %340 (*.f32 v %1902))
(approx %359 (+.f32 #s(literal 1 binary32) %1905))
(approx %359 (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal 2 binary32) %41 %1908)))
(approx %359 (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal 2 binary32) %41 (fma.f32 #s(literal 4/3 binary32) %1783 %1908))))
(approx %360 (/.f32 (+.f32 #s(literal 2 binary32) %1905) v))
(approx %360 (/.f32 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal 2 binary32) %41 %1920)) v))
(approx %360 (/.f32 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal 2 binary32) %41 (fma.f32 #s(literal 2/3 binary32) %1783 %1920))) v))
(approx %1931 (*.f32 v %1934))
(approx %1931 (*.f32 v %1940))
(approx %1931 (*.f32 v %1946))
(approx %494 %1175)
(approx %494 (/.f32 %1950 v))
(approx %494 (/.f32 %1956 v))
(approx %494 (/.f32 %1963 v))
(approx %1682 (/.f32 %1934 v))
(approx %1682 (/.f32 %1940 v))
(approx %1682 (/.f32 %1946 v))
(approx %81 (*.f32 v (fma.f32 #s(literal 2 binary32) %279 (*.f32 #s(literal 1/3 binary32) %1974))))
(approx %81 (*.f32 v (+.f32 (/.f32 #s(literal 1/60 binary32) %1980) %1983)))
(approx %81 (*.f32 v (+.f32 %1982 (fma.f32 #s(literal 2 binary32) %279 (fma.f32 #s(literal 1/60 binary32) (/.f32 #s(literal 1 binary32) %1980) (*.f32 #s(literal 1/2520 binary32) (/.f32 #s(literal 1 binary32) (*.f32 cosTheta_O (*.f32 cosTheta_i %1746)))))))))
(approx %85 %1997)
(approx %85 %2001)
(approx %85 %2007)
(approx %103 (/.f32 (fma.f32 #s(literal -1 binary32) %114 %7) v))
(approx %103 (/.f32 (fma.f32 #s(literal -1 binary32) %114 %2015) v))
(approx %103 (/.f32 (fma.f32 #s(literal -1 binary32) %114 (fma.f32 #s(literal -1/6 binary32) (/.f32 %2020 %633) %2015)) v))
(approx %176 (*.f32 v %550))
(approx %181 (*.f32 v %768))
(approx %211 %529)
(approx %215 (*.f32 v %776))
(approx %237 (*.f32 v %1061))
(approx %820 (*.f32 v %1143))
(approx %836 (*.f32 v %846))
(approx %255 (*.f32 v %2039))
(approx %255 (*.f32 v (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %2045 %716) %58) %2048)))
(approx %255 (*.f32 v (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %2045 (fma.f32 #s(literal -1/1440 binary32) cosTheta_i (*.f32 #s(literal 1/10080 binary32) cosTheta_i))) %1746) %58) (fma.f32 #s(literal -1/72 binary32) %2059 (fma.f32 #s(literal 1/240 binary32) %2059 %2048)))))
(approx %271 (*.f32 v (fma.f32 #s(literal -1/2 binary32) %54 (fma.f32 #s(literal 1/2 binary32) cosTheta_i %2069))))
(approx %271 (*.f32 v (fma.f32 #s(literal -1/2 binary32) %54 (fma.f32 #s(literal 1/2 binary32) cosTheta_i (fma.f32 #s(literal 1/2 binary32) (/.f32 %2076 %633) %2069)))))
(approx %281 (+.f32 cosTheta_i (*.f32 #s(literal -1/6 binary32) %302)))
(approx %281 (-.f32 (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) %2088)) %2091))
(approx %281 (-.f32 (+.f32 cosTheta_i (*.f32 #s(literal -1 binary32) %2097)) (fma.f32 #s(literal -1/36 binary32) %2059 (fma.f32 #s(literal 1/120 binary32) %2059 %2091))))
(approx %286 %773)
(approx %286 (*.f32 v %1997))
(approx %286 (*.f32 v %2001))
(approx %286 (*.f32 v %2007))
(approx %293 %1200)
(approx %293 (/.f32 %2039 v))
(approx %293 (/.f32 %2114 v))
(approx %293 (/.f32 %2117 v))
(approx %296 (*.f32 v %2114))
(approx %296 (*.f32 v %2117))
(approx %299 (*.f32 v %1829))
(approx %299 (*.f32 v %1836))
(approx %299 (*.f32 v %1844))
(approx %544 %189)
(approx %544 (*.f32 v %1950))
(approx %544 (*.f32 v %1956))
(approx %544 (*.f32 v %1963))
(approx %547 (/.f32 #s(literal 2 binary32) %140))
(approx %547 (/.f32 (fma.f32 #s(literal 2 binary32) %142 (*.f32 #s(literal 1/3 binary32) %2140)) v))
(approx %547 (/.f32 (+.f32 (/.f32 #s(literal 1/60 binary32) %2145) %2148) v))
(approx %547 (/.f32 (+.f32 %2147 (fma.f32 #s(literal 2 binary32) %142 (fma.f32 #s(literal 1/60 binary32) (/.f32 #s(literal 1 binary32) %2145) (*.f32 #s(literal 1/2520 binary32) (/.f32 #s(literal 1 binary32) (*.f32 cosTheta_O %1746)))))) v))
(approx %312 %212)
(approx %312 (*.f32 v (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal 2 binary32) %64 (*.f32 #s(literal 2 binary32) %2163)))))
(approx %312 (*.f32 v (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal 2 binary32) %64 (fma.f32 #s(literal 2 binary32) %2163 (*.f32 #s(literal 2 binary32) (/.f32 %2170 %633)))))))
(approx %313 (/.f32 %768 v))
(approx %313 (/.f32 (fma.f32 #s(literal -1/2 binary32) %114 %2184) v))
(approx %313 (/.f32 (fma.f32 #s(literal -1/2 binary32) %114 (fma.f32 #s(literal -1/2 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (*.f32 sinTheta_i %2162)))) (fma.f32 #s(literal -1 binary32) (*.f32 sinTheta_O (*.f32 sinTheta_i %2182)) (*.f32 cosTheta_O %2194))) %633) %2184)) v))
(approx %321 (/.f32 %2209 v))
(approx %321 (/.f32 %2218 v))
(approx %342 %2209)
(approx %342 %2218)
(approx %345 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %2223 %39) %7) %114) v))
(approx %345 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2230 (fma.f32 #s(literal -1/2 binary32) %2020 (*.f32 #s(literal 1/6 binary32) %2020))) %633) %7) (fma.f32 #s(literal -1 binary32) %2014 (fma.f32 #s(literal 1/2 binary32) %2014 %114))) v))
(approx %349 (*.f32 v (fma.f32 #s(literal 2 binary32) %774 %2245)))
(approx %349 (*.f32 v (fma.f32 #s(literal 2 binary32) %774 (fma.f32 #s(literal 2 binary32) (/.f32 %2251 %633) %2245))))
(approx %355 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %2258 %716) %76) %2261) v))
(approx %355 (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %2258 (fma.f32 #s(literal -1/1440 binary32) %7 (*.f32 #s(literal 1/10080 binary32) %7))) %1746) %76) (fma.f32 #s(literal -1/72 binary32) %2004 (fma.f32 #s(literal 1/240 binary32) %2004 %2261))) v))
(approx %363 (/.f32 (-.f32 (fma.f32 #s(literal 1/4 binary32) %302 %58) %2276) v))
(approx %363 (/.f32 (-.f32 (fma.f32 #s(literal 1/12 binary32) %2280 (fma.f32 #s(literal 1/4 binary32) %302 %2281)) (fma.f32 #s(literal 1/6 binary32) %2280 (fma.f32 #s(literal 1/4 binary32) %2280 %2276))) v))
(approx %363 (/.f32 (-.f32 (fma.f32 #s(literal 1/48 binary32) %2059 (fma.f32 #s(literal 1/12 binary32) %2280 (fma.f32 #s(literal 1/6 binary32) %2059 (fma.f32 #s(literal 1/4 binary32) %302 (fma.f32 #s(literal 1/4 binary32) %2059 %2281))))) (fma.f32 #s(literal 1/15 binary32) %2059 (fma.f32 #s(literal 1/12 binary32) %2059 (fma.f32 #s(literal 1/6 binary32) %2280 (fma.f32 #s(literal 1/4 binary32) %2280 (fma.f32 #s(literal 1/3 binary32) %302 (fma.f32 #s(literal 1/3 binary32) %2059 (*.f32 #s(literal 2/3 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/4 binary32) cosTheta_i) (*.f32 #s(literal 1/3 binary32) cosTheta_i)) %716))))))))) v))
(approx %370 (/.f32 (-.f32 (fma.f32 #s(literal 1/4 binary32) %50 %76) %2311) v))
(approx %370 (/.f32 (-.f32 (fma.f32 #s(literal 1/12 binary32) %2315 (fma.f32 #s(literal 1/4 binary32) %50 %2316)) (fma.f32 #s(literal 1/6 binary32) %2315 (fma.f32 #s(literal 1/4 binary32) %2315 %2311))) v))
(approx %370 (/.f32 (-.f32 (fma.f32 #s(literal 1/48 binary32) %2004 (fma.f32 #s(literal 1/12 binary32) %2315 (fma.f32 #s(literal 1/6 binary32) %2004 (fma.f32 #s(literal 1/4 binary32) %50 (fma.f32 #s(literal 1/4 binary32) %2004 %2316))))) (fma.f32 #s(literal 1/15 binary32) %2004 (fma.f32 #s(literal 1/12 binary32) %2004 (fma.f32 #s(literal 1/6 binary32) %2315 (fma.f32 #s(literal 1/4 binary32) %2315 (fma.f32 #s(literal 1/3 binary32) %50 (fma.f32 #s(literal 1/3 binary32) %2004 (*.f32 #s(literal 2/3 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/4 binary32) %7) (*.f32 #s(literal 1/3 binary32) %7)) %716))))))))) v))
(approx %982 %1893)
(approx %982 %1902)
(approx %33 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/6 binary32) (*.f32 #s(literal 1/120 binary32) %1686)) %39)) #s(literal 1 binary32)) v)))
(approx %33 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/120 binary32) (*.f32 #s(literal 1/5040 binary32) %1686)) %716)) %1735) v)))
(approx %270 (*.f32 #s(literal -1 binary32) (/.f32 %2365 v)))
(approx %270 (*.f32 #s(literal -1 binary32) (/.f32 %2373 v)))
(approx %251 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/2 binary32) %2377) v)) #s(literal 1 binary32)) v))))
(approx %1662 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 #s(literal 1 binary32) %704) v))))
(approx %1662 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 #s(literal 1/2 binary32) %2377) v))) v))))
(approx %100 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %2399 %16) v))))
(approx %100 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %2405 %1888) v) %16) v))))
(approx %310 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %16 (*.f32 #s(literal -1/2 binary32) %2399)) v))))
(approx %310 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %16 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) %2405 %1888) v))) v))))
(approx %311 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %273 #s(literal 1 binary32)))))
(approx %311 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) %2399 %16) v)) #s(literal 1 binary32)))))
(approx %311 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %1796 (*.f32 #s(literal -1/6 binary32) %2405)) v) %16) v)) #s(literal 1 binary32)))))
(approx %36 (*.f32 #s(literal -1 binary32) (*.f32 v %2365)))
(approx %36 (*.f32 #s(literal -1 binary32) (*.f32 v %2373)))
(approx %37 (*.f32 #s(literal -1 binary32) (/.f32 %2454 v)))
(approx %37 (*.f32 #s(literal -1 binary32) (/.f32 %2464 v)))
(approx %37 (*.f32 #s(literal -1 binary32) (/.f32 %2475 v)))
(approx %678 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %64 #s(literal 1 binary32)))))
(approx %678 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %16 (*.f32 #s(literal -1 binary32) %2485)) v)) #s(literal 1 binary32)))))
(approx %678 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %16 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 1/6 binary32) (fma.f32 #s(literal -1 binary32) %2494 %2483)) v))) v)) #s(literal 1 binary32)))))
(approx %324 (*.f32 #s(literal -1 binary32) (/.f32 %394 v)))
(approx %324 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %16 (*.f32 #s(literal 1/4 binary32) %2399)) v)) #s(literal 1/2 binary32)) v)))
(approx %324 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) %1796 (*.f32 #s(literal 1/12 binary32) %2405)) v) %2521) v)) #s(literal 1/2 binary32)) v)))
(approx %1871 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %1734 #s(literal 1 binary32)))))
(approx %1871 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %1734 %1877))))
(approx %1871 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %1883 %1877))))
(approx %340 (*.f32 #s(literal -1 binary32) %466))
(approx %340 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %16 (*.f32 #s(literal -1/2 binary32) %2485)) v)) #s(literal 1/2 binary32)))))
(approx %340 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %2494 (*.f32 #s(literal 1/2 binary32) %2484)) v) %2521) v)) #s(literal 1/2 binary32)))))
(approx %359 (+.f32 #s(literal 1 binary32) %2567))
(approx %360 %2567)
(approx %360 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 #s(literal 2 binary32) (+.f32 (/.f32 #s(literal 2/3 binary32) %39) %2561)) v)) #s(literal 2 binary32)) v)))
(approx %1931 (*.f32 #s(literal -1 binary32) (*.f32 v %2580)))
(approx %1931 (*.f32 #s(literal -1 binary32) (*.f32 v %2584)))
(approx %1931 (*.f32 #s(literal -1 binary32) (*.f32 v %2588)))
(approx %494 (*.f32 #s(literal -1 binary32) (/.f32 %2593 v)))
(approx %494 (*.f32 #s(literal -1 binary32) (/.f32 %2601 v)))
(approx %494 (*.f32 #s(literal -1 binary32) (/.f32 %2610 v)))
(approx %1682 (*.f32 #s(literal -1 binary32) (/.f32 %2580 v)))
(approx %1682 (*.f32 #s(literal -1 binary32) (/.f32 %2584 v)))
(approx %1682 (*.f32 #s(literal -1 binary32) (/.f32 %2588 v)))
(approx %81 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/3 binary32) %279 (*.f32 #s(literal 1/60 binary32) %1974)) %39)) %775))))
(approx %81 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/60 binary32) %279 (*.f32 #s(literal 1/2520 binary32) %1974)) %716)) %1983))))
(approx %85 (fma.f32 #s(literal -1/6 binary32) %50 (fma.f32 #s(literal -1/120 binary32) %2004 %2639)))
(approx %85 (fma.f32 #s(literal -1/6 binary32) %50 (fma.f32 #s(literal -1/6 binary32) (/.f32 %2461 %1746) (fma.f32 #s(literal -1/120 binary32) %2004 (fma.f32 #s(literal -1/5040 binary32) %2644 (fma.f32 #s(literal 1/720 binary32) %2644 %2639))))))
(approx %103 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 %114) v)))
(approx %103 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %111 (*.f32 #s(literal 1/2 binary32) (/.f32 %2013 v))) v))) v)))
(approx %103 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %111 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %2013 (*.f32 #s(literal 1/6 binary32) (/.f32 %2020 v))) v))) v))) v)))
(approx %176 (*.f32 #s(literal -1 binary32) (*.f32 v %604)))
(approx %181 (*.f32 #s(literal -1 binary32) (*.f32 v %2680)))
(approx %211 (*.f32 #s(literal -1 binary32) %590))
(approx %215 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -2 binary32) %774) %775))))
(approx %237 (*.f32 #s(literal -1 binary32) (*.f32 v %1196)))
(approx %820 (*.f32 #s(literal -1 binary32) (*.f32 v %1263)))
(approx %836 (*.f32 #s(literal -1 binary32) (*.f32 v %1652)))
(approx %255 (*.f32 #s(literal -1 binary32) (*.f32 v %2700)))
(approx %255 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %2707 %716) %2709) (*.f32 #s(literal -1/12 binary32) %302)))))
(approx %255 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %2707 (fma.f32 #s(literal -1/10080 binary32) cosTheta_i (*.f32 #s(literal 1/1440 binary32) cosTheta_i))) %1746) %2709) (fma.f32 #s(literal -1/12 binary32) %302 (fma.f32 #s(literal -1/240 binary32) %2059 (*.f32 #s(literal 1/72 binary32) %2059)))))))
(approx %271 (*.f32 #s(literal -1 binary32) (*.f32 v (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %17 (*.f32 #s(literal -1/2 binary32) (/.f32 %2732 v))) v) %2709))))
(approx %271 (*.f32 #s(literal -1 binary32) (*.f32 v (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %2076 v) (*.f32 #s(literal 1/2 binary32) %2732)) v) %1078) v) %2709))))
(approx %281 (+.f32 cosTheta_i (fma.f32 #s(literal -1/6 binary32) %302 (fma.f32 #s(literal -1/120 binary32) %2059 %2751))))
(approx %281 (+.f32 cosTheta_i (fma.f32 #s(literal -1/6 binary32) %302 (fma.f32 #s(literal -1/6 binary32) (/.f32 %2757 %1746) (fma.f32 #s(literal -1/120 binary32) %2059 (fma.f32 #s(literal -1/5040 binary32) %2759 (fma.f32 #s(literal 1/720 binary32) %2759 %2751)))))))
(approx %286 (*.f32 #s(literal -1 binary32) (*.f32 v (fma.f32 #s(literal -1 binary32) %7 %2000))))
(approx %286 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) %2462)) (*.f32 #s(literal -1/6 binary32) %50)))))
(approx %286 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) %2473)) (fma.f32 #s(literal -1/6 binary32) %50 (fma.f32 #s(literal -1/120 binary32) %2004 (*.f32 #s(literal 1/36 binary32) %2004)))))))
(approx %293 (*.f32 #s(literal -1 binary32) (/.f32 %2700 v)))
(approx %293 (*.f32 #s(literal -1 binary32) (/.f32 %2792 v)))
(approx %293 (*.f32 #s(literal -1 binary32) (/.f32 %2801 v)))
(approx %296 (*.f32 #s(literal -1 binary32) (*.f32 v %2792)))
(approx %296 (*.f32 #s(literal -1 binary32) (*.f32 v %2801)))
(approx %299 (*.f32 #s(literal -1 binary32) (*.f32 v %2454)))
(approx %299 (*.f32 #s(literal -1 binary32) (*.f32 v %2464)))
(approx %299 (*.f32 #s(literal -1 binary32) (*.f32 v %2475)))
(approx %544 (*.f32 #s(literal -1 binary32) (*.f32 v %2593)))
(approx %544 (*.f32 #s(literal -1 binary32) (*.f32 v %2601)))
(approx %544 (*.f32 #s(literal -1 binary32) (*.f32 v %2610)))
(approx %547 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/3 binary32) %142 (*.f32 #s(literal 1/60 binary32) %2140)) %39)) %143) v)))
(approx %547 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/60 binary32) %142 (*.f32 #s(literal 1/2520 binary32) %2140)) %716)) %2148) v)))
(approx %312 (*.f32 #s(literal -1 binary32) %443))
(approx %312 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) (/.f32 %2847 v) %2849) v)) #s(literal 2 binary32)))))
(approx %312 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) (/.f32 %2170 v) (*.f32 #s(literal 2 binary32) %2847)) v) %2849) v)) #s(literal 2 binary32)))))
(approx %313 (*.f32 #s(literal -1 binary32) (/.f32 %2680 v)))
(approx %313 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %111 (*.f32 #s(literal 1/2 binary32) (/.f32 %2873 v))) v) %2878) v)))
(approx %313 (*.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/2 binary32) %2873 (*.f32 #s(literal 1/2 binary32) (/.f32 (fma.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (*.f32 sinTheta_i %2847))) (fma.f32 cosTheta_O %2194 (*.f32 sinTheta_O (*.f32 sinTheta_i %2873)))) v))) v) %1085) v) %2878) v)))
(approx %321 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %111 (*.f32 #s(literal -1/2 binary32) %2903)) v) %2878) v)))
(approx %321 (*.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/2 binary32) %2911 (*.f32 #s(literal 1/2 binary32) %2902)) v) %1085) v) %2878) v)))
(approx %342 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) %111 (*.f32 #s(literal 1/2 binary32) %2903)) v) %76))
(approx %342 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %2902 (*.f32 #s(literal 1/2 binary32) %2911)) v) (*.f32 #s(literal 1/2 binary32) %111)) v) %76))
(approx %345 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %111 (*.f32 #s(literal -1 binary32) (/.f32 %2223 v))) v))) v)))
(approx %345 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %7 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %111 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) %2013 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %2020 (fma.f32 #s(literal 1/2 binary32) %2020 %2230)) v) %2203)) v))) v))) v)))
(approx %349 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) (/.f32 %2958 v) %798) v)) %775))))
(approx %349 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -2 binary32) (/.f32 %2251 v) (*.f32 #s(literal 2 binary32) %2958)) v) %798) v)) %775))))
(approx %355 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %2979 %716) %2878) (*.f32 #s(literal -1/12 binary32) %50)) v)))
(approx %355 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %2979 (fma.f32 #s(literal -1/10080 binary32) %7 (*.f32 #s(literal 1/1440 binary32) %7))) %1746) %2878) (fma.f32 #s(literal -1/12 binary32) %50 (fma.f32 #s(literal -1/240 binary32) %2004 (*.f32 #s(literal 1/72 binary32) %2004)))) v)))
(approx %363 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 %3000 %3001) v)))
(approx %363 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %3011 %633) %3000) %3001) v)))
(approx %363 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1/48 binary32) cosTheta_i) (fma.f32 #s(literal -1 binary32) %3011 (fma.f32 #s(literal -1/15 binary32) cosTheta_i (*.f32 #s(literal 2/3 binary32) %3009)))) v) %3006) %3010) %633) %3000) %3001) v)))
(approx %370 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 %3035 %3036) v)))
(approx %370 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %3046 %633) %3035) %3036) v)))
(approx %370 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1/48 binary32) %7) (fma.f32 #s(literal -1 binary32) %3046 (fma.f32 #s(literal -1/15 binary32) %7 (*.f32 #s(literal 2/3 binary32) %3044)))) v) %3041) %3045) %633) %3035) %3036) v)))
(approx %982 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/2 binary32) %16 (*.f32 #s(literal 1/2 binary32) %2485)) v))))
(approx %982 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %2484 (*.f32 #s(literal 1/2 binary32) %2494)) v) %422) v))))
Calls

15 calls:

TimeVariablePoint
290.0ms
v
-inf
98.0ms
v
0
85.0ms
cosTheta_i
0
63.0ms
sinTheta_i
0
55.0ms
v
inf

rewrite2.5s (5.8%)

Counts
366 → 2 338
Calls
Call 1
Inputs
%2 = (*.f32 sinTheta_i sinTheta_O)
%4 = (/.f32 %2 v)
%7 = (*.f32 cosTheta_i cosTheta_O)
%8 = (/.f32 %7 v)
%10 = (/.f32 #s(literal 1 binary32) v)
%11 = (sinh.f32 %10)
%13 = (*.f32 %11 #s(literal 2 binary32))
%14 = (*.f32 %13 v)
%16 = (approx sinTheta_i #s(literal 0 binary32))
%17 = (*.f32 cosTheta_O cosTheta_i)
%18 = (*.f32 sinTheta_O sinTheta_i)
%19 = (/.f32 %18 v)
%20 = (exp.f32 %10)
%21 = (/.f32 #s(literal 1 binary32) %20)
%22 = (-.f32 %20 %21)
%25 = (/ (* sinTheta_i sinTheta_O) v)
%27 = (exp (neg %25))
%28 = (approx %27 #s(literal 1 binary32))
%29 = (/.f32 sinTheta_O v)
%31 = (*.f32 cosTheta_i %18)
%32 = (/.f32 sinTheta_i v)
%33 = (*.f32 cosTheta_i sinTheta_i)
%34 = (*.f32 cosTheta_O %33)
%36 = (neg.f32 sinTheta_i)
%37 = (*.f32 %36 %29)
%38 = (/.f32 #s(literal -1 binary32) v)
%39 = (exp.f32 %37)
%40 = (exp.f32 %4)
%41 = (/.f32 cosTheta_O v)
%42 = (*.f32 cosTheta_i %41)
%43 = (/.f32 cosTheta_i v)
%44 = (*.f32 cosTheta_O %43)
%45 = (*.f32 cosTheta_i %10)
%46 = (*.f32 cosTheta_O %45)
%47 = (*.f32 %7 %10)
%48 = (/.f32 v %7)
%49 = (/.f32 #s(literal 1 binary32) %48)
%50 = (*.f32 v %40)
%51 = (/.f32 #s(literal 1/2 binary32) v)
%52 = (exp.f32 %38)
%53 = (-.f32 %20 %52)
%54 = (+.f32 v v)
%55 = (*.f32 %11 %54)
%56 = (*.f32 v %11)
%57 = (*.f32 v %55)
%58 = (/.f32 %7 %57)
%59 = (*.f32 v v)
%60 = (/.f32 %39 %11)
%61 = (/.f32 %8 %54)
%62 = (*.f32 #s(literal 1/2 binary32) cosTheta_O)
%63 = (/.f32 %31 v)
%64 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%65 = (fma.f32 #s(literal -1/2 binary32) %63 %64)
%66 = (+.f32 #s(literal 1 binary32) %19)
%67 = (exp %25)
%68 = (approx %67 %66)
%70 = (/ sinTheta_O v)
%72 = (exp (* (neg sinTheta_i) %70))
%73 = (+ v v)
%75 = (approx (/ %72 %73) %51)
%76 = (/.f32 #s(literal 2 binary32) %22)
%78 = (/ 1 v)
%79 = (sinh %78)
%80 = (/ %72 %79)
%81 = (approx %80 %76)
%82 = (*.f32 cosTheta_i v)
%83 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%84 = (/.f32 %33 v)
%85 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%86 = (*.f32 #s(literal 1/2 binary32) v)
%88 = (* %79 2)
%89 = (/ %72 %88)
%90 = (approx %89 %86)
%91 = (*.f32 %20 %20)
%92 = (-.f32 %91 #s(literal 1 binary32))
%93 = (/.f32 %92 %20)
%94 = (/.f32 v sinTheta_O)
%95 = (/.f32 cosTheta_O %59)
%96 = (*.f32 #s(literal 1/2 binary32) %7)
%97 = (*.f32 %62 cosTheta_i)
%98 = (*.f32 cosTheta_O %10)
%99 = (/.f32 v cosTheta_O)
%100 = (/.f32 #s(literal 1 binary32) %99)
%101 = (/.f32 v cosTheta_i)
%102 = (/.f32 #s(literal 1 binary32) %13)
%103 = (/.f32 cosTheta_O %57)
%104 = (*.f32 cosTheta_i %103)
%105 = (/.f32 #s(literal 1 binary32) %57)
%106 = (*.f32 %7 %105)
%107 = (/.f32 %57 %7)
%108 = (/.f32 #s(literal 1 binary32) %107)
%109 = (/.f32 %7 %56)
%110 = (/.f32 %41 v)
%111 = (*.f32 cosTheta_i %95)
%112 = (/.f32 %8 v)
%113 = (*.f32 %43 %41)
%114 = (/.f32 #s(literal 1 binary32) %59)
%115 = (*.f32 %7 %114)
%116 = (/.f32 %59 %7)
%117 = (/.f32 #s(literal 1 binary32) %116)
%118 = (/.f32 #s(literal 1 binary32) %11)
%119 = (*.f32 %8 %118)
%120 = (/.f32 %42 %54)
%121 = (/.f32 %42 %11)
%122 = (*.f32 %28 %42)
%123 = (/.f32 %44 %11)
%124 = (/.f32 %47 %11)
%125 = (*.f32 %28 %46)
%126 = (*.f32 sinTheta_O %16)
%127 = (*.f32 cosTheta_i %126)
%128 = (*.f32 cosTheta_O %127)
%129 = (/.f32 %128 v)
%130 = (*.f32 cosTheta_O sinTheta_i)
%131 = (/.f32 %130 v)
%132 = (/.f32 cosTheta_O sinTheta_O)
%133 = (*.f32 #s(literal 1/2 binary32) %132)
%134 = (fma.f32 #s(literal -1/2 binary32) %131 %133)
%135 = (*.f32 sinTheta_O %134)
%136 = (*.f32 cosTheta_i %135)
%143 = (* cosTheta_O cosTheta_i)
%146 = (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) v)) (* 1/2 (/ %143 sinTheta_O)))
%148 = (approx (* sinTheta_O %146) %136)
%149 = (*.f32 cosTheta_O v)
%150 = (/.f32 %18 %149)
%151 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%152 = (*.f32 #s(literal 2 binary32) %151)
%153 = (fma.f32 #s(literal 2 binary32) %150 %152)
%154 = (/.f32 %153 cosTheta_i)
%155 = (* sinTheta_O sinTheta_i)
%157 = (* cosTheta_O (* cosTheta_i v))
%162 = (+ (* 2 (/ %155 %157)) (* 2 (/ 1 %143)))
%163 = (approx %162 %154)
%164 = (/.f32 cosTheta_i sinTheta_O)
%165 = (*.f32 #s(literal 1/2 binary32) %164)
%166 = (fma.f32 #s(literal -1/2 binary32) %84 %165)
%167 = (*.f32 cosTheta_O %166)
%168 = (approx %146 %167)
%169 = (*.f32 #s(literal 1/2 binary32) %82)
%170 = (fma.f32 #s(literal -1/2 binary32) %31 %169)
%171 = (*.f32 cosTheta_O %170)
%172 = (* cosTheta_i %155)
%173 = (* cosTheta_O %172)
%177 = (approx (+ (* -1/2 %173) (* 1/2 %157)) %171)
%178 = (/.f32 %18 %82)
%179 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%180 = (*.f32 #s(literal 2 binary32) %179)
%181 = (fma.f32 #s(literal 2 binary32) %178 %180)
%182 = (/.f32 %181 cosTheta_O)
%183 = (approx %162 %182)
%184 = (*.f32 v %181)
%185 = (/.f32 %184 cosTheta_O)
%186 = (* v %162)
%187 = (approx %186 %185)
%188 = (* v %67)
%189 = (approx %188 v)
%190 = (+.f32 v %18)
%191 = (approx %188 %190)
%192 = (+.f32 %83 %29)
%193 = (*.f32 sinTheta_i %192)
%194 = (/ %155 v)
%196 = (approx (+ 1 %194) %193)
%197 = (*.f32 #s(literal 1/2 binary32) %83)
%198 = (fma.f32 #s(literal -1/2 binary32) %29 %197)
%199 = (*.f32 sinTheta_i %198)
%201 = (+ 1/2 (* -1/2 %194))
%202 = (approx %201 %199)
%203 = (/.f32 sinTheta_O %17)
%204 = (/.f32 v %34)
%205 = (*.f32 #s(literal 2 binary32) %204)
%206 = (fma.f32 #s(literal 2 binary32) %203 %205)
%207 = (*.f32 sinTheta_i %206)
%208 = (approx %186 %207)
%209 = (/.f32 v sinTheta_i)
%210 = (fma.f32 #s(literal -1 binary32) sinTheta_O %209)
%211 = (*.f32 sinTheta_i %210)
%215 = (* -1 (* v (- %194 1)))
%216 = (approx %215 %211)
%217 = (*.f32 #s(literal 1/2 binary32) %85)
%218 = (fma.f32 #s(literal -1/2 binary32) %32 %217)
%219 = (*.f32 sinTheta_O %218)
%220 = (approx %201 %219)
%221 = (fma.f32 #s(literal -1 binary32) sinTheta_i %94)
%222 = (*.f32 sinTheta_O %221)
%223 = (approx %215 %222)
%224 = (/.f32 %170 v)
%229 = (approx (+ (* -1/2 (/ %172 v)) (* 1/2 cosTheta_i)) %224)
%230 = (/.f32 %210 v)
%234 = (approx (+ (* -1 %70) (/ 1 sinTheta_i)) %230)
%235 = (/.f32 %221 v)
%240 = (approx (+ (* -1 (/ sinTheta_i v)) (/ 1 sinTheta_O)) %235)
%246 = (approx (/ cosTheta_i (- (exp %78) (exp (neg %78)))) %169)
%247 = (*.f32 v %65)
%250 = (approx (/ (* %72 cosTheta_i) %88) %247)
%251 = (/.f32 cosTheta_O %101)
%252 = (/.f32 #s(literal 1 binary32) %118)
%253 = (/.f32 #s(literal 2 binary32) %118)
%254 = (/.f32 %101 cosTheta_O)
%255 = (/.f32 #s(literal 1 binary32) %7)
%256 = (*.f32 v %255)
%257 = (/.f32 #s(literal 1 binary32) %8)
%258 = (*.f32 %59 %13)
%259 = (/.f32 %43 %11)
%260 = (*.f32 cosTheta_O %259)
%261 = (*.f32 %7 %118)
%262 = (/.f32 %261 v)
%263 = (/.f32 %41 %54)
%264 = (*.f32 cosTheta_i %263)
%265 = (/.f32 %54 %7)
%266 = (/.f32 cosTheta_i %57)
%267 = (*.f32 cosTheta_O %266)
%268 = (/.f32 cosTheta_i %13)
%269 = (*.f32 cosTheta_O %268)
%270 = (/.f32 %269 %59)
%271 = (/.f32 cosTheta_i %59)
%272 = (/.f32 cosTheta_O %13)
%273 = (*.f32 %271 %272)
%274 = (/.f32 %271 %13)
%275 = (*.f32 cosTheta_i %102)
%276 = (/.f32 %59 cosTheta_i)
%277 = (/.f32 %13 cosTheta_O)
%278 = (*.f32 %276 %277)
%279 = (*.f32 %64 %41)
%280 = (*.f32 %96 %10)
%281 = (*.f32 %50 %55)
%283 = (*.f32 cosTheta_O %274)
%285 = (/ (* cosTheta_i cosTheta_O) v)
%287 = (* %88 v)
%288 = (/ (* %27 %285) %287)
%295 = (/.f32 %97 v)
%297 = (*.f32 sinTheta_O %168)
%301 = (+ (* -1/2 (/ %173 v)) (* 1/2 %143))
%302 = (approx %301 %297)
%303 = (/.f32 %302 v)
%310 = (*.f32 %90 %49)
%313 = (/.f32 %251 %11)
%315 = (*.f32 %90 %251)
%320 = (/.f32 %42 %68)
%321 = (/.f32 %55 %320)
%324 = (*.f32 %90 %42)
%327 = (/ %285 %67)
%328 = (/ %327 %287)
%337 = (*.f32 v %163)
%338 = (* %79 %73)
%339 = (/ %338 %327)
%340 = (approx %339 %337)
%342 = (*.f32 v %183)
%343 = (approx %339 %342)
%345 = (/.f32 #s(literal 1 binary32) %278)
%347 = (approx %339 %208)
%349 = (approx %339 %187)
%351 = (approx %67 %196)
%352 = (/.f32 %8 %351)
%353 = (/.f32 %55 %352)
%355 = (/.f32 %177 v)
%356 = (approx %301 %355)
%357 = (/.f32 %356 v)
%359 = (*.f32 %95 %275)
%361 = (*.f32 %95 %246)
%364 = (/.f32 %8 %252)
%366 = (approx %301 %148)
%367 = (/.f32 %366 v)
%369 = (*.f32 %59 %253)
%370 = (/.f32 %7 %369)
%372 = (*.f32 %59 %93)
%373 = (/.f32 cosTheta_i %372)
%374 = (*.f32 cosTheta_O %373)
%376 = (*.f32 %59 %53)
%377 = (/.f32 cosTheta_i %53)
%378 = (*.f32 %95 %377)
%380 = (/.f32 %7 %376)
%382 = (*.f32 #s(literal 1/2 binary32) %251)
%384 = (*.f32 sinTheta_i %234)
%386 = (+ 1 (* -1 %194))
%387 = (approx %386 %384)
%388 = (approx %27 %387)
%389 = (*.f32 %388 %8)
%391 = (/.f32 %7 %191)
%393 = (/.f32 %7 %189)
%395 = (/.f32 cosTheta_i %258)
%396 = (*.f32 cosTheta_O %395)
%398 = (/.f32 %7 %258)
%401 = (*.f32 sinTheta_O %240)
%402 = (approx %386 %401)
%403 = (approx %27 %402)
%404 = (*.f32 %403 %8)
%406 = (*.f32 #s(literal 2 binary32) %257)
%407 = (approx %339 %406)
%409 = (*.f32 #s(literal 2 binary32) %256)
%410 = (approx %339 %409)
%412 = (*.f32 #s(literal 2 binary32) %254)
%413 = (approx %339 %412)
%415 = (*.f32 cosTheta_i %98)
%416 = (*.f32 #s(literal 1/2 binary32) %415)
%418 = (/.f32 %415 %54)
%420 = (*.f32 cosTheta_i %100)
%421 = (*.f32 #s(literal 1/2 binary32) %420)
%423 = (/ %72 %338)
%424 = (approx %423 %220)
%426 = (approx %423 %202)
%428 = (approx %80 %223)
%430 = (approx %80 %216)
%432 = (*.f32 v %68)
%433 = (/.f32 %7 %432)
%435 = (*.f32 cosTheta_O %229)
%436 = (approx %301 %435)
%437 = (/.f32 %436 v)
%439 = (*.f32 #s(literal 1/2 binary32) %46)
%441 = (approx %339 %265)
%443 = (approx %89 %102)
%444 = (*.f32 %443 %8)
%446 = (*.f32 #s(literal -1/2 binary32) %129)
%447 = (approx %301 %446)
%448 = (/.f32 %447 v)
%450 = (approx %80 %118)
sinTheta_i
sinTheta_O
%2
v
%4
cosTheta_i
cosTheta_O
%7
%8
#s(literal 1 binary32)
%10
%11
#s(literal 2 binary32)
%13
%14
#s(literal 0 binary32)
%16
%17
%18
%19
%20
%21
%22
#s(literal -1 binary32)
%28
%29
#s(literal 1/2 binary32)
%31
%32
%33
%34
#s(literal -1/2 binary32)
%36
%37
%38
%39
%40
%41
%42
%43
%44
%45
%46
%47
%48
%49
%50
%51
%52
%53
%54
%55
%56
%57
%58
%59
%60
%61
%62
%63
%64
%65
%66
%68
%75
%76
%81
%82
%83
%84
%85
%86
%90
%91
%92
%93
%94
%95
%96
%97
%98
%99
%100
%101
%102
%103
%104
%105
%106
%107
%108
%109
%110
%111
%112
%113
%114
%115
%116
%117
%118
%119
%120
%121
%122
%123
%124
%125
%126
%127
%128
%129
%130
%131
%132
%133
%134
%135
%136
%148
%149
%150
%151
%152
%153
%154
%163
%164
%165
%166
%167
%168
%169
%170
%171
%177
%178
%179
%180
%181
%182
%183
%184
%185
%187
%189
%190
%191
%192
%193
%196
%197
%198
%199
%202
%203
%204
%205
%206
%207
%208
%209
%210
%211
%216
%217
%218
%219
%220
%221
%222
%223
%224
%229
%230
%234
%235
%240
%246
%247
%250
%251
%252
%253
%254
%255
%256
%257
%258
%259
%260
%261
%262
%263
%264
%265
%266
%267
%268
%269
%270
%271
%272
%273
%274
%275
%276
%277
%278
%279
%280
%281
(/.f32 %7 %281)
%283
(approx %288 %283)
(approx %288 %280)
(approx %288 %279)
(*.f32 %109 %75)
(*.f32 %260 %75)
(*.f32 %262 %75)
%295
(approx %288 %295)
%297
%302
%303
(approx %288 %303)
(*.f32 %90 %117)
(*.f32 %90 %115)
(*.f32 %90 %113)
(*.f32 %90 %112)
(*.f32 %90 %111)
%310
(/.f32 %310 v)
(*.f32 %123 %75)
%313
(*.f32 %313 %75)
%315
(/.f32 %315 v)
(*.f32 %124 %75)
(*.f32 %81 %120)
(*.f32 %121 %75)
%320
%321
(/.f32 #s(literal 1 binary32) %321)
(/.f32 %122 %55)
%324
(/.f32 %324 v)
(/.f32 %125 %55)
(approx %328 %58)
(approx %328 %106)
(approx %328 %267)
(approx %328 %270)
(approx %328 %273)
(approx %328 %104)
(approx %328 %108)
(*.f32 %250 %110)
%337
%340
(/.f32 #s(literal 1 binary32) %340)
%342
%343
(/.f32 #s(literal 1 binary32) %343)
%345
(approx %288 %345)
%347
(/.f32 #s(literal 1 binary32) %347)
%349
(/.f32 #s(literal 1 binary32) %349)
%351
%352
%353
(/.f32 #s(literal 1 binary32) %353)
%355
%356
%357
(approx %288 %357)
%359
(approx %288 %359)
%361
(approx %288 %361)
(*.f32 %81 %264)
%364
(*.f32 %364 %75)
%366
%367
(approx %288 %367)
%369
%370
(approx %328 %370)
%372
%373
%374
(approx %288 %374)
%376
%377
%378
(approx %288 %378)
%380
(approx %328 %380)
%382
(approx %288 %382)
%384
%387
%388
%389
(/.f32 %389 %14)
%391
(/.f32 %391 %55)
%393
(/.f32 %393 %55)
%395
%396
(approx %288 %396)
%398
(approx %328 %398)
(*.f32 %119 %75)
%401
%402
%403
%404
(/.f32 %404 %14)
%406
%407
(/.f32 #s(literal 1 binary32) %407)
%409
%410
(/.f32 #s(literal 1 binary32) %410)
%412
%413
(/.f32 #s(literal 1 binary32) %413)
%415
%416
(approx %288 %416)
%418
(*.f32 %60 %418)
%420
%421
(approx %288 %421)
%424
(*.f32 %8 %424)
%426
(*.f32 %8 %426)
%428
(*.f32 %428 %61)
%430
(*.f32 %430 %61)
%432
%433
(/.f32 %433 %55)
%435
%436
%437
(approx %288 %437)
%439
(approx %288 %439)
%441
(/.f32 #s(literal 1 binary32) %441)
%443
%444
(/.f32 %444 v)
%446
%447
%448
(approx %288 %448)
%450
(*.f32 %450 %61)
Outputs
%2 = (*.f32 sinTheta_i sinTheta_O)
%3 = (*.f32 sinTheta_O sinTheta_i)
%5 = (/.f32 %2 v)
%6 = (/.f32 sinTheta_O v)
%7 = (*.f32 sinTheta_i %6)
%8 = (/.f32 sinTheta_i v)
%9 = (*.f32 sinTheta_O %8)
%10 = (neg.f32 %2)
%11 = (neg.f32 v)
%12 = (/.f32 %10 %11)
%14 = (/.f32 #s(literal 1 binary32) v)
%15 = (*.f32 %2 %14)
%17 = (/.f32 #s(literal 1 binary32) (/.f32 v %2))
%20 = (*.f32 cosTheta_i cosTheta_O)
%21 = (*.f32 cosTheta_O cosTheta_i)
%22 = (/.f32 %20 v)
%23 = (/.f32 cosTheta_O v)
%24 = (*.f32 cosTheta_i %23)
%25 = (/.f32 cosTheta_i v)
%26 = (*.f32 cosTheta_O %25)
%27 = (*.f32 %23 cosTheta_i)
%28 = (*.f32 %25 cosTheta_O)
%29 = (/.f32 v cosTheta_O)
%30 = (/.f32 cosTheta_i %29)
%31 = (/.f32 v cosTheta_i)
%32 = (/.f32 cosTheta_O %31)
%33 = (neg.f32 %20)
%34 = (/.f32 %33 %11)
%35 = (neg.f32 cosTheta_O)
%36 = (neg.f32 %31)
%37 = (/.f32 %35 %36)
%38 = (*.f32 %20 #s(literal 1 binary32))
%39 = (/.f32 %38 v)
%40 = (*.f32 %20 %14)
%41 = (*.f32 #s(literal 1 binary32) %22)
%42 = (*.f32 %14 %20)
%43 = (/.f32 v %20)
%44 = (/.f32 #s(literal 1 binary32) %43)
%45 = (*.f32 cosTheta_i #s(literal 1 binary32))
%46 = (/.f32 %45 %29)
%49 = (/.f32 #s(literal -1 binary32) (neg.f32 %43))
%51 = (/.f32 #s(literal 1 binary32) (/.f32 %43 #s(literal 1 binary32)))
%52 = (pow.f32 %43 #s(literal -1 binary32))
%66 = (sinh.f32 %14)
%67 = (*.f32 #s(literal 1 binary32) %66)
%68 = (/.f32 %66 #s(literal 1 binary32))
%69 = (*.f32 %66 #s(literal 2 binary32))
%70 = (/.f32 %69 #s(literal 2 binary32))
%71 = (/.f32 #s(literal 1 binary32) %66)
%72 = (/.f32 #s(literal 1 binary32) %71)
%73 = (neg.f32 %71)
%74 = (/.f32 #s(literal -1 binary32) %73)
%76 = (/.f32 #s(literal 1 binary32) (/.f32 %71 #s(literal 1 binary32)))
%77 = (pow.f32 %71 #s(literal -1 binary32))
%82 = (*.f32 #s(literal 2 binary32) %66)
%83 = (/.f32 #s(literal 2 binary32) %71)
%85 = (/.f32 #s(literal -2 binary32) %73)
%86 = (/.f32 #s(literal 1 binary32) %69)
%87 = (/.f32 #s(literal 1 binary32) %86)
%88 = (*.f32 %14 #s(literal 2 binary32))
%89 = (expm1.f32 %88)
%90 = (/.f32 #s(literal -1 binary32) v)
%91 = (exp.f32 %90)
%92 = (*.f32 %89 %91)
%93 = (exp.f32 %14)
%94 = (-.f32 %93 %91)
%95 = (/.f32 %89 %93)
%97 = (+.f32 %93 (neg.f32 %91))
%99 = (neg.f32 (-.f32 %91 %93))
%101 = (neg.f32 %93)
%102 = (/.f32 (neg.f32 %89) %101)
%104 = (/.f32 #s(literal 1 binary32) (/.f32 %93 %89))
%105 = (exp.f32 %88)
%107 = (-.f32 (/.f32 %105 %93) %91)
%108 = (+.f32 v v)
%109 = (*.f32 %66 %108)
%110 = (*.f32 %108 %66)
%111 = (*.f32 v %69)
%112 = (*.f32 %69 v)
%113 = (*.f32 v %66)
%114 = (fma.f32 v %66 %113)
%115 = (fma.f32 %66 v %113)
%116 = (+.f32 %113 %113)
%118 = (approx sinTheta_i #s(literal 0 binary32))
%120 = (cosh.f32 %14)
%122 = (fabs.f32 %91)
%123 = (*.f32 #s(literal 1 binary32) %91)
%124 = (/.f32 #s(literal 1 binary32) %93)
%125 = (/.f32 #s(literal -1 binary32) %101)
%127 = (/.f32 #s(literal 1 binary32) (/.f32 %93 #s(literal 1 binary32)))
%128 = (pow.f32 %93 #s(literal -1 binary32))
%131 = (+.f32 (cosh.f32 %90) (sinh.f32 %90))
%132 = (-.f32 %120 %66)
%134 = (* sinTheta_i sinTheta_O)
%135 = (/ %134 v)
%136 = (neg %135)
%137 = (exp %136)
%138 = (approx %137 #s(literal 1 binary32))
%139 = (neg.f32 sinTheta_O)
%142 = (/.f32 v sinTheta_O)
%147 = (*.f32 cosTheta_i %2)
%149 = (*.f32 cosTheta_i sinTheta_O)
%151 = (neg.f32 sinTheta_i)
%154 = (/.f32 v sinTheta_i)
%156 = (*.f32 cosTheta_i sinTheta_i)
%158 = (*.f32 cosTheta_O %156)
%165 = (*.f32 %151 sinTheta_O)
%169 = (*.f32 %151 %6)
%180 = (exp.f32 %169)
%182 = (exp.f32 %5)
%186 = (cosh.f32 %5)
%187 = (sinh.f32 %5)
%194 = (/.f32 %35 %11)
%196 = (/.f32 (*.f32 cosTheta_O #s(literal 1 binary32)) v)
%197 = (*.f32 cosTheta_O %14)
%198 = (*.f32 #s(literal 1 binary32) %23)
%199 = (*.f32 %14 cosTheta_O)
%200 = (/.f32 #s(literal 1 binary32) %29)
%202 = (/.f32 #s(literal -1 binary32) (neg.f32 %29))
%204 = (/.f32 #s(literal 1 binary32) (/.f32 %29 #s(literal 1 binary32)))
%205 = (pow.f32 %29 #s(literal -1 binary32))
%206 = (neg.f32 cosTheta_i)
%207 = (/.f32 %206 %11)
%208 = (/.f32 %45 v)
%209 = (*.f32 cosTheta_i %14)
%210 = (*.f32 %14 cosTheta_i)
%211 = (/.f32 #s(literal 1 binary32) %31)
%212 = (/.f32 %31 cosTheta_O)
%213 = (/.f32 %11 %33)
%214 = (/.f32 %36 %35)
%216 = (/.f32 (*.f32 v #s(literal 1 binary32)) %20)
%217 = (/.f32 #s(literal 1 binary32) %20)
%218 = (*.f32 v %217)
%219 = (*.f32 #s(literal 1 binary32) %43)
%220 = (*.f32 %217 v)
%221 = (/.f32 #s(literal 1 binary32) %22)
%222 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%223 = (*.f32 %31 %222)
%224 = (neg.f32 %22)
%225 = (/.f32 #s(literal -1 binary32) %224)
%226 = (/.f32 %22 #s(literal 1 binary32))
%227 = (/.f32 #s(literal 1 binary32) %226)
%228 = (pow.f32 %22 #s(literal -1 binary32))
%229 = (*.f32 v %182)
%231 = (/.f32 #s(literal 1/2 binary32) v)
%239 = (*.f32 v %109)
%240 = (*.f32 %109 v)
%241 = (*.f32 %113 %108)
%242 = (*.f32 v v)
%243 = (*.f32 %69 %242)
%244 = (*.f32 %242 %69)
%246 = (*.f32 (*.f32 %242 %66) #s(literal 2 binary32))
%248 = (/.f32 (*.f32 %242 #s(literal 2 binary32)) %71)
%250 = (/.f32 (*.f32 %242 %89) %93)
%251 = (/.f32 %20 %239)
%252 = (/.f32 cosTheta_O %239)
%253 = (*.f32 cosTheta_i %252)
%254 = (/.f32 cosTheta_i %239)
%255 = (*.f32 cosTheta_O %254)
%256 = (*.f32 %252 cosTheta_i)
%257 = (*.f32 %254 cosTheta_O)
%258 = (/.f32 %22 %109)
%259 = (/.f32 cosTheta_O %109)
%260 = (*.f32 %25 %259)
%261 = (/.f32 cosTheta_O %242)
%262 = (*.f32 cosTheta_i %261)
%263 = (/.f32 %262 %69)
%264 = (/.f32 cosTheta_i %69)
%265 = (*.f32 cosTheta_O %264)
%266 = (/.f32 %265 %242)
%267 = (/.f32 cosTheta_i %242)
%269 = (/.f32 (*.f32 %267 cosTheta_O) %69)
%271 = (/.f32 (*.f32 cosTheta_O %267) %69)
%272 = (/.f32 cosTheta_O %69)
%274 = (/.f32 (*.f32 cosTheta_i %272) %242)
%276 = (*.f32 cosTheta_O (/.f32 %264 %242))
%277 = (*.f32 %261 %264)
%278 = (*.f32 %264 %261)
%279 = (*.f32 %267 %272)
%280 = (*.f32 %272 %267)
%281 = (/.f32 #s(literal 2 binary32) cosTheta_O)
%282 = (*.f32 %66 %281)
%283 = (/.f32 %267 %282)
%284 = (neg.f32 %239)
%285 = (/.f32 %33 %284)
%287 = (/.f32 (/.f32 %265 v) v)
%289 = (*.f32 %23 (/.f32 %264 v))
%290 = (/.f32 %38 %239)
%291 = (/.f32 #s(literal 1 binary32) %239)
%292 = (*.f32 %20 %291)
%293 = (*.f32 #s(literal 1 binary32) %251)
%294 = (*.f32 %291 %20)
%296 = (neg.f32 %242)
%297 = (/.f32 (neg.f32 %265) %296)
%298 = (/.f32 %239 %20)
%299 = (/.f32 #s(literal 1 binary32) %298)
%300 = (*.f32 %262 %86)
%301 = (/.f32 #s(literal 1 binary32) %242)
%302 = (*.f32 %265 %301)
%304 = (/.f32 #s(literal -1 binary32) (neg.f32 %298))
%306 = (/.f32 #s(literal 1 binary32) (/.f32 %242 %265))
%308 = (/.f32 #s(literal 1 binary32) (/.f32 %298 #s(literal 1 binary32)))
%309 = (pow.f32 %298 #s(literal -1 binary32))
%311 = (fabs.f32 v)
%314 = (/.f32 %180 %66)
%316 = (neg.f32 %66)
%321 = (*.f32 v %108)
%322 = (/.f32 %20 %321)
%323 = (/.f32 cosTheta_O %321)
%324 = (*.f32 cosTheta_i %323)
%325 = (*.f32 %323 cosTheta_i)
%326 = (/.f32 %22 %108)
%327 = (neg.f32 %108)
%328 = (/.f32 %224 %327)
%329 = (/.f32 #s(literal 1 binary32) %108)
%330 = (*.f32 %22 %329)
%332 = (/.f32 #s(literal 1 binary32) (/.f32 %108 %22))
%334 = (*.f32 #s(literal 1/2 binary32) cosTheta_O)
%336 = (*.f32 cosTheta_i %5)
%343 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%344 = (*.f32 %336 #s(literal -1/2 binary32))
%347 = (fma.f32 #s(literal -1/2 binary32) %336 %343)
%351 = (*.f32 #s(literal -1/2 binary32) cosTheta_i)
%355 = (fma.f32 sinTheta_i %6 #s(literal 1 binary32))
%360 = (fma.f32 #s(literal 1 binary32) v %2)
%364 = (exp %135)
%365 = (approx %364 %355)
%367 = (* 2 v)
%369 = (approx (/ %137 %367) %231)
%370 = (/.f32 #s(literal -1 binary32) %316)
%371 = (/.f32 #s(literal 2 binary32) %69)
%372 = (*.f32 #s(literal 1 binary32) %71)
%373 = (neg.f32 %69)
%374 = (/.f32 #s(literal -2 binary32) %373)
%375 = (*.f32 #s(literal 2 binary32) %86)
%376 = (pow.f32 %66 #s(literal -1 binary32))
%379 = (sinh (/ 1 v))
%380 = (/ %137 %379)
%381 = (approx %380 %71)
%382 = (*.f32 cosTheta_i v)
%384 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%391 = (*.f32 cosTheta_i %8)
%397 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%404 = (*.f32 #s(literal 1/2 binary32) v)
%405 = (/ %380 2)
%406 = (approx %405 %404)
%407 = (+.f32 %14 %14)
%425 = (/.f32 %23 v)
%426 = (/.f32 %35 %296)
%427 = (neg.f32 %23)
%428 = (/.f32 %427 %11)
%429 = (*.f32 cosTheta_O %301)
%431 = (/.f32 #s(literal 1 binary32) (/.f32 %242 cosTheta_O))
%432 = (*.f32 %23 %14)
%434 = (/.f32 #s(literal 1 binary32) (/.f32 v %23))
%435 = (*.f32 cosTheta_i %334)
%436 = (*.f32 %20 #s(literal 1/2 binary32))
%437 = (*.f32 #s(literal 1/2 binary32) %20)
%438 = (*.f32 %334 cosTheta_i)
%439 = (*.f32 %343 cosTheta_O)
%444 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%465 = (*.f32 v (/.f32 %109 %20))
%466 = (/.f32 %239 cosTheta_i)
%467 = (/.f32 %466 cosTheta_O)
%469 = (*.f32 %31 (/.f32 %109 cosTheta_O))
%471 = (/.f32 (*.f32 %242 %282) cosTheta_i)
%472 = (*.f32 v %31)
%474 = (/.f32 (*.f32 %472 %69) cosTheta_O)
%475 = (*.f32 %472 %282)
%476 = (*.f32 %282 %472)
%477 = (/.f32 %284 %33)
%478 = (*.f32 %239 %217)
%479 = (/.f32 #s(literal 1 binary32) %251)
%480 = (/.f32 %20 %113)
%482 = (*.f32 cosTheta_i (/.f32 cosTheta_O %113))
%483 = (/.f32 cosTheta_i %113)
%484 = (*.f32 cosTheta_O %483)
%485 = (*.f32 %483 cosTheta_O)
%487 = (/.f32 cosTheta_O (*.f32 %31 %66))
%488 = (/.f32 %22 %66)
%489 = (/.f32 %20 %66)
%490 = (/.f32 %489 v)
%492 = (*.f32 cosTheta_i (/.f32 %23 %66))
%493 = (/.f32 cosTheta_O %66)
%494 = (*.f32 %25 %493)
%496 = (/.f32 %33 (neg.f32 %113))
%497 = (/.f32 %224 %316)
%499 = (/.f32 (neg.f32 %489) %11)
%500 = (/.f32 %38 %113)
%502 = (*.f32 %20 (/.f32 #s(literal 1 binary32) %113))
%504 = (/.f32 #s(literal 1 binary32) (/.f32 %113 %20))
%506 = (/.f32 (*.f32 %22 #s(literal 1 binary32)) %66)
%508 = (*.f32 %20 (/.f32 %14 %66))
%510 = (*.f32 %20 (/.f32 %71 v))
%511 = (*.f32 %22 %71)
%512 = (*.f32 %71 %22)
%513 = (*.f32 %489 %14)
%515 = (/.f32 #s(literal 1 binary32) (/.f32 %66 %22))
%517 = (/.f32 #s(literal 1 binary32) (/.f32 v %489))
%518 = (*.f32 %226 %71)
%519 = (/.f32 %20 %242)
%520 = (*.f32 %261 cosTheta_i)
%521 = (/.f32 %22 v)
%522 = (*.f32 %23 %25)
%523 = (*.f32 %25 %23)
%524 = (/.f32 %224 %11)
%525 = (/.f32 %38 %242)
%526 = (*.f32 %20 %301)
%527 = (*.f32 #s(literal 1 binary32) %262)
%528 = (*.f32 %301 %20)
%529 = (*.f32 v %43)
%530 = (/.f32 #s(literal 1 binary32) %529)
%531 = (*.f32 %22 %14)
%533 = (/.f32 #s(literal 1 binary32) (/.f32 v %22))
%535 = (/.f32 #s(literal -1 binary32) (neg.f32 %529))
%537 = (/.f32 #s(literal 1 binary32) (/.f32 %529 #s(literal 1 binary32)))
%538 = (pow.f32 %529 #s(literal -1 binary32))
%551 = (*.f32 %138 %22)
%552 = (*.f32 sinTheta_O %118)
%553 = (*.f32 cosTheta_i %552)
%554 = (*.f32 cosTheta_O %553)
%555 = (/.f32 %554 v)
%556 = (*.f32 cosTheta_O sinTheta_i)
%559 = (*.f32 cosTheta_O %8)
%565 = (/.f32 cosTheta_O sinTheta_O)
%568 = (/.f32 sinTheta_O cosTheta_O)
%571 = (*.f32 #s(literal 1/2 binary32) %565)
%573 = (*.f32 %559 #s(literal -1/2 binary32))
%575 = (fma.f32 #s(literal -1/2 binary32) %559 %571)
%584 = (*.f32 sinTheta_O %575)
%586 = (*.f32 sinTheta_O %571)
%588 = (*.f32 %571 sinTheta_O)
%594 = (*.f32 cosTheta_i %584)
%603 = (* cosTheta_O cosTheta_i)
%606 = (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) v)) (* 1/2 (/ %603 sinTheta_O)))
%608 = (approx (* sinTheta_O %606) %594)
%609 = (*.f32 cosTheta_O v)
%611 = (/.f32 %2 %609)
%612 = (/.f32 sinTheta_i %609)
%632 = (fma.f32 #s(literal 2 binary32) %611 %281)
%636 = (*.f32 %611 #s(literal 2 binary32))
%645 = (/.f32 %632 cosTheta_i)
%656 = (* cosTheta_O (* cosTheta_i v))
%659 = (+ (/ (* 2 %134) %656) (/ 2 %603))
%660 = (approx %659 %645)
%661 = (/.f32 cosTheta_i sinTheta_O)
%664 = (/.f32 sinTheta_O cosTheta_i)
%667 = (*.f32 #s(literal 1/2 binary32) %661)
%669 = (*.f32 %391 #s(literal -1/2 binary32))
%671 = (fma.f32 #s(literal -1/2 binary32) %391 %667)
%680 = (*.f32 cosTheta_O %671)
%682 = (*.f32 cosTheta_O %667)
%684 = (*.f32 %667 cosTheta_O)
%690 = (approx %606 %680)
%691 = (*.f32 #s(literal 1/2 binary32) %382)
%694 = (*.f32 %351 %2)
%697 = (fma.f32 #s(literal -1/2 binary32) %147 %691)
%707 = (*.f32 cosTheta_O %697)
%709 = (*.f32 cosTheta_O %691)
%711 = (*.f32 %691 cosTheta_O)
%723 = (approx (+ (* (* -1/2 cosTheta_O) (* (* cosTheta_i sinTheta_O) sinTheta_i)) (* 1/2 %656)) %707)
%724 = (/.f32 %2 %382)
%725 = (/.f32 sinTheta_i %382)
%741 = (/.f32 #s(literal 2 binary32) cosTheta_i)
%746 = (fma.f32 #s(literal 2 binary32) %724 %741)
%750 = (*.f32 %724 #s(literal 2 binary32))
%759 = (/.f32 %746 cosTheta_O)
%768 = (approx %659 %759)
%769 = (*.f32 v %746)
%771 = (*.f32 v %741)
%773 = (*.f32 %741 v)
%780 = (*.f32 v %759)
%786 = (* v %659)
%787 = (approx %786 %780)
%788 = (* v %364)
%789 = (approx %788 v)
%790 = (fma.f32 sinTheta_i sinTheta_O v)
%794 = (*.f32 %139 sinTheta_i)
%797 = (approx %788 %790)
%799 = (+.f32 %384 %6)
%800 = (neg.f32 %6)
%808 = (*.f32 sinTheta_i %799)
%811 = (*.f32 %6 sinTheta_i)
%818 = (approx (+ 1 %135) %808)
%819 = (/.f32 #s(literal 1/2 binary32) sinTheta_i)
%823 = (fma.f32 #s(literal -1/2 binary32) %6 %819)
%824 = (*.f32 %6 #s(literal -1/2 binary32))
%833 = (*.f32 sinTheta_i %823)
%835 = (*.f32 sinTheta_i %819)
%837 = (*.f32 %819 sinTheta_i)
%844 = (+ 1/2 (* -1/2 %135))
%845 = (approx %844 %833)
%846 = (/.f32 sinTheta_O %20)
%852 = (/.f32 v %158)
%856 = (/.f32 #s(literal 1 binary32) %158)
%860 = (/.f32 %108 %158)
%866 = (*.f32 #s(literal 2 binary32) (+.f32 %846 %852))
%869 = (*.f32 %846 #s(literal 2 binary32))
%878 = (*.f32 sinTheta_i %866)
%880 = (*.f32 sinTheta_i %860)
%882 = (*.f32 %860 sinTheta_i)
%888 = (approx %786 %878)
%893 = (+.f32 %139 %154)
%901 = (*.f32 sinTheta_i %893)
%903 = (*.f32 sinTheta_i %154)
%905 = (*.f32 %154 sinTheta_i)
%913 = (neg (* v (+ %135 -1)))
%914 = (approx %913 %901)
%915 = (/.f32 #s(literal 1/2 binary32) sinTheta_O)
%919 = (fma.f32 #s(literal -1/2 binary32) %8 %915)
%920 = (*.f32 %8 #s(literal -1/2 binary32))
%929 = (*.f32 sinTheta_O %919)
%931 = (*.f32 sinTheta_O %915)
%933 = (*.f32 %915 sinTheta_O)
%939 = (approx %844 %929)
%940 = (+.f32 %151 %142)
%949 = (*.f32 sinTheta_O %940)
%951 = (*.f32 sinTheta_O %142)
%953 = (*.f32 %142 sinTheta_O)
%958 = (approx %913 %949)
%959 = (/.f32 %697 v)
%965 = (/.f32 %691 v)
%969 = (* cosTheta_i %135)
%973 = (approx (+ (* -1/2 %969) (* 1/2 cosTheta_i)) %959)
%974 = (/.f32 %893 v)
%978 = (/.f32 %154 v)
%988 = (approx (+ (neg (/ sinTheta_O v)) (/ 1 sinTheta_i)) %974)
%989 = (/.f32 %940 v)
%994 = (/.f32 %142 v)
%1004 = (approx (+ (/ (neg sinTheta_i) v) (/ 1 sinTheta_O)) %989)
%1005 = (* %379 2)
%1006 = (/ cosTheta_i %1005)
%1007 = (approx %1006 %691)
%1008 = (*.f32 v %347)
%1010 = (*.f32 v %343)
%1018 = (approx (* %137 %1006) %1008)
%1042 = (/.f32 %108 %20)
%1043 = (*.f32 #s(literal 2 binary32) %43)
%1044 = (*.f32 %43 #s(literal 2 binary32))
%1046 = (/.f32 (/.f32 %108 cosTheta_i) cosTheta_O)
%1047 = (/.f32 #s(literal 2 binary32) %22)
%1049 = (/.f32 (*.f32 #s(literal 2 binary32) %31) cosTheta_O)
%1050 = (/.f32 %327 %33)
%1051 = (*.f32 %108 %217)
%1053 = (/.f32 #s(literal 1 binary32) (/.f32 %20 %108))
%1054 = (+.f32 %43 %43)
%1055 = (fma.f32 v %217 %43)
%1056 = (fma.f32 #s(literal 1 binary32) %43 %43)
%1057 = (fma.f32 %217 v %43)
%1058 = (fma.f32 %31 %222 %43)
%1059 = (/.f32 %25 %109)
%1060 = (/.f32 %267 %69)
%1061 = (/.f32 %206 %284)
%1063 = (/.f32 (/.f32 %267 %66) #s(literal 2 binary32))
%1064 = (*.f32 cosTheta_i %291)
%1066 = (/.f32 (neg.f32 %267) %373)
%1067 = (/.f32 #s(literal 1 binary32) %466)
%1068 = (*.f32 %267 %86)
%1070 = (/.f32 #s(literal 1 binary32) (/.f32 %69 %267))
%1072 = (/.f32 (/.f32 cosTheta_i %66) #s(literal 2 binary32))
%1073 = (/.f32 %206 %373)
%1074 = (/.f32 %45 %69)
%1075 = (*.f32 cosTheta_i %86)
%1076 = (*.f32 %86 cosTheta_i)
%1078 = (/.f32 #s(literal 1 binary32) (/.f32 %69 cosTheta_i))
%1097 = (/.f32 %437 v)
%1098 = (*.f32 %22 #s(literal 1/2 binary32))
%1099 = (*.f32 #s(literal 1/2 binary32) %22)
%1100 = (*.f32 %23 %343)
%1101 = (*.f32 %334 %25)
%1102 = (*.f32 %343 %23)
%1103 = (/.f32 %334 %31)
%1105 = (/.f32 (neg.f32 %437) %11)
%1107 = (/.f32 (*.f32 %437 #s(literal 1 binary32)) v)
%1108 = (*.f32 %14 %437)
%1109 = (*.f32 %437 %14)
%1111 = (/.f32 #s(literal 1 binary32) (/.f32 v %437))
%1112 = (*.f32 %182 %109)
%1115 = (*.f32 %229 %109)
%1118 = (/.f32 %20 %1115)
%1120 = (*.f32 cosTheta_i (/.f32 cosTheta_O %1115))
%1121 = (/.f32 %22 %1112)
%1123 = (*.f32 cosTheta_i (/.f32 cosTheta_O %229))
%1124 = (/.f32 %1123 %109)
%1126 = (*.f32 (/.f32 cosTheta_i %229) %259)
%1128 = (/.f32 (*.f32 %20 %180) %239)
%1129 = (*.f32 %180 %251)
%1131 = (/.f32 (/.f32 %1123 %66) %108)
%1133 = (/.f32 (*.f32 %489 %180) %321)
%1135 = (/.f32 (*.f32 %180 %324) %66)
%1137 = (/.f32 (*.f32 %480 %180) %108)
%1139 = (/.f32 (*.f32 %180 %20) %109)
%1140 = (/.f32 %1139 v)
%1141 = (/.f32 %180 %108)
%1143 = (/.f32 (*.f32 %20 %1141) %113)
%1144 = (/.f32 %180 %109)
%1146 = (/.f32 (*.f32 %20 %1144) v)
%1148 = (*.f32 cosTheta_O (*.f32 %483 %1141))
%1149 = (*.f32 %22 %1144)
%1150 = (*.f32 %314 %324)
%1151 = (*.f32 %324 %314)
%1152 = (*.f32 %480 %1141)
%1153 = (*.f32 %1141 %480)
%1154 = (*.f32 %1144 %22)
%1156 = (*.f32 (*.f32 %314 cosTheta_i) %323)
%1158 = (/.f32 %33 (neg.f32 %1115))
%1160 = (/.f32 (*.f32 %180 %262) %69)
%1163 = (/.f32 (*.f32 (*.f32 %180 cosTheta_i) %261) %69)
%1164 = (*.f32 %180 %264)
%1165 = (*.f32 %261 %1164)
%1166 = (/.f32 %180 %69)
%1167 = (*.f32 %262 %1166)
%1168 = (*.f32 %1166 %262)
%1169 = (*.f32 %1164 %261)
%1171 = (*.f32 (*.f32 %1166 cosTheta_i) %261)
%1173 = (/.f32 (*.f32 %489 %1141) v)
%1175 = (/.f32 (*.f32 %314 %22) %108)
%1177 = (/.f32 (*.f32 %22 %1141) %66)
%1180 = (/.f32 (neg.f32 %1123) (neg.f32 %109))
%1181 = (/.f32 %1166 %529)
%1183 = (/.f32 (*.f32 %1164 %23) v)
%1185 = (*.f32 (*.f32 %1166 %25) %23)
%1187 = (*.f32 %20 (/.f32 #s(literal 1 binary32) %1115))
%1188 = (*.f32 #s(literal 1 binary32) %1118)
%1190 = (/.f32 (neg.f32 %1139) %11)
%1192 = (/.f32 #s(literal 1 binary32) (/.f32 %1115 %20))
%1193 = (/.f32 #s(literal 1 binary32) %109)
%1194 = (*.f32 %1123 %1193)
%1195 = (*.f32 %1193 %1123)
%1197 = (*.f32 (/.f32 %109 %22) %182)
%1198 = (/.f32 #s(literal 1 binary32) %1197)
%1199 = (*.f32 %1139 %14)
%1202 = (/.f32 (*.f32 %180 #s(literal 1 binary32)) (*.f32 %69 %529))
%1204 = (*.f32 (*.f32 %1166 %20) %301)
%1206 = (/.f32 #s(literal 1 binary32) (/.f32 v %1139))
%1208 = (/.f32 #s(literal -1 binary32) (neg.f32 %1197))
%1210 = (*.f32 %22 (*.f32 %71 %1141))
%1212 = (/.f32 (*.f32 %1166 #s(literal 1 binary32)) %529)
%1214 = (/.f32 #s(literal 1 binary32) (/.f32 %1197 #s(literal 1 binary32)))
%1215 = (pow.f32 %1197 #s(literal -1 binary32))
%1217 = (* %1005 v)
%1219 = (* (/ cosTheta_i %788) (/ cosTheta_O %1217))
%1220 = (approx %1219 %251)
%1221 = (approx %1219 %1102)
%1222 = (*.f32 %480 %369)
%1223 = (*.f32 sinTheta_O %690)
%1227 = (+ (* -1/2 (* cosTheta_O %969)) (* 1/2 %603))
%1228 = (approx %1227 %1223)
%1229 = (/.f32 %1228 v)
%1231 = (*.f32 %406 %262)
%1232 = (*.f32 %406 %22)
%1233 = (/.f32 %1232 v)
%1234 = (*.f32 %381 %324)
%1235 = (/.f32 %22 %365)
%1236 = (/.f32 %109 %1235)
%1238 = (/.f32 %551 %109)
%1240 = (*.f32 v %660)
%1244 = (/ %1217 (* cosTheta_i (/ (/ cosTheta_O v) %364)))
%1245 = (approx %1244 %1240)
%1247 = (*.f32 v %768)
%1248 = (approx %1244 %1247)
%1250 = (approx %1244 %888)
%1252 = (approx %1244 %787)
%1254 = (approx %364 %818)
%1255 = (/.f32 %22 %1254)
%1256 = (/.f32 %109 %1255)
%1258 = (/.f32 %723 v)
%1259 = (approx %1227 %1258)
%1260 = (/.f32 %1259 v)
%1262 = (*.f32 %261 %1007)
%1264 = (approx %1227 %608)
%1265 = (/.f32 %1264 v)
%1267 = (*.f32 sinTheta_i %988)
%1268 = (+ 1 %136)
%1269 = (approx %1268 %1267)
%1270 = (approx %137 %1269)
%1271 = (*.f32 %1270 %22)
%1273 = (/.f32 %20 %797)
%1275 = (/.f32 %20 %789)
%1277 = (*.f32 sinTheta_O %1004)
%1278 = (approx %1268 %1277)
%1279 = (approx %137 %1278)
%1280 = (*.f32 %1279 %22)
%1282 = (approx %1244 %1042)
%1283 = (/.f32 #s(literal 1 binary32) %1282)
%1284 = (/ %380 %367)
%1285 = (approx %1284 %939)
%1287 = (approx %1284 %845)
%1289 = (approx %380 %958)
%1291 = (approx %380 %914)
%1293 = (*.f32 v %365)
%1294 = (/.f32 %20 %1293)
%1296 = (*.f32 cosTheta_O %973)
%1297 = (approx %1227 %1296)
%1298 = (/.f32 %1297 v)
%1300 = (approx %405 %86)
%1301 = (*.f32 %1300 %22)
%1303 = (*.f32 #s(literal -1/2 binary32) %555)
%1304 = (approx %1227 %1303)
%1305 = (/.f32 %1304 v)
sinTheta_i
sinTheta_O
%2
%3
v
%5
%7
%9
%12
%15
%17
cosTheta_i
cosTheta_O
%20
%21
%22
%24
%26
%27
%28
%30
%32
%34
%37
%39
%40
%41
%42
%44
%46
%49
%51
%52
#s(literal 1 binary32)
(neg.f32 #s(literal -1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(/.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
%14
(/.f32 #s(literal -1 binary32) %11)
(*.f32 #s(literal 1 binary32) %14)
(/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 1 binary32)))
(pow.f32 v #s(literal -1 binary32))
%66
%67
%68
%70
%72
%74
%76
%77
#s(literal 2 binary32)
(+.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1 binary32))
(/.f32 #s(literal 2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 1 binary32))
%69
%82
%83
%85
%87
%92
%94
%95
%97
%99
%102
%104
%107
%109
%110
%111
%112
%114
%115
%116
#s(literal 0 binary32)
(sinh.f32 #s(literal 0 binary32))
%118
%20
%21
%2
%3
%5
%7
%9
%12
%15
%17
%93
(fabs.f32 %93)
(+.f32 %120 %66)
%91
%122
%123
%124
%125
%127
%128
%131
%132
%69
%82
%83
%85
%87
%92
%94
%95
%97
%99
%102
%104
%107
#s(literal -1 binary32)
(neg.f32 #s(literal 1 binary32))
%138
%6
(/.f32 %139 %11)
(*.f32 sinTheta_O %14)
(/.f32 #s(literal 1 binary32) %142)
#s(literal 1/2 binary32)
(neg.f32 #s(literal -1/2 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 1 binary32))
%147
(*.f32 %2 cosTheta_i)
(*.f32 %149 sinTheta_i)
%8
(/.f32 %151 %11)
(*.f32 sinTheta_i %14)
(/.f32 #s(literal 1 binary32) %154)
%156
(*.f32 sinTheta_i cosTheta_i)
%158
(*.f32 %20 sinTheta_i)
(*.f32 %156 cosTheta_O)
#s(literal -1/2 binary32)
(neg.f32 #s(literal 1/2 binary32))
%151
(*.f32 sinTheta_i #s(literal -1 binary32))
(*.f32 #s(literal -1 binary32) sinTheta_i)
(/.f32 %2 %11)
(/.f32 %165 v)
(/.f32 %10 v)
(*.f32 %6 %151)
%169
(neg.f32 %5)
(/.f32 (*.f32 #s(literal -1 binary32) %2) v)
(*.f32 %5 #s(literal -1 binary32))
(*.f32 #s(literal -1 binary32) %5)
%90
(/.f32 #s(literal 1 binary32) %11)
(neg.f32 %14)
(*.f32 #s(literal -1 binary32) %14)
(/.f32 #s(literal 1 binary32) (/.f32 v #s(literal -1 binary32)))
%180
(fabs.f32 %180)
(/.f32 #s(literal 1 binary32) %182)
(pow.f32 (exp.f32 %151) %6)
(-.f32 %186 %187)
(+.f32 (cosh.f32 %169) (sinh.f32 %169))
%182
(fabs.f32 %182)
(+.f32 %186 %187)
%23
%194
%196
%197
%198
%199
%200
%202
%204
%205
%22
%24
%26
%27
%28
%30
%32
%34
%37
%39
%40
%41
%42
%44
%46
%49
%51
%52
%25
%207
%208
%209
%210
%211
%22
%24
%26
%27
%28
%30
%32
%34
%37
%39
%40
%41
%42
%44
%46
%49
%51
%52
%25
%207
%208
%209
%210
%211
%22
%24
%26
%27
%28
%30
%32
%34
%37
%39
%40
%41
%42
%44
%46
%49
%51
%52
%22
%24
%26
%27
%28
%30
%32
%34
%37
%39
%40
%41
%42
%44
%46
%49
%51
%52
%43
%212
%213
%214
%216
%218
%219
%220
%221
%223
%225
%227
%228
%22
%24
%26
%27
%28
%30
%32
%34
%37
%39
%40
%41
%42
%44
%46
%49
%51
%52
%229
(*.f32 %182 v)
%231
(/.f32 #s(literal -1/2 binary32) %11)
(*.f32 #s(literal 1/2 binary32) %14)
(/.f32 #s(literal 1 binary32) (/.f32 v #s(literal 1/2 binary32)))
%91
%122
%123
%124
%125
%127
%128
%131
%132
%69
%82
%83
%85
%87
%92
%94
%95
%97
%99
%102
%104
%107
%108
(*.f32 #s(literal 2 binary32) v)
(-.f32 v %11)
%109
%110
%111
%112
%114
%115
%116
%113
(*.f32 %66 v)
%239
%240
%241
%243
%244
%246
%248
%250
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%242
(*.f32 %11 %11)
(*.f32 %311 %311)
(pow.f32 v #s(literal 2 binary32))
%314
(/.f32 (neg.f32 %180) %316)
(*.f32 %180 %71)
(/.f32 #s(literal 1 binary32) (/.f32 %66 %180))
%322
%324
%325
%326
%328
%330
%332
(*.f32 cosTheta_O #s(literal 1/2 binary32))
%334
(/.f32 %147 v)
%336
(/.f32 (neg.f32 %147) %11)
(*.f32 %147 %14)
(/.f32 #s(literal 1 binary32) (/.f32 v %147))
(*.f32 cosTheta_i #s(literal 1/2 binary32))
%343
(fma.f32 cosTheta_i #s(literal 1/2 binary32) %344)
(fma.f32 #s(literal 1/2 binary32) cosTheta_i %344)
%347
(fma.f32 %336 #s(literal -1/2 binary32) %343)
(+.f32 %343 %344)
(+.f32 %344 %343)
(-.f32 %344 %351)
(-.f32 %344 (neg.f32 %343))
%355
(fma.f32 sinTheta_O %8 #s(literal 1 binary32))
(+.f32 %5 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) %5)
(-.f32 #s(literal 1 binary32) %169)
(/.f32 %360 v)
(fma.f32 %2 %14 #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %5)
%365
%369
%71
%370
%371
%372
%374
%375
%376
%381
%382
(*.f32 v cosTheta_i)
%384
(/.f32 #s(literal -1 binary32) %151)
(*.f32 #s(literal 1 binary32) %384)
(/.f32 #s(literal 1 binary32) (/.f32 sinTheta_i #s(literal 1 binary32)))
(pow.f32 sinTheta_i #s(literal -1 binary32))
(/.f32 %156 v)
%391
(/.f32 (neg.f32 %156) %11)
(*.f32 %156 %14)
(/.f32 #s(literal 1 binary32) (/.f32 v %156))
%397
(/.f32 #s(literal -1 binary32) %139)
(*.f32 #s(literal 1 binary32) %397)
(/.f32 #s(literal 1 binary32) (/.f32 sinTheta_O #s(literal 1 binary32)))
(pow.f32 sinTheta_O #s(literal -1 binary32))
(*.f32 v #s(literal 1/2 binary32))
%404
%406
%105
(exp.f32 %407)
(pow.f32 %93 #s(literal 2 binary32))
(*.f32 %93 %93)
(*.f32 %101 %101)
%89
(expm1.f32 %407)
(+.f32 %105 #s(literal -1 binary32))
(-.f32 %105 #s(literal 1 binary32))
(neg.f32 (-.f32 #s(literal 1 binary32) %105))
(*.f32 (+.f32 %93 #s(literal 1 binary32)) (expm1.f32 %14))
(fma.f32 %93 %93 #s(literal -1 binary32))
(fma.f32 %101 %101 #s(literal -1 binary32))
%69
%82
%83
%85
%87
%92
%94
%95
%97
%99
%102
%104
%107
%142
(/.f32 %11 %139)
(*.f32 v %397)
(/.f32 #s(literal 1 binary32) %6)
%261
%425
%426
%428
%429
%431
%432
%434
%435
%436
%437
%438
%439
%435
%436
%437
%438
%439
%23
%194
%196
%197
%198
%199
%200
%202
%204
%205
%29
(/.f32 %11 %35)
(*.f32 v %222)
(/.f32 #s(literal 1 binary32) %23)
%23
%194
%196
%197
%198
%199
%200
%202
%204
%205
%31
(/.f32 %11 %206)
(*.f32 v %444)
(/.f32 #s(literal 1 binary32) %25)
%86
(/.f32 %71 #s(literal 2 binary32))
(/.f32 #s(literal -1 binary32) %373)
(*.f32 #s(literal 1 binary32) %86)
(/.f32 #s(literal 1 binary32) (/.f32 %69 #s(literal 1 binary32)))
(pow.f32 %69 #s(literal -1 binary32))
%252
(/.f32 %23 %109)
(/.f32 %35 %284)
(*.f32 cosTheta_O %291)
(/.f32 #s(literal 1 binary32) (/.f32 %239 cosTheta_O))
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%291
(/.f32 %14 %109)
(/.f32 #s(literal -1 binary32) %284)
(*.f32 #s(literal 1 binary32) %291)
(/.f32 #s(literal 1 binary32) (/.f32 %239 #s(literal 1 binary32)))
(pow.f32 %239 #s(literal -1 binary32))
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%298
%465
%467
%469
%471
%474
%475
%476
%477
%478
%479
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%480
%482
%484
%485
%487
%488
%490
%492
%494
%496
%497
%499
%500
%502
%504
%506
%508
%510
%511
%512
%513
%515
%517
%518
%261
%425
%426
%428
%429
%431
%432
%434
%519
%262
%520
%521
%522
%523
%524
%525
%526
%527
%528
%530
%531
%533
%535
%537
%538
%519
%262
%520
%521
%522
%523
%524
%525
%526
%527
%528
%530
%531
%533
%535
%537
%538
%519
%262
%520
%521
%522
%523
%524
%525
%526
%527
%528
%530
%531
%533
%535
%537
%538
%301
(/.f32 %14 v)
(/.f32 #s(literal -1 binary32) %296)
(*.f32 #s(literal 1 binary32) %301)
(/.f32 #s(literal 1 binary32) (/.f32 %242 #s(literal 1 binary32)))
(pow.f32 %242 #s(literal -1 binary32))
%519
%262
%520
%521
%522
%523
%524
%525
%526
%527
%528
%530
%531
%533
%535
%537
%538
(/.f32 %242 %20)
%529
(/.f32 %472 cosTheta_O)
(*.f32 %31 %29)
(/.f32 %296 %33)
(*.f32 %242 %217)
(/.f32 #s(literal 1 binary32) %262)
%519
%262
%520
%521
%522
%523
%524
%525
%526
%527
%528
%530
%531
%533
%535
%537
%538
%71
%370
%371
%372
%374
%375
%376
%480
%482
%484
%485
%487
%488
%490
%492
%494
%496
%497
%499
%500
%502
%504
%506
%508
%510
%511
%512
%513
%515
%517
%518
%322
%324
%325
%326
%328
%330
%332
%480
%482
%484
%485
%487
%488
%490
%492
%494
%496
%497
%499
%500
%502
%504
%506
%508
%510
%511
%512
%513
%515
%517
%518
%551
%480
%482
%484
%485
%487
%488
%490
%492
%494
%496
%497
%499
%500
%502
%504
%506
%508
%510
%511
%512
%513
%515
%517
%518
%480
%482
%484
%485
%487
%488
%490
%492
%494
%496
%497
%499
%500
%502
%504
%506
%508
%510
%511
%512
%513
%515
%517
%518
%551
%552
%553
%554
%555
%556
(*.f32 sinTheta_i cosTheta_O)
(/.f32 %556 v)
%559
(/.f32 (neg.f32 %556) %11)
(*.f32 %556 %14)
(/.f32 #s(literal 1 binary32) (/.f32 v %556))
%565
(/.f32 %35 %139)
(*.f32 cosTheta_O %397)
(/.f32 #s(literal 1 binary32) %568)
(/.f32 %334 sinTheta_O)
%571
(*.f32 %565 #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) %565 %573)
%575
(fma.f32 %559 #s(literal -1/2 binary32) %571)
(fma.f32 %565 #s(literal 1/2 binary32) %573)
(+.f32 %571 %573)
(+.f32 %573 %571)
(-.f32 %573 (*.f32 #s(literal -1/2 binary32) %565))
(-.f32 %573 (neg.f32 %571))
%584
(*.f32 %575 sinTheta_O)
(fma.f32 sinTheta_O %573 %586)
(fma.f32 %573 sinTheta_O %588)
(+.f32 (*.f32 %573 sinTheta_O) %588)
(+.f32 (*.f32 sinTheta_O %573) %586)
%594
(*.f32 %584 cosTheta_i)
(*.f32 %149 %575)
%608
%609
(*.f32 v cosTheta_O)
%611
(*.f32 sinTheta_O %612)
(/.f32 (/.f32 %2 cosTheta_O) v)
(*.f32 %568 %8)
(/.f32 %10 (neg.f32 %609))
(*.f32 %2 (/.f32 #s(literal 1 binary32) %609))
(/.f32 #s(literal 1 binary32) (/.f32 %609 %2))
%222
(/.f32 #s(literal -1 binary32) %35)
(*.f32 #s(literal 1 binary32) %222)
(/.f32 #s(literal 1 binary32) (/.f32 cosTheta_O #s(literal 1 binary32)))
(pow.f32 cosTheta_O #s(literal -1 binary32))
%281
(*.f32 #s(literal 2 binary32) %222)
(*.f32 %222 #s(literal 2 binary32))
(+.f32 %222 %222)
(fma.f32 #s(literal 1 binary32) %222 %222)
%632
(fma.f32 %611 #s(literal 2 binary32) %281)
(*.f32 #s(literal 2 binary32) (fma.f32 sinTheta_O %612 %222))
(+.f32 %281 %636)
(+.f32 %636 %281)
(-.f32 %636 (neg.f32 %281))
(fma.f32 #s(literal 2 binary32) %222 %636)
(fma.f32 %222 #s(literal 2 binary32) %636)
(-.f32 %636 (*.f32 #s(literal -2 binary32) %222))
%645
(/.f32 (neg.f32 %632) %206)
(*.f32 %632 %444)
(/.f32 #s(literal 1 binary32) (/.f32 cosTheta_i %632))
(+.f32 (/.f32 %636 cosTheta_i) (/.f32 %281 cosTheta_i))
%660
%661
(/.f32 %206 %139)
(*.f32 cosTheta_i %397)
(/.f32 #s(literal 1 binary32) %664)
(/.f32 %343 sinTheta_O)
%667
(*.f32 %661 #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) %661 %669)
%671
(fma.f32 %391 #s(literal -1/2 binary32) %667)
(fma.f32 %661 #s(literal 1/2 binary32) %669)
(+.f32 %667 %669)
(+.f32 %669 %667)
(-.f32 %669 (*.f32 #s(literal -1/2 binary32) %661))
(-.f32 %669 (neg.f32 %667))
%680
(*.f32 %671 cosTheta_O)
(fma.f32 cosTheta_O %669 %682)
(fma.f32 %669 cosTheta_O %684)
(+.f32 (*.f32 %669 cosTheta_O) %684)
(+.f32 (*.f32 cosTheta_O %669) %682)
%690
%691
(*.f32 %343 v)
(*.f32 %382 #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) %382 %694)
(fma.f32 %147 #s(literal -1/2 binary32) %691)
%697
(fma.f32 %343 v %694)
(fma.f32 %382 #s(literal 1/2 binary32) %694)
(fma.f32 %351 %2 %691)
(+.f32 %691 %694)
(+.f32 %694 %691)
(-.f32 %694 (*.f32 #s(literal -1/2 binary32) %382))
(-.f32 %694 (neg.f32 %691))
%707
(*.f32 %697 cosTheta_O)
(fma.f32 cosTheta_O %694 %709)
(fma.f32 %694 cosTheta_O %711)
(+.f32 (*.f32 %694 cosTheta_O) %711)
(+.f32 (*.f32 cosTheta_O %694) %709)
%723
%724
(*.f32 sinTheta_O %725)
(/.f32 (/.f32 %2 cosTheta_i) v)
(*.f32 %664 %8)
(/.f32 %10 (neg.f32 %382))
(*.f32 %2 (/.f32 #s(literal 1 binary32) %382))
(/.f32 #s(literal 1 binary32) (/.f32 %382 %2))
%444
(/.f32 #s(literal -1 binary32) %206)
(*.f32 #s(literal 1 binary32) %444)
(/.f32 #s(literal 1 binary32) (/.f32 cosTheta_i #s(literal 1 binary32)))
(pow.f32 cosTheta_i #s(literal -1 binary32))
%741
(*.f32 #s(literal 2 binary32) %444)
(*.f32 %444 #s(literal 2 binary32))
(+.f32 %444 %444)
(fma.f32 #s(literal 1 binary32) %444 %444)
%746
(fma.f32 %724 #s(literal 2 binary32) %741)
(*.f32 #s(literal 2 binary32) (fma.f32 sinTheta_O %725 %444))
(+.f32 %741 %750)
(+.f32 %750 %741)
(-.f32 %750 (neg.f32 %741))
(fma.f32 #s(literal 2 binary32) %444 %750)
(fma.f32 %444 #s(literal 2 binary32) %750)
(-.f32 %750 (*.f32 #s(literal -2 binary32) %444))
%759
(/.f32 (neg.f32 %746) %35)
(*.f32 %746 %222)
(/.f32 #s(literal 1 binary32) (/.f32 cosTheta_O %746))
(+.f32 (/.f32 %750 cosTheta_O) (/.f32 %741 cosTheta_O))
%768
%769
(*.f32 %746 v)
(fma.f32 v %750 %771)
(fma.f32 %750 v %773)
(+.f32 (*.f32 %750 v) %773)
(+.f32 (*.f32 v %750) %771)
(/.f32 %769 cosTheta_O)
%780
(/.f32 (neg.f32 %769) %35)
(*.f32 %769 %222)
(/.f32 #s(literal 1 binary32) (/.f32 cosTheta_O %769))
%787
%789
%790
(fma.f32 sinTheta_O sinTheta_i v)
(+.f32 v %2)
(+.f32 %2 v)
(-.f32 v %794)
(-.f32 v %10)
%797
(+.f32 %6 %384)
%799
(-.f32 %384 %800)
(/.f32 (fma.f32 %384 v sinTheta_O) v)
(fma.f32 sinTheta_O %14 %384)
(fma.f32 #s(literal 1 binary32) %384 %6)
(/.f32 %360 (*.f32 sinTheta_i v))
%808
(*.f32 %799 sinTheta_i)
(fma.f32 sinTheta_i %384 %5)
(fma.f32 %384 sinTheta_i %811)
(+.f32 (*.f32 %384 sinTheta_i) %811)
(+.f32 (*.f32 sinTheta_i %384) %5)
%818
%819
(*.f32 #s(literal 1/2 binary32) %384)
(*.f32 %384 #s(literal 1/2 binary32))
(fma.f32 %6 #s(literal -1/2 binary32) %819)
%823
(+.f32 %819 %824)
(+.f32 %824 %819)
(-.f32 %824 (neg.f32 %819))
(fma.f32 #s(literal 1/2 binary32) %384 %824)
(fma.f32 %384 #s(literal 1/2 binary32) %824)
(-.f32 %824 (*.f32 #s(literal -1/2 binary32) %384))
%833
(*.f32 %823 sinTheta_i)
(fma.f32 sinTheta_i %824 %835)
(fma.f32 %824 sinTheta_i %837)
(+.f32 (*.f32 %824 sinTheta_i) %837)
(+.f32 (*.f32 sinTheta_i %824) %835)
%845
%846
(/.f32 %568 cosTheta_i)
(/.f32 %139 %33)
(*.f32 sinTheta_O %217)
(/.f32 #s(literal 1 binary32) (*.f32 cosTheta_O %661))
%852
(/.f32 %29 %156)
(/.f32 %11 (neg.f32 %158))
(*.f32 v %856)
(/.f32 #s(literal 1 binary32) (*.f32 cosTheta_O %391))
%860
(*.f32 #s(literal 2 binary32) %852)
(*.f32 %852 #s(literal 2 binary32))
(+.f32 %852 %852)
(fma.f32 v %856 %852)
%866
(fma.f32 #s(literal 2 binary32) %846 %860)
(fma.f32 %846 #s(literal 2 binary32) %860)
(fma.f32 #s(literal 2 binary32) %852 %869)
(fma.f32 %852 #s(literal 2 binary32) %869)
(+.f32 %860 %869)
(+.f32 %869 %860)
(-.f32 %869 (*.f32 #s(literal -2 binary32) %852))
(-.f32 %869 (neg.f32 %860))
%878
(*.f32 %866 sinTheta_i)
(fma.f32 sinTheta_i %869 %880)
(fma.f32 %869 sinTheta_i %882)
(+.f32 (*.f32 %869 sinTheta_i) %882)
(+.f32 (*.f32 sinTheta_i %869) %880)
%888
%154
(/.f32 %11 %151)
(*.f32 v %384)
(/.f32 #s(literal 1 binary32) %8)
(+.f32 %154 %139)
%893
(-.f32 %139 (neg.f32 %154))
(fma.f32 sinTheta_O #s(literal -1 binary32) %154)
(fma.f32 #s(literal -1 binary32) sinTheta_O %154)
(/.f32 (fma.f32 %139 sinTheta_i v) sinTheta_i)
(fma.f32 v %384 %139)
%901
(*.f32 %893 sinTheta_i)
(fma.f32 sinTheta_i %139 %903)
(fma.f32 %139 sinTheta_i %905)
(+.f32 %794 %905)
(+.f32 (*.f32 sinTheta_i %139) %903)
%914
%915
(*.f32 #s(literal 1/2 binary32) %397)
(*.f32 %397 #s(literal 1/2 binary32))
(fma.f32 %8 #s(literal -1/2 binary32) %915)
%919
(+.f32 %915 %920)
(+.f32 %920 %915)
(-.f32 %920 (neg.f32 %915))
(fma.f32 #s(literal 1/2 binary32) %397 %920)
(fma.f32 %397 #s(literal 1/2 binary32) %920)
(-.f32 %920 (*.f32 #s(literal -1/2 binary32) %397))
%929
(*.f32 %919 sinTheta_O)
(fma.f32 sinTheta_O %920 %931)
(fma.f32 %920 sinTheta_O %933)
(+.f32 (*.f32 %920 sinTheta_O) %933)
(+.f32 (*.f32 sinTheta_O %920) %931)
%939
%940
(+.f32 %142 %151)
(-.f32 %151 (neg.f32 %142))
(fma.f32 sinTheta_i #s(literal -1 binary32) %142)
(fma.f32 #s(literal -1 binary32) sinTheta_i %142)
(/.f32 (fma.f32 %151 sinTheta_O v) sinTheta_O)
(fma.f32 v %397 %151)
%949
(*.f32 %940 sinTheta_O)
(fma.f32 sinTheta_O %151 %951)
(fma.f32 %151 sinTheta_O %953)
(+.f32 %165 %953)
(+.f32 (*.f32 sinTheta_O %151) %951)
%958
%959
(/.f32 (neg.f32 %697) %11)
(*.f32 %697 %14)
(/.f32 #s(literal 1 binary32) (/.f32 v %697))
(fma.f32 #s(literal -1/2 binary32) %336 %965)
(fma.f32 %336 #s(literal -1/2 binary32) %965)
(+.f32 %344 %965)
%973
%974
(/.f32 (neg.f32 %893) %11)
(*.f32 %893 %14)
(+.f32 %800 %978)
(/.f32 #s(literal 1 binary32) (/.f32 v %893))
(fma.f32 #s(literal -1 binary32) %6 %978)
(fma.f32 %6 #s(literal -1 binary32) %978)
%988
%989
(/.f32 (neg.f32 %940) %11)
(*.f32 %940 %14)
(+.f32 (neg.f32 %8) %994)
(/.f32 #s(literal 1 binary32) (/.f32 v %940))
(fma.f32 #s(literal -1 binary32) %8 %994)
(fma.f32 %8 #s(literal -1 binary32) %994)
%1004
%1007
%1008
(*.f32 %347 v)
(fma.f32 v %344 %1010)
(fma.f32 %344 v %691)
(+.f32 (*.f32 %344 v) %691)
(+.f32 (*.f32 v %344) %1010)
%1018
%22
%24
%26
%27
%28
%30
%32
%34
%37
%39
%40
%41
%42
%44
%46
%49
%51
%52
%66
%67
%68
%70
%72
%74
%76
%77
%69
%82
%83
%85
%87
%92
%94
%95
%97
%99
%102
%104
%107
%43
%212
%213
%214
%216
%218
%219
%220
%221
%223
%225
%227
%228
%217
(/.f32 %222 cosTheta_i)
(/.f32 %444 cosTheta_O)
(/.f32 #s(literal -1 binary32) %33)
(*.f32 #s(literal 1 binary32) %217)
(/.f32 #s(literal 1 binary32) (/.f32 %20 #s(literal 1 binary32)))
(pow.f32 %20 #s(literal -1 binary32))
%43
%212
%213
%214
%216
%218
%219
%220
%221
%223
%225
%227
%228
%43
%212
%213
%214
%216
%218
%219
%220
%221
%223
%225
%227
%228
%239
%240
%241
%243
%244
%246
%248
%250
%483
(/.f32 %25 %66)
(/.f32 (neg.f32 %25) %316)
(*.f32 %25 %71)
(/.f32 #s(literal 1 binary32) (/.f32 %66 %25))
%480
%482
%484
%485
%487
%488
%490
%492
%494
%496
%497
%499
%500
%502
%504
%506
%508
%510
%511
%512
%513
%515
%517
%518
%489
(/.f32 %38 %66)
(*.f32 cosTheta_i (*.f32 cosTheta_O %71))
(*.f32 %20 %71)
(*.f32 %71 %20)
%480
%482
%484
%485
%487
%488
%490
%492
%494
%496
%497
%499
%500
%502
%504
%506
%508
%510
%511
%512
%513
%515
%517
%518
%323
(/.f32 %23 %108)
(/.f32 %427 %327)
(*.f32 %23 %329)
(/.f32 #s(literal 1 binary32) (/.f32 %108 %23))
%322
%324
%325
%326
%328
%330
%332
%1042
%1043
%1044
%1046
%1047
%1049
%1050
%1051
%1053
%1054
%1055
%1056
%1057
%1058
%254
%1059
%1060
%1061
%1063
%1064
%1066
%1067
%1068
%1070
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%264
%1072
%1073
%1074
%1075
%1076
%1078
(/.f32 %20 %69)
%265
(*.f32 %264 cosTheta_O)
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%267
(/.f32 %25 v)
(/.f32 %206 %296)
(*.f32 cosTheta_i %301)
(/.f32 #s(literal 1 binary32) %472)
%272
(/.f32 %493 #s(literal 2 binary32))
(/.f32 %35 %373)
(*.f32 cosTheta_O %86)
(/.f32 #s(literal 1 binary32) %282)
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%254
%1059
%1060
%1061
%1063
%1064
%1066
%1067
%1068
%1070
%264
%1072
%1073
%1074
%1075
%1076
%1078
(/.f32 %242 cosTheta_i)
%472
(/.f32 %296 %206)
(*.f32 %242 %444)
(/.f32 #s(literal 1 binary32) %267)
(/.f32 %69 cosTheta_O)
%282
(/.f32 %373 %35)
(*.f32 %69 %222)
(/.f32 #s(literal 1 binary32) %272)
%298
%465
%467
%469
%471
%474
%475
%476
%477
%478
%479
%1097
%1098
%1099
%1100
%1101
%1102
%1103
%1105
%1107
%1108
%1109
%1111
%1097
%1098
%1099
%1100
%1101
%1102
%1103
%1105
%1107
%1108
%1109
%1111
(*.f32 v %1112)
(*.f32 %109 %229)
%1115
(*.f32 (*.f32 %229 %66) %108)
%1118
%1120
%1121
%1124
%1126
%1128
%1129
%1131
%1133
%1135
%1137
%1140
%1143
%1146
%1148
%1149
%1150
%1151
%1152
%1153
%1154
%1156
%1158
%1160
%1163
%1165
%1167
%1168
%1169
%1171
%1173
%1175
%1177
%1180
%1181
%1183
%1185
%1187
%1188
%1190
%1192
%1194
%1195
%1198
%1199
%1202
%1204
%1206
%1208
%1210
%1212
%1214
%1215
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%1220
%1221
%1221
%1222
%1222
%1222
%1097
%1098
%1099
%1100
%1101
%1102
%1103
%1105
%1107
%1108
%1109
%1111
%1221
%1223
%1228
%1229
(approx %1219 %1229)
%1231
%1231
%1231
%1231
%1231
%1232
%1233
%1222
%480
%482
%484
%485
%487
%488
%490
%492
%494
%496
%497
%499
%500
%502
%504
%506
%508
%510
%511
%512
%513
%515
%517
%518
%1222
%1232
%1233
%1222
%1234
%1222
%1235
%1236
(/.f32 #s(literal 1 binary32) %1236)
%1238
%1232
%1233
%1238
%1220
%1220
%1220
%1220
%1220
%1220
%1220
(*.f32 %1018 %261)
%1240
%1245
(/.f32 #s(literal 1 binary32) %1245)
%1247
%1248
(/.f32 #s(literal 1 binary32) %1248)
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%1220
%1250
(/.f32 #s(literal 1 binary32) %1250)
%1252
(/.f32 #s(literal 1 binary32) %1252)
%1254
%1255
%1256
(/.f32 #s(literal 1 binary32) %1256)
%1258
%1259
%1260
(approx %1219 %1260)
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%1220
%1262
(approx %1219 %1262)
%1234
%480
%482
%484
%485
%487
%488
%490
%492
%494
%496
%497
%499
%500
%502
%504
%506
%508
%510
%511
%512
%513
%515
%517
%518
%1222
%1264
%1265
(approx %1219 %1265)
%239
%240
%241
%243
%244
%246
%248
%250
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%1220
%239
%240
%241
%243
%244
%246
%248
%250
%254
%1059
%1060
%1061
%1063
%1064
%1066
%1067
%1068
%1070
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%1220
%239
%240
%241
%243
%244
%246
%248
%250
%264
%1072
%1073
%1074
%1075
%1076
%1078
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%1220
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%1220
%1097
%1098
%1099
%1100
%1101
%1102
%1103
%1105
%1107
%1108
%1109
%1111
%1221
%1267
%1269
%1270
%1271
(/.f32 %1271 %109)
%1273
(/.f32 %1273 %109)
%1275
(/.f32 %1275 %109)
%254
%1059
%1060
%1061
%1063
%1064
%1066
%1067
%1068
%1070
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%1220
%251
%253
%255
%256
%257
%258
%260
%263
%266
%269
%271
%274
%276
%277
%278
%279
%280
%283
%285
%287
%289
%290
%292
%293
%294
%297
%299
%300
%302
%304
%306
%308
%309
%1220
%1222
%1277
%1278
%1279
%1280
(/.f32 %1280 %109)
%1042
%1043
%1044
%1046
%1047
%1049
%1050
%1051
%1053
%1054
%1055
%1056
%1057
%1058
%1282
%1283
%1042
%1043
%1044
%1046
%1047
%1049
%1050
%1051
%1053
%1054
%1055
%1056
%1057
%1058
%1282
%1283
%1042
%1043
%1044
%1046
%1047
%1049
%1050
%1051
%1053
%1054
%1055
%1056
%1057
%1058
%1282
%1283
%22
%24
%26
%27
%28
%30
%32
%34
%37
%39
%40
%41
%42
%44
%46
%49
%51
%52
%1097
%1098
%1099
%1100
%1101
%1102
%1103
%1105
%1107
%1108
%1109
%1111
%1221
%322
%324
%325
%326
%328
%330
%332
%1118
%1120
%1121
%1124
%1126
%1128
%1129
%1131
%1133
%1135
%1137
%1140
%1143
%1146
%1148
%1149
%1150
%1151
%1152
%1153
%1154
%1156
%1158
%1160
%1163
%1165
%1167
%1168
%1169
%1171
%1173
%1175
%1177
%1180
%1181
%1183
%1185
%1187
%1188
%1190
%1192
%1194
%1195
%1198
%1199
%1202
%1204
%1206
%1208
%1210
%1212
%1214
%1215
%22
%24
%26
%27
%28
%30
%32
%34
%37
%39
%40
%41
%42
%44
%46
%49
%51
%52
%1097
%1098
%1099
%1100
%1101
%1102
%1103
%1105
%1107
%1108
%1109
%1111
%1221
%1285
(*.f32 %22 %1285)
%1287
(*.f32 %22 %1287)
%1289
(*.f32 %1289 %324)
%1291
(*.f32 %1291 %324)
%1293
%1294
(/.f32 %1294 %109)
%1296
%1297
%1298
(approx %1219 %1298)
%1097
%1098
%1099
%1100
%1101
%1102
%1103
%1105
%1107
%1108
%1109
%1111
%1221
%1282
%1283
%1300
%1301
(/.f32 %1301 v)
%1303
%1304
%1305
(approx %1219 %1305)
%381
%1234

reconstruct1.5s (3.5%)

Counts
3 005 → 1 736
Compiler

Compiled 3 005 to 3 315 computations (-10.3% saved)

eval779.0ms (1.8%)

Compiler

Compiled 1 854 to 5 521 computations (-197.8% saved)

prune435.0ms (1.0%)

Pruning

117 alts after pruning (77 fresh and 40 done)

PrunedKeptTotal
New1 777771 854
Fresh000
Picked383674
Done145
Total1 8161171 933
Accuracy
99.8%
Counts
1 933 → 117
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.2%
(/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) (approx (* v (exp (/ (* sinTheta_i sinTheta_O) v))) (approx (+ v (* sinTheta_O sinTheta_i)) (*.f32 sinTheta_O (+.f32 sinTheta_i (/.f32 v sinTheta_O)))))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))
98.4%
(/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) (approx (* v (exp (/ (* sinTheta_i sinTheta_O) v))) v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))
58.9%
%16 = (* (sinh (/ 1 v)) 2)
(/.f32 (*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) %16) (/.f32 #s(literal 1 binary32) (approx %16 (/.f32 #s(literal 2 binary32) v)))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) v)
58.9%
(/.f32 (*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (/.f32 cosTheta_O (/.f32 v cosTheta_i))) v)
59.5%
(/.f32 (*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (/.f32 #s(literal 1 binary32) (/.f32 v (*.f32 cosTheta_i cosTheta_O)))) v)
59.5%
(/.f32 (*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (/.f32 #s(literal 1 binary32) (*.f32 (/.f32 v cosTheta_i) (/.f32 #s(literal 1 binary32) cosTheta_O)))) v)
59.5%
(/.f32 (*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (/.f32 #s(literal 1 binary32) (*.f32 v (/.f32 #s(literal 1 binary32) (*.f32 cosTheta_i cosTheta_O))))) v)
58.9%
(/.f32 (*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) v)
98.5%
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (approx (+ 1 (* -1 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_i (approx (+ (* -1 (/ sinTheta_O v)) (/ 1 sinTheta_i)) (/.f32 (fma.f32 #s(literal -1 binary32) sinTheta_O (/.f32 v sinTheta_i)) v))))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (expm1.f32 (*.f32 (/.f32 #s(literal 1 binary32) v) #s(literal 2 binary32))) (exp.f32 (/.f32 #s(literal -1 binary32) v))) v))
98.6%
%21 = (/.f32 #s(literal 1 binary32) v)
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (approx (+ 1 (* -1 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_i (approx (+ (* -1 (/ sinTheta_O v)) (/ 1 sinTheta_i)) (/.f32 (fma.f32 #s(literal -1 binary32) sinTheta_O (/.f32 v sinTheta_i)) v))))) (*.f32 (*.f32 cosTheta_i cosTheta_O) %21)) (*.f32 (*.f32 (sinh.f32 %21) #s(literal 2 binary32)) v))
98.2%
%21 = (/.f32 #s(literal 1 binary32) v)
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (approx (+ 1 (* -1 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_O (approx (+ (* -1 (/ sinTheta_i v)) (/ 1 sinTheta_O)) (/.f32 (fma.f32 #s(literal -1 binary32) sinTheta_i (/.f32 v sinTheta_O)) v))))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (/.f32 (expm1.f32 (*.f32 %21 #s(literal 2 binary32))) (exp.f32 %21)) v))
98.3%
%21 = (/.f32 #s(literal 1 binary32) v)
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (approx (+ 1 (* -1 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_O (approx (+ (* -1 (/ sinTheta_i v)) (/ 1 sinTheta_O)) (/.f32 (fma.f32 #s(literal -1 binary32) sinTheta_i (/.f32 v sinTheta_O)) v))))) (*.f32 (*.f32 cosTheta_i cosTheta_O) %21)) (*.f32 (*.f32 (sinh.f32 %21) #s(literal 2 binary32)) v))
98.0%
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (approx (+ 1 (* -1 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_O (approx (+ (* -1 (/ sinTheta_i v)) (/ 1 sinTheta_O)) (/.f32 (approx (+ (* -1 sinTheta_i) (/ v sinTheta_O)) (/.f32 v sinTheta_O)) v))))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
98.6%
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 v (exp.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))))
98.5%
(/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (approx (* v (exp (/ (* sinTheta_i sinTheta_O) v))) (+.f32 v (*.f32 sinTheta_O sinTheta_i))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))))
92.5%
(/.f32 #s(literal 1 binary32) (/.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (approx (exp (/ (* sinTheta_i sinTheta_O) v)) (approx (+ 1 (/ (* sinTheta_O sinTheta_i) v)) (*.f32 sinTheta_i (approx (+ (/ 1 sinTheta_i) (/ sinTheta_O v)) (/.f32 (+.f32 sinTheta_O (/.f32 v sinTheta_i)) v))))))))
59.5%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (/.f32 (+.f32 v v) (*.f32 cosTheta_i cosTheta_O))))
59.5%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (/.f32 #s(literal 2 binary32) (/.f32 (*.f32 cosTheta_i cosTheta_O) v))))
59.6%
%139 = (* sinTheta_O sinTheta_i)
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 v (approx (+ (* 2 (/ %139 (* cosTheta_O (* cosTheta_i v)))) (* 2 (/ 1 (* cosTheta_O cosTheta_i)))) (/.f32 (approx (+ (* 2 (/ %139 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O))) (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 v cosTheta_O) (*.f32 #s(literal 2 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) cosTheta_O))) v)) cosTheta_i)))))
59.6%
%139 = (* sinTheta_O sinTheta_i)
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 v (approx (+ (* 2 (/ %139 (* cosTheta_O (* cosTheta_i v)))) (* 2 (/ 1 (* cosTheta_O cosTheta_i)))) (approx (/ (+ (* 2 (/ %139 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O))) cosTheta_i) (/.f32 #s(literal 2 binary32) (*.f32 cosTheta_O cosTheta_i)))))))
59.5%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 #s(literal 2 binary32) (/.f32 (*.f32 v (/.f32 #s(literal 1 binary32) cosTheta_i)) cosTheta_O))))
59.5%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) (*.f32 (*.f32 cosTheta_i cosTheta_O) (/.f32 #s(literal 1 binary32) v))))))
59.5%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 #s(literal 2 binary32) (*.f32 v (/.f32 (/.f32 #s(literal 1 binary32) cosTheta_i) cosTheta_O)))))
56.7%
%139 = (* sinTheta_O sinTheta_i)
%244 = (* cosTheta_i v)
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (approx (* v (+ (* 2 (/ %139 (* cosTheta_O %244))) (* 2 (/ 1 (* cosTheta_O cosTheta_i))))) (/.f32 (approx (* v (+ (* 2 (/ %139 %244)) (* 2 (/ 1 cosTheta_i)))) (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O cosTheta_i) (*.f32 #s(literal 2 binary32) (/.f32 v (*.f32 cosTheta_i sinTheta_i)))))) cosTheta_O))))
59.5%
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (approx (* v (+ (* 2 (/ (* sinTheta_O sinTheta_i) (* cosTheta_O (* cosTheta_i v)))) (* 2 (/ 1 (* cosTheta_O cosTheta_i))))) (*.f32 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 (*.f32 sinTheta_i sinTheta_O) (*.f32 cosTheta_i v)) (/.f32 #s(literal 2 binary32) cosTheta_i))) (/.f32 #s(literal 1 binary32) cosTheta_O)))))
98.5%
(*.f32 (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) v))))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
98.4%
(*.f32 (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
98.5%
(*.f32 (/.f32 (/.f32 cosTheta_O (/.f32 v cosTheta_i)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
98.5%
%21 = (/.f32 #s(literal 1 binary32) v)
(*.f32 (/.f32 (*.f32 cosTheta_i (*.f32 cosTheta_O %21)) (sinh.f32 %21)) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
58.9%
%4 = (/ (* sinTheta_i sinTheta_O) v)
(*.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (approx (/ (/ (exp (neg %4)) (sinh (/ 1 v))) (* 2 v)) (approx (+ 1/2 (* -1/2 %4)) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) (/.f32 sinTheta_O v) (/.f32 #s(literal 1/2 binary32) sinTheta_i))))))
58.8%
(*.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) (+ v v))) (approx (+ 1/2 (* -1/2 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_O (approx (+ (* -1/2 (/ sinTheta_i v)) (* 1/2 (/ 1 sinTheta_O))) (/.f32 (fma.f32 #s(literal -1/2 binary32) sinTheta_i (*.f32 #s(literal 1/2 binary32) (/.f32 v sinTheta_O))) v))))))
58.8%
(*.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) (+ v v))) (approx (+ 1/2 (* -1/2 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_O (approx (+ (* -1/2 (/ sinTheta_i v)) (* 1/2 (/ 1 sinTheta_O))) (/.f32 #s(literal 1/2 binary32) sinTheta_O))))))
98.5%
(*.f32 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i v)) (sinh.f32 (/.f32 #s(literal 1 binary32) v))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
58.9%
(*.f32 (/.f32 (approx (* (* cosTheta_i cosTheta_O) (/ 1 (sinh (/ 1 v)))) (*.f32 cosTheta_O (*.f32 cosTheta_i v))) v) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
98.4%
(*.f32 (/.f32 cosTheta_O (*.f32 (/.f32 v cosTheta_i) (sinh.f32 (/.f32 #s(literal 1 binary32) v)))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
59.5%
(*.f32 (/.f32 #s(literal 1 binary32) (/.f32 v (*.f32 cosTheta_i cosTheta_O))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) (+ v v))) (approx (+ 1/2 (* -1/2 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) (/.f32 sinTheta_O v) (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) sinTheta_i)))))))
98.1%
%21 = (/.f32 #s(literal 1 binary32) v)
(*.f32 (*.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) (sinh.f32 %21)) %21) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
98.3%
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v (sinh.f32 (/.f32 #s(literal 1 binary32) v))))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
58.9%
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) (+ v v))) (approx (+ 1/2 (* -1/2 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) (/.f32 sinTheta_O v) (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) sinTheta_i)))))))
58.8%
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) (+ v v))) (approx (+ 1/2 (* -1/2 (/ (* sinTheta_O sinTheta_i) v))) (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 sinTheta_i v) (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) sinTheta_O)))))))
98.5%
(*.f32 (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (sinh.f32 (/.f32 #s(literal 1 binary32) v)))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
98.3%
(*.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 v (sinh.f32 (/.f32 #s(literal 1 binary32) v))))) (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (+ v v)) (/.f32 #s(literal 1/2 binary32) v)))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) v))
59.3%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 v (/.f32 v cosTheta_i)) cosTheta_O)))
59.3%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (/.f32 #s(literal 1 binary32) (*.f32 (/.f32 v cosTheta_i) (/.f32 v cosTheta_O))))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (*.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 #s(literal 1 binary32) v)))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (*.f32 (/.f32 cosTheta_i v) (/.f32 cosTheta_O v)))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (*.f32 (/.f32 cosTheta_i v) (/.f32 #s(literal 1 binary32) (/.f32 v cosTheta_O))))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (*.f32 (/.f32 #s(literal 1 binary32) (/.f32 v cosTheta_i)) (/.f32 cosTheta_O v)))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (*.f32 (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) v)) (/.f32 cosTheta_O v)))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v v))))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 v (/.f32 cosTheta_O v)))))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (* (sinh (/ 1 v)) 2)) (*.f32 #s(literal 1/2 binary32) v)) (*.f32 cosTheta_i (*.f32 (/.f32 cosTheta_O v) (/.f32 #s(literal 1 binary32) v))))
98.3%
%82 = (exp.f32 (/.f32 #s(literal 1 binary32) v))
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (sinh (/ 1 v))) (/.f32 #s(literal 2 binary32) (-.f32 %82 (/.f32 #s(literal 1 binary32) %82)))) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 (+.f32 v v) (/.f32 cosTheta_O v)))))
98.4%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (sinh (/ 1 v))) (/.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) v)))) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (+.f32 v v)))
98.3%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (sinh (/ 1 v))) (/.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) v)))) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (+.f32 v v)))
98.4%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (sinh (/ 1 v))) (/.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) v)))) (*.f32 cosTheta_i (/.f32 (/.f32 cosTheta_O v) (+.f32 v v))))
58.9%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (sinh (/ 1 v))) (approx (* -1 (* v (- (/ (* sinTheta_O sinTheta_i) v) 1))) (*.f32 sinTheta_i (fma.f32 v (/.f32 #s(literal 1 binary32) sinTheta_i) (neg.f32 sinTheta_O))))) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (+.f32 v v)))
59.4%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (sinh (/ 1 v))) (approx (* -1 (* v (- (/ (* sinTheta_O sinTheta_i) v) 1))) (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) sinTheta_O (/.f32 v sinTheta_i))))) (/.f32 #s(literal 1 binary32) (/.f32 (+.f32 v v) (/.f32 (*.f32 cosTheta_i cosTheta_O) v))))
32.3%
(*.f32 (approx (/ (exp (* (neg sinTheta_i) (/ sinTheta_O v))) (sinh (/ 1 v))) (approx (* -1 (* v (- (/ (* sinTheta_O sinTheta_i) v) 1))) (*.f32 sinTheta_i (approx (+ (* -1 sinTheta_O) (/ v sinTheta_i)) (*.f32 sinTheta_O (-.f32 (/.f32 v (*.f32 sinTheta_O sinTheta_i)) #s(literal 1 binary32))))))) (/.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (+.f32 v v)))
58.9%
%4 = (/ (* sinTheta_i sinTheta_O) v)
(*.f32 (approx (/ (exp (neg %4)) (sinh (/ 1 v))) (approx (neg (* v (+ %4 -1))) (*.f32 sinTheta_i (+.f32 (neg.f32 sinTheta_O) (/.f32 v sinTheta_i))))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v (+.f32 v v)))))
97.4%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) v) v))
98.4%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (/.f32 cosTheta_i (*.f32 v v)) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (/.f32 #s(literal 2 binary32) cosTheta_O))))
98.4%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v v))) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))
98.5%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 v v) (/.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) (sinh.f32 (/.f32 #s(literal 1 binary32) v)))))))
98.4%
%21 = (/.f32 #s(literal 1 binary32) v)
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 v v) (-.f32 (/.f32 (exp.f32 (*.f32 %21 #s(literal 2 binary32))) (exp.f32 %21)) (exp.f32 (/.f32 #s(literal -1 binary32) v))))))
98.5%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 v v) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
58.9%
%16 = (* (sinh (/ 1 v)) 2)
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* %16 v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 (*.f32 v v) (approx %16 (/.f32 #s(literal 2 binary32) v)))))
98.4%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))))
97.4%
%21 = (/.f32 #s(literal 1 binary32) v)
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 (exp.f32 %21) (expm1.f32 (*.f32 %21 #s(literal 2 binary32))))))) (*.f32 v v)))
97.4%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))) (*.f32 v v)))
58.9%
%16 = (* (sinh (/ 1 v)) 2)
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* %16 v)) (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i (approx %16 (/.f32 #s(literal 2 binary32) v)))) (*.f32 v v)))
92.3%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))) (*.f32 cosTheta_i cosTheta_O))))
98.5%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (/.f32 (/.f32 cosTheta_i v) v) (/.f32 cosTheta_O (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
98.4%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (/.f32 cosTheta_i (*.f32 v v)) (/.f32 cosTheta_O (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
58.9%
%16 = (* (sinh (/ 1 v)) 2)
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* %16 v)) (*.f32 (/.f32 cosTheta_i (*.f32 v v)) (/.f32 cosTheta_O (approx %16 (/.f32 #s(literal 2 binary32) v)))))
58.9%
%16 = (* (sinh (/ 1 v)) 2)
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* %16 v)) (*.f32 (/.f32 cosTheta_i (*.f32 v v)) (approx (/ cosTheta_O %16) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O v)))))
98.5%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (*.f32 v v))) (/.f32 cosTheta_O (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
98.6%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i (/.f32 (/.f32 cosTheta_O v) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))))
98.4%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 (*.f32 v v) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))))
98.5%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))))))
98.3%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))) (*.f32 v v))))
98.5%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))))
98.4%
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i cosTheta_O)) v))
58.9%
%140 = (* cosTheta_i (* sinTheta_O sinTheta_i))
%141 = (* cosTheta_O %140)
%244 = (* cosTheta_i v)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ %141 v)) (* 1/2 (* cosTheta_O cosTheta_i))) (/.f32 (approx (+ (* -1/2 %141) (* 1/2 (* cosTheta_O %244))) (*.f32 cosTheta_O (approx (+ (* -1/2 %140) (* 1/2 %244)) (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_i sinTheta_i) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_i v) sinTheta_O))))))) v)) v))
58.9%
%140 = (* cosTheta_i (* sinTheta_O sinTheta_i))
%141 = (* cosTheta_O %140)
%244 = (* cosTheta_i v)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ %141 v)) (* 1/2 (* cosTheta_O cosTheta_i))) (/.f32 (approx (+ (* -1/2 %141) (* 1/2 (* cosTheta_O %244))) (approx (* cosTheta_O (+ (* -1/2 %140) (* 1/2 %244))) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (*.f32 cosTheta_i v))))) v)) v))
58.8%
%145 = (* cosTheta_O cosTheta_i)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 %145)) (*.f32 sinTheta_O (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) v)) (* 1/2 (/ %145 sinTheta_O))) (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_i sinTheta_i) v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i sinTheta_O))))))) v))
40.1%
%145 = (* cosTheta_O cosTheta_i)
%148 = (* cosTheta_i sinTheta_i)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 %145)) (*.f32 sinTheta_O (approx (+ (* -1/2 (/ (* cosTheta_O %148) v)) (* 1/2 (/ %145 sinTheta_O))) (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %148 v)) (* 1/2 (/ cosTheta_i sinTheta_O))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) (/.f32 cosTheta_i v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i (*.f32 sinTheta_O sinTheta_i)))))))))) v))
53.3%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 (* cosTheta_O cosTheta_i))) (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (approx sinTheta_i #s(literal 0 binary32))))) v))) v))
57.2%
%145 = (* cosTheta_O cosTheta_i)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 %145)) (approx (* sinTheta_O (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) v)) (* 1/2 (/ %145 sinTheta_O)))) (*.f32 (*.f32 cosTheta_i sinTheta_O) (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_O (/.f32 sinTheta_i v)) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O sinTheta_O)))))) v))
58.9%
%145 = (* cosTheta_O cosTheta_i)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 %145)) (approx (* sinTheta_O (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) v)) (* 1/2 (/ %145 sinTheta_O)))) (*.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O sinTheta_i) v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O sinTheta_O))))))) v))
58.9%
%145 = (* cosTheta_O cosTheta_i)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 %145)) (approx (* sinTheta_O (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) v)) (* 1/2 (/ %145 sinTheta_O)))) (*.f32 cosTheta_i (*.f32 sinTheta_O (approx (+ (* -1/2 (/ (* cosTheta_O sinTheta_i) v)) (* 1/2 (/ cosTheta_O sinTheta_O))) (/.f32 (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_O sinTheta_i) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O v) sinTheta_O))) v)))))) v))
39.6%
%145 = (* cosTheta_O cosTheta_i)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (approx (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i (* sinTheta_O sinTheta_i))) v)) (* 1/2 %145)) (approx (* sinTheta_O (+ (* -1/2 (/ (* cosTheta_O (* cosTheta_i sinTheta_i)) v)) (* 1/2 (/ %145 sinTheta_O)))) (*.f32 cosTheta_i (*.f32 sinTheta_O (approx (+ (* -1/2 (/ (* cosTheta_O sinTheta_i) v)) (* 1/2 (/ cosTheta_O sinTheta_O))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) (/.f32 cosTheta_O v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O (*.f32 sinTheta_O sinTheta_i)))))))))) v))
59.5%
%16 = (* (sinh (/ 1 v)) 2)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* %16 v)) (/.f32 #s(literal 1 binary32) (*.f32 (/.f32 (*.f32 v v) cosTheta_i) (approx (/ %16 cosTheta_O) (/.f32 #s(literal 2 binary32) (*.f32 cosTheta_O v))))))
58.9%
%13 = (/ 1 v)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh %13) 2) v)) (*.f32 (/.f32 (/.f32 cosTheta_O v) v) (approx (/ cosTheta_i (- (exp %13) (exp (neg %13)))) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i v)))))
98.4%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (/.f32 cosTheta_O (*.f32 v v)) (/.f32 cosTheta_i (-.f32 (exp.f32 (/.f32 #s(literal 1 binary32) v)) (exp.f32 (/.f32 #s(literal -1 binary32) v))))))
98.4%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (/.f32 cosTheta_O (*.f32 v v)) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))))
58.9%
%13 = (/ 1 v)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh %13) 2) v)) (*.f32 (/.f32 cosTheta_O (*.f32 v v)) (approx (/ cosTheta_i (- (exp %13) (exp (neg %13)))) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i v)))))
58.9%
%13 = (/ 1 v)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh %13) 2) v)) (*.f32 (*.f32 cosTheta_O (/.f32 #s(literal 1 binary32) (*.f32 v v))) (approx (/ cosTheta_i (- (exp %13) (exp (neg %13)))) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i v)))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i cosTheta_O)) (/.f32 #s(literal 1 binary32) v)))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_i) (/.f32 cosTheta_O v)))
98.3%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_O (/.f32 (/.f32 (/.f32 cosTheta_i v) v) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)))))
98.3%
%13 = (/ 1 v)
%80 = (exp %13)
%82 = (exp.f32 (/.f32 #s(literal 1 binary32) v))
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh %13) 2) v)) (*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 (*.f32 v v) (/.f32 (-.f32 (approx (* %80 %80) (pow.f32 %82 #s(literal 2 binary32))) #s(literal 1 binary32)) %82)))))
98.4%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 (*.f32 v v) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32))))))
58.9%
%16 = (* (sinh (/ 1 v)) 2)
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* %16 v)) (*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 (*.f32 v v) (approx %16 (/.f32 #s(literal 2 binary32) v))))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i (/.f32 v cosTheta_O))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O (/.f32 v cosTheta_i))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O (*.f32 v (/.f32 #s(literal 1 binary32) cosTheta_i)))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 cosTheta_O v))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 v cosTheta_O)))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (/.f32 cosTheta_O v))))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (*.f32 v (/.f32 #s(literal 1 binary32) cosTheta_O))))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (*.f32 cosTheta_O (/.f32 #s(literal 1 binary32) v)))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (/.f32 cosTheta_i v))))
58.9%
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) v)))))
Compiler

Compiled 117 to 439 computations (-275.2% saved)

regimes5.1s (11.8%)

Accuracy

Total 2.2b remaining (1.8%)

Threshold costs 2.2b (1.8%)

0.3b-0.0%
0.3b-0.0%
0.3b0.0%
0.2b0.0%
0.2b0.0%

Counts
1 → 1
2 → 1
3 → 1
5 → 1
12 → 1
13 → 1
17 → 1
96 → 1
98 → 1
99 → 1
100 → 1
105 → 1
106 → 1
134 → 1
149 → 1
179 → 1
201 → 1
Calls
Call 1
Inputs
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (/.f32 cosTheta_i v))))
Outputs
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (/.f32 cosTheta_i v))))
Call 2
Inputs
%18 = (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (/.f32 cosTheta_i v))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 cosTheta_O v))))
Outputs
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 cosTheta_O v))))
Call 3
Inputs
%18 = (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (/.f32 cosTheta_i v))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 cosTheta_O v))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O cosTheta_i) v)))
Outputs
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O cosTheta_i) v)))
Call 4
Inputs
%18 = (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v))
%24 = (/.f32 cosTheta_O v)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (/.f32 cosTheta_i v))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i %24)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O cosTheta_i) v)))
(approx %18 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_i) %24))
(approx %18 (/.f32 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i cosTheta_O)) v))
Outputs
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (/.f32 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i cosTheta_O)) v))
Call 5
Inputs
%18 = (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v))
%24 = (/.f32 cosTheta_O v)
%35 = (*.f32 cosTheta_i cosTheta_O)
%36 = (*.f32 #s(literal 1/2 binary32) %35)
%52 = (/.f32 #s(literal 1 binary32) v)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (/.f32 cosTheta_i v))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i %24)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O cosTheta_i) v)))
(approx %18 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_i) %24))
(approx %18 (/.f32 %36 v))
(approx %18 (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O (/.f32 v cosTheta_i))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i (/.f32 v cosTheta_O))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (*.f32 cosTheta_i %52))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (*.f32 cosTheta_O %52))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 %35 %52)))
(approx %18 (*.f32 %36 %52))
Outputs
(approx (/ (* (exp (neg (/ (* sinTheta_i sinTheta_O) v))) (/ (* cosTheta_i cosTheta_O) v)) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i cosTheta_O)) (/.f32 #s(literal 1 binary32) v)))
Call 6
Inputs
%4 = (/ (* sinTheta_i sinTheta_O) v)
%10 = (/ (* cosTheta_i cosTheta_O) v)
%14 = (sinh (/ 1 v))
%18 = (/ (* (exp (neg %4)) %10) (* (* %14 2) v))
%24 = (/.f32 cosTheta_O v)
%35 = (*.f32 cosTheta_i cosTheta_O)
%36 = (*.f32 #s(literal 1/2 binary32) %35)
%52 = (/.f32 #s(literal 1 binary32) v)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (/.f32 cosTheta_i v))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i %24)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 cosTheta_O cosTheta_i) v)))
(approx %18 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_i) %24))
(approx %18 (/.f32 %36 v))
(approx %18 (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O (/.f32 v cosTheta_i))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i (/.f32 v cosTheta_O))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (*.f32 cosTheta_i %52))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (*.f32 cosTheta_O %52))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 %35 %52)))
(approx %18 (*.f32 %36 %52))
(/.f32 #s(literal 1 binary32) (approx (/ (* %14 (+ v v)) (/ %10 (exp %4))) (/.f32 (+.f32 v v) %35)))
Outputs
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (/.f32 (+.f32 v v) (*.f32 cosTheta_i cosTheta_O))))
Call 7
Inputs
%4 = (/ (* sinTheta_i sinTheta_O) v)
%10 = (/ (* cosTheta_i cosTheta_O) v)
%14 = (sinh (/ 1 v))
%18 = (/ (* (exp (neg %4)) %10) (* (* %14 2) v))
%24 = (/.f32 cosTheta_O v)
%28 = (*.f32 cosTheta_O cosTheta_i)
%35 = (*.f32 cosTheta_i cosTheta_O)
%36 = (*.f32 #s(literal 1/2 binary32) %35)
%47 = (/.f32 v cosTheta_O)
%52 = (/.f32 #s(literal 1 binary32) v)
%70 = (/ (* %14 (+ v v)) (/ %10 (exp %4)))
%89 = (* sinTheta_O sinTheta_i)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (/.f32 cosTheta_i v))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i %24)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 %28 v)))
(approx %18 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_i) %24))
(approx %18 (/.f32 %36 v))
(approx %18 (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O (/.f32 v cosTheta_i))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %47)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O (*.f32 cosTheta_i %52))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (*.f32 cosTheta_O %52))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 %35 %52)))
(approx %18 (*.f32 %36 %52))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 (+.f32 v v) %35)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) %47))))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O (*.f32 v (/.f32 #s(literal 1 binary32) cosTheta_i)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 v %28))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx (+ (* 2 (/ %89 (* cosTheta_O (* cosTheta_i v)))) (* 2 (/ 1 (* cosTheta_O cosTheta_i)))) (approx (/ (+ (* 2 (/ %89 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O))) cosTheta_i) (/.f32 #s(literal 2 binary32) %28))))))
Outputs
%19 = (* sinTheta_O sinTheta_i)
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 v (approx (+ (* 2 (/ %19 (* cosTheta_O (* cosTheta_i v)))) (* 2 (/ 1 (* cosTheta_O cosTheta_i)))) (approx (/ (+ (* 2 (/ %19 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O))) cosTheta_i) (/.f32 #s(literal 2 binary32) (*.f32 cosTheta_O cosTheta_i)))))))
Call 8
Inputs
%4 = (/ (* sinTheta_i sinTheta_O) v)
%6 = (exp (neg %4))
%9 = (* cosTheta_i cosTheta_O)
%10 = (/ %9 v)
%13 = (/ 1 v)
%14 = (sinh %13)
%16 = (* %14 2)
%17 = (* %16 v)
%18 = (/ (* %6 %10) %17)
%20 = (/.f32 cosTheta_i v)
%24 = (/.f32 cosTheta_O v)
%25 = (*.f32 cosTheta_i %24)
%28 = (*.f32 cosTheta_O cosTheta_i)
%32 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%35 = (*.f32 cosTheta_i cosTheta_O)
%36 = (*.f32 #s(literal 1/2 binary32) %35)
%43 = (/.f32 v cosTheta_i)
%44 = (/.f32 cosTheta_O %43)
%47 = (/.f32 v cosTheta_O)
%52 = (/.f32 #s(literal 1 binary32) v)
%53 = (*.f32 cosTheta_i %52)
%61 = (*.f32 %35 %52)
%66 = (+ v v)
%67 = (* %14 %66)
%69 = (/ %10 (exp %4))
%70 = (/ %67 %69)
%71 = (+.f32 v v)
%75 = (/.f32 #s(literal 1 binary32) %47)
%79 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%80 = (*.f32 v %79)
%89 = (* sinTheta_O sinTheta_i)
%90 = (* cosTheta_i v)
%91 = (* cosTheta_O %90)
%94 = (* cosTheta_O cosTheta_i)
%97 = (+ (* 2 (/ %89 %91)) (* 2 (/ 1 %94)))
%115 = (/.f32 %35 v)
%119 = (*.f32 v v)
%120 = (/.f32 cosTheta_O %119)
%126 = (*.f32 cosTheta_i v)
%127 = (*.f32 #s(literal 1/2 binary32) %126)
%128 = (approx (/ cosTheta_i (- (exp %13) (exp (neg %13)))) %127)
%131 = (/ %69 %17)
%132 = (/.f32 cosTheta_i %119)
%134 = (*.f32 cosTheta_O v)
%142 = (exp (* (neg sinTheta_i) (/ sinTheta_O v)))
%143 = (/ %142 %16)
%145 = (approx %143 (*.f32 #s(literal 1/2 binary32) v))
%150 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%157 = (approx %16 (/.f32 #s(literal 2 binary32) v))
%158 = (*.f32 %119 %157)
%162 = (/.f32 %24 v)
%166 = (* cosTheta_i %89)
%167 = (* cosTheta_O %166)
%172 = (+ (* -1/2 (/ %167 v)) (* 1/2 %94))
%175 = (+ (* -1/2 %167) (* 1/2 %91))
%178 = (+ (* -1/2 %166) (* 1/2 %90))
%180 = (*.f32 cosTheta_O %126)
%181 = (*.f32 #s(literal 1/2 binary32) %180)
%202 = (/ %142 %67)
%203 = (/ %89 v)
%205 = (+ 1/2 (* -1/2 %203))
%210 = (+ (* -1/2 (/ sinTheta_i v)) (* 1/2 (/ 1 sinTheta_O)))
%218 = (*.f32 v (/.f32 #s(literal 1 binary32) %35))
%253 = (/.f32 #s(literal 1 binary32) %119)
%260 = (*.f32 sinTheta_O sinTheta_i)
%261 = (*.f32 cosTheta_i %260)
%262 = (*.f32 cosTheta_O %261)
%263 = (/.f32 %262 v)
%316 = (/.f32 #s(literal 1 binary32) (/.f32 v %35))
%323 = (/.f32 %260 v)
%336 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %261 v) %32)
%341 = (/ %6 %14)
%346 = (/.f32 sinTheta_O v)
%357 = (neg.f32 sinTheta_O)
%358 = (/.f32 v sinTheta_i)
%371 = (fma.f32 #s(literal -1/2 binary32) %261 %127)
%388 = (/ %142 %14)
%391 = (* -1 (* v (- %203 1)))
%393 = (/.f32 v sinTheta_O)
%398 = (/.f32 %115 %71)
%403 = (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) sinTheta_O %358))))
%405 = (* cosTheta_i sinTheta_i)
%411 = (+ (* -1/2 (/ (* cosTheta_O %405) v)) (* 1/2 (/ %94 sinTheta_O)))
%412 = (* sinTheta_O %411)
%413 = (*.f32 cosTheta_O sinTheta_i)
%416 = (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O sinTheta_O))
%425 = (/.f32 sinTheta_i v)
%433 = (*.f32 cosTheta_i sinTheta_i)
%449 = (approx %202 (approx %205 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %425 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) sinTheta_O))))))
%451 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%456 = (approx %202 (approx %205 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (*.f32 #s(literal 1/2 binary32) %451)))))
%473 = (* v %97)
%490 = (*.f32 sinTheta_i sinTheta_O)
%507 = (+ (* -1/2 (/ (* cosTheta_O sinTheta_i) v)) (* 1/2 (/ cosTheta_O sinTheta_O)))
%546 = (*.f32 cosTheta_O %433)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %20)))
(approx %18 (*.f32 #s(literal 1/2 binary32) %25))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 %28 v)))
(approx %18 (*.f32 %32 %24))
(approx %18 (/.f32 %36 v))
(approx %18 (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) %44))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %47)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %53)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (*.f32 cosTheta_O %52))))
(approx %18 (*.f32 #s(literal 1/2 binary32) %61))
(approx %18 (*.f32 %36 %52))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 %71 %35)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i %75)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %80)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 v %28))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (approx (/ (+ (* 2 (/ %89 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O))) cosTheta_i) (/.f32 #s(literal 2 binary32) %28))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %43 cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 #s(literal 2 binary32) %115)))
(approx %18 (*.f32 %120 %128))
(approx %131 (*.f32 %132 (approx (/ cosTheta_O %16) (*.f32 #s(literal 1/2 binary32) %134))))
(*.f32 %145 (*.f32 cosTheta_i %120))
(*.f32 %145 (/.f32 %35 %119))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (*.f32 v %150)))))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %158)))
(approx %18 (*.f32 %162 %128))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (approx (* cosTheta_O %178) %181)) v)) v))
(approx %131 (/.f32 %35 %158))
(*.f32 %145 (*.f32 %20 %24))
(*.f32 %145 (/.f32 %115 v))
(*.f32 (/.f32 (approx (* %9 (/ 1 %14)) %180) v) (approx (/ %142 %66) (/.f32 #s(literal 1/2 binary32) v)))
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 #s(literal 1/2 binary32) sinTheta_O))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) %218)))
(/.f32 (*.f32 %145 %25) v)
(/.f32 (*.f32 %145 %115) v)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) %24)))))
(approx %131 (*.f32 %132 (/.f32 cosTheta_O %157)))
(approx %131 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i %157)) %119))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (*.f32 v (/.f32 %79 cosTheta_O)))))
(/.f32 (*.f32 %145 %44) v)
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %115))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %80 cosTheta_O))))
(approx %18 (*.f32 (*.f32 cosTheta_O %253) %128))
(*.f32 %145 (*.f32 %35 %253))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) %263)) v))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (approx sinTheta_i #s(literal 0 binary32))))) v))) v))
(*.f32 %145 (*.f32 cosTheta_i (*.f32 %24 %52)))
(*.f32 %145 (*.f32 %53 %24))
(*.f32 %145 (*.f32 %115 %52))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 %119 %35)))
(*.f32 %145 (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 v %24))))
(*.f32 %145 (*.f32 (/.f32 #s(literal 1 binary32) %43) %24))
(*.f32 %145 (*.f32 %20 %75))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %47)))
(approx %18 (/.f32 #s(literal 1 binary32) (*.f32 (/.f32 %119 cosTheta_i) (approx (/ %16 cosTheta_O) (/.f32 #s(literal 2 binary32) %134)))))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 v %43) cosTheta_O)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %61))))
(/.f32 (*.f32 %145 %316) v)
(/.f32 (*.f32 (approx %143 (/.f32 #s(literal 1 binary32) %157)) %115) v)
(*.f32 %115 (approx %202 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/2 binary32) %323))))
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) %218)) v)
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %150))) v)
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O %336)) v))
(*.f32 %115 (approx (/ %341 (* 2 v)) (approx (+ 1/2 (* -1/2 %4)) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (/.f32 #s(literal 1/2 binary32) sinTheta_i))))))
(*.f32 (approx %341 (approx (neg (* v (+ %4 -1))) (*.f32 sinTheta_i (+.f32 %357 %358)))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v %71))))
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %166 v)) (* 1/2 cosTheta_i)) (/.f32 %371 v)))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O %371)) v)) v))
(approx %18 (/.f32 (fma.f32 #s(literal -1/2 binary32) %263 (*.f32 #s(literal 1/2 binary32) %28)) v))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) sinTheta_i %393)))) %398)
(*.f32 %403 %398)
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %413 v) %416))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 (*.f32 cosTheta_i sinTheta_O) (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_O %425) %416)))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %433 v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i sinTheta_O))))))) v))
(*.f32 %25 %449)
(*.f32 %25 %456)
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 (fma.f32 #s(literal -1/2 binary32) sinTheta_i (*.f32 #s(literal 1/2 binary32) %393)) v))))))
(*.f32 %115 %449)
(*.f32 %115 %456)
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 v %451 %357)))) %398)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (approx (* v (+ (* 2 (/ %89 %90)) (* 2 (/ 1 cosTheta_i)))) (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O cosTheta_i) (*.f32 #s(literal 2 binary32) (/.f32 v %433))))) cosTheta_O))))
(approx %18 (*.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i %490)) v) %36) %52))
(approx %18 (/.f32 (approx %172 (/.f32 (fma.f32 #s(literal -1/2 binary32) %262 %181) v)) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %24 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %260))))))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (/.f32 (fma.f32 #s(literal -1/2 binary32) %413 (*.f32 #s(literal 1/2 binary32) (/.f32 %134 sinTheta_O))) v)))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %405 v)) (* 1/2 (/ cosTheta_i sinTheta_O))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %20 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %260))))))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %546 v) (*.f32 #s(literal 1/2 binary32) (/.f32 %28 sinTheta_O))))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O (approx %178 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %433 (*.f32 #s(literal 1/2 binary32) (/.f32 %126 sinTheta_O))))))) v)) v))
(*.f32 (approx (/ (* %142 cosTheta_i) %16) (*.f32 v %336)) %162)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O %28) (*.f32 #s(literal 2 binary32) (/.f32 v %546)))))))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (approx (+ (* -1 sinTheta_O) (/ v sinTheta_i)) (*.f32 sinTheta_O (-.f32 (/.f32 v %260) #s(literal 1 binary32))))))) %398)
(*.f32 (approx %388 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %323 #s(literal 1 binary32))))) %398)
(*.f32 %403 (/.f32 #s(literal 1 binary32) (/.f32 %71 %115)))
(*.f32 %316 %456)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %490 %126) (/.f32 #s(literal 2 binary32) cosTheta_i))) %150))))
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %260 %126) (*.f32 #s(literal 2 binary32) %79))) cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 %260 %134) (*.f32 #s(literal 2 binary32) %150)) cosTheta_i)))))
Outputs
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 v (approx (+ (* 2 (/ (* sinTheta_O sinTheta_i) (* cosTheta_O (* cosTheta_i v)))) (* 2 (/ 1 (* cosTheta_O cosTheta_i)))) (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) (*.f32 cosTheta_O v)) (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) cosTheta_O))) cosTheta_i)))))
Call 9
Inputs
%4 = (/ (* sinTheta_i sinTheta_O) v)
%6 = (exp (neg %4))
%9 = (* cosTheta_i cosTheta_O)
%10 = (/ %9 v)
%13 = (/ 1 v)
%14 = (sinh %13)
%16 = (* %14 2)
%17 = (* %16 v)
%18 = (/ (* %6 %10) %17)
%20 = (/.f32 cosTheta_i v)
%24 = (/.f32 cosTheta_O v)
%25 = (*.f32 cosTheta_i %24)
%28 = (*.f32 cosTheta_O cosTheta_i)
%32 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%35 = (*.f32 cosTheta_i cosTheta_O)
%36 = (*.f32 #s(literal 1/2 binary32) %35)
%43 = (/.f32 v cosTheta_i)
%44 = (/.f32 cosTheta_O %43)
%47 = (/.f32 v cosTheta_O)
%52 = (/.f32 #s(literal 1 binary32) v)
%53 = (*.f32 cosTheta_i %52)
%61 = (*.f32 %35 %52)
%66 = (+ v v)
%67 = (* %14 %66)
%69 = (/ %10 (exp %4))
%70 = (/ %67 %69)
%71 = (+.f32 v v)
%75 = (/.f32 #s(literal 1 binary32) %47)
%79 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%80 = (*.f32 v %79)
%89 = (* sinTheta_O sinTheta_i)
%90 = (* cosTheta_i v)
%91 = (* cosTheta_O %90)
%94 = (* cosTheta_O cosTheta_i)
%97 = (+ (* 2 (/ %89 %91)) (* 2 (/ 1 %94)))
%103 = (+ (* 2 (/ %89 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O)))
%115 = (/.f32 %35 v)
%119 = (*.f32 v v)
%120 = (/.f32 cosTheta_O %119)
%126 = (*.f32 cosTheta_i v)
%127 = (*.f32 #s(literal 1/2 binary32) %126)
%128 = (approx (/ cosTheta_i (- (exp %13) (exp (neg %13)))) %127)
%131 = (/ %69 %17)
%132 = (/.f32 cosTheta_i %119)
%134 = (*.f32 cosTheta_O v)
%142 = (exp (* (neg sinTheta_i) (/ sinTheta_O v)))
%143 = (/ %142 %16)
%145 = (approx %143 (*.f32 #s(literal 1/2 binary32) v))
%150 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%157 = (approx %16 (/.f32 #s(literal 2 binary32) v))
%158 = (*.f32 %119 %157)
%162 = (/.f32 %24 v)
%166 = (* cosTheta_i %89)
%167 = (* cosTheta_O %166)
%172 = (+ (* -1/2 (/ %167 v)) (* 1/2 %94))
%175 = (+ (* -1/2 %167) (* 1/2 %91))
%178 = (+ (* -1/2 %166) (* 1/2 %90))
%180 = (*.f32 cosTheta_O %126)
%181 = (*.f32 #s(literal 1/2 binary32) %180)
%202 = (/ %142 %67)
%203 = (/ %89 v)
%205 = (+ 1/2 (* -1/2 %203))
%210 = (+ (* -1/2 (/ sinTheta_i v)) (* 1/2 (/ 1 sinTheta_O)))
%218 = (*.f32 v (/.f32 #s(literal 1 binary32) %35))
%253 = (/.f32 #s(literal 1 binary32) %119)
%260 = (*.f32 sinTheta_O sinTheta_i)
%261 = (*.f32 cosTheta_i %260)
%262 = (*.f32 cosTheta_O %261)
%263 = (/.f32 %262 v)
%316 = (/.f32 #s(literal 1 binary32) (/.f32 v %35))
%323 = (/.f32 %260 v)
%336 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %261 v) %32)
%341 = (/ %6 %14)
%346 = (/.f32 sinTheta_O v)
%357 = (neg.f32 sinTheta_O)
%358 = (/.f32 v sinTheta_i)
%371 = (fma.f32 #s(literal -1/2 binary32) %261 %127)
%388 = (/ %142 %14)
%391 = (* -1 (* v (- %203 1)))
%393 = (/.f32 v sinTheta_O)
%398 = (/.f32 %115 %71)
%403 = (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) sinTheta_O %358))))
%405 = (* cosTheta_i sinTheta_i)
%411 = (+ (* -1/2 (/ (* cosTheta_O %405) v)) (* 1/2 (/ %94 sinTheta_O)))
%412 = (* sinTheta_O %411)
%413 = (*.f32 cosTheta_O sinTheta_i)
%416 = (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O sinTheta_O))
%425 = (/.f32 sinTheta_i v)
%433 = (*.f32 cosTheta_i sinTheta_i)
%449 = (approx %202 (approx %205 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %425 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) sinTheta_O))))))
%451 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%456 = (approx %202 (approx %205 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (*.f32 #s(literal 1/2 binary32) %451)))))
%473 = (* v %97)
%490 = (*.f32 sinTheta_i sinTheta_O)
%507 = (+ (* -1/2 (/ (* cosTheta_O sinTheta_i) v)) (* 1/2 (/ cosTheta_O sinTheta_O)))
%546 = (*.f32 cosTheta_O %433)
%609 = (fma.f32 #s(literal 2 binary32) (/.f32 %260 %126) (*.f32 #s(literal 2 binary32) %79))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %20)))
(approx %18 (*.f32 #s(literal 1/2 binary32) %25))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 %28 v)))
(approx %18 (*.f32 %32 %24))
(approx %18 (/.f32 %36 v))
(approx %18 (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) %44))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %47)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %53)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (*.f32 cosTheta_O %52))))
(approx %18 (*.f32 #s(literal 1/2 binary32) %61))
(approx %18 (*.f32 %36 %52))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 %71 %35)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i %75)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %80)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 v %28))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (approx (/ %103 cosTheta_i) (/.f32 #s(literal 2 binary32) %28))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %43 cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 #s(literal 2 binary32) %115)))
(approx %18 (*.f32 %120 %128))
(approx %131 (*.f32 %132 (approx (/ cosTheta_O %16) (*.f32 #s(literal 1/2 binary32) %134))))
(*.f32 %145 (*.f32 cosTheta_i %120))
(*.f32 %145 (/.f32 %35 %119))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (*.f32 v %150)))))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %158)))
(approx %18 (*.f32 %162 %128))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (approx (* cosTheta_O %178) %181)) v)) v))
(approx %131 (/.f32 %35 %158))
(*.f32 %145 (*.f32 %20 %24))
(*.f32 %145 (/.f32 %115 v))
(*.f32 (/.f32 (approx (* %9 (/ 1 %14)) %180) v) (approx (/ %142 %66) (/.f32 #s(literal 1/2 binary32) v)))
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 #s(literal 1/2 binary32) sinTheta_O))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) %218)))
(/.f32 (*.f32 %145 %25) v)
(/.f32 (*.f32 %145 %115) v)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) %24)))))
(approx %131 (*.f32 %132 (/.f32 cosTheta_O %157)))
(approx %131 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i %157)) %119))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (*.f32 v (/.f32 %79 cosTheta_O)))))
(/.f32 (*.f32 %145 %44) v)
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %115))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %80 cosTheta_O))))
(approx %18 (*.f32 (*.f32 cosTheta_O %253) %128))
(*.f32 %145 (*.f32 %35 %253))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) %263)) v))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (approx sinTheta_i #s(literal 0 binary32))))) v))) v))
(*.f32 %145 (*.f32 cosTheta_i (*.f32 %24 %52)))
(*.f32 %145 (*.f32 %53 %24))
(*.f32 %145 (*.f32 %115 %52))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 %119 %35)))
(*.f32 %145 (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 v %24))))
(*.f32 %145 (*.f32 (/.f32 #s(literal 1 binary32) %43) %24))
(*.f32 %145 (*.f32 %20 %75))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %47)))
(approx %18 (/.f32 #s(literal 1 binary32) (*.f32 (/.f32 %119 cosTheta_i) (approx (/ %16 cosTheta_O) (/.f32 #s(literal 2 binary32) %134)))))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 v %43) cosTheta_O)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %61))))
(/.f32 (*.f32 %145 %316) v)
(/.f32 (*.f32 (approx %143 (/.f32 #s(literal 1 binary32) %157)) %115) v)
(*.f32 %115 (approx %202 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/2 binary32) %323))))
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) %218)) v)
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %150))) v)
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O %336)) v))
(*.f32 %115 (approx (/ %341 (* 2 v)) (approx (+ 1/2 (* -1/2 %4)) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (/.f32 #s(literal 1/2 binary32) sinTheta_i))))))
(*.f32 (approx %341 (approx (neg (* v (+ %4 -1))) (*.f32 sinTheta_i (+.f32 %357 %358)))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v %71))))
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %166 v)) (* 1/2 cosTheta_i)) (/.f32 %371 v)))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O %371)) v)) v))
(approx %18 (/.f32 (fma.f32 #s(literal -1/2 binary32) %263 (*.f32 #s(literal 1/2 binary32) %28)) v))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) sinTheta_i %393)))) %398)
(*.f32 %403 %398)
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %413 v) %416))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 (*.f32 cosTheta_i sinTheta_O) (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_O %425) %416)))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %433 v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i sinTheta_O))))))) v))
(*.f32 %25 %449)
(*.f32 %25 %456)
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 (fma.f32 #s(literal -1/2 binary32) sinTheta_i (*.f32 #s(literal 1/2 binary32) %393)) v))))))
(*.f32 %115 %449)
(*.f32 %115 %456)
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 v %451 %357)))) %398)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (approx (* v (+ (* 2 (/ %89 %90)) (* 2 (/ 1 cosTheta_i)))) (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O cosTheta_i) (*.f32 #s(literal 2 binary32) (/.f32 v %433))))) cosTheta_O))))
(approx %18 (*.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i %490)) v) %36) %52))
(approx %18 (/.f32 (approx %172 (/.f32 (fma.f32 #s(literal -1/2 binary32) %262 %181) v)) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %24 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %260))))))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (/.f32 (fma.f32 #s(literal -1/2 binary32) %413 (*.f32 #s(literal 1/2 binary32) (/.f32 %134 sinTheta_O))) v)))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %405 v)) (* 1/2 (/ cosTheta_i sinTheta_O))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %20 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %260))))))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %546 v) (*.f32 #s(literal 1/2 binary32) (/.f32 %28 sinTheta_O))))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O (approx %178 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %433 (*.f32 #s(literal 1/2 binary32) (/.f32 %126 sinTheta_O))))))) v)) v))
(*.f32 (approx (/ (* %142 cosTheta_i) %16) (*.f32 v %336)) %162)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O %28) (*.f32 #s(literal 2 binary32) (/.f32 v %546)))))))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (approx (+ (* -1 sinTheta_O) (/ v sinTheta_i)) (*.f32 sinTheta_O (-.f32 (/.f32 v %260) #s(literal 1 binary32))))))) %398)
(*.f32 (approx %388 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %323 #s(literal 1 binary32))))) %398)
(*.f32 %403 (/.f32 #s(literal 1 binary32) (/.f32 %71 %115)))
(*.f32 %316 %456)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %490 %126) (/.f32 #s(literal 2 binary32) cosTheta_i))) %150))))
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (*.f32 v %609) cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 %260 %134) (*.f32 #s(literal 2 binary32) %150)) cosTheta_i)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 %609 cosTheta_O)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (approx %103 (/.f32 (fma.f32 #s(literal 2 binary32) %47 (*.f32 #s(literal 2 binary32) (/.f32 %260 cosTheta_O))) v)) cosTheta_i)))))
Outputs
%19 = (* sinTheta_O sinTheta_i)
(/.f32 #s(literal 1 binary32) (approx (/ (* (sinh (/ 1 v)) (+ v v)) (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v)))) (*.f32 v (approx (+ (* 2 (/ %19 (* cosTheta_O (* cosTheta_i v)))) (* 2 (/ 1 (* cosTheta_O cosTheta_i)))) (/.f32 (approx (+ (* 2 (/ %19 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O))) (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 v cosTheta_O) (*.f32 #s(literal 2 binary32) (/.f32 (*.f32 sinTheta_O sinTheta_i) cosTheta_O))) v)) cosTheta_i)))))
Call 10
Inputs
%4 = (/ (* sinTheta_i sinTheta_O) v)
%6 = (exp (neg %4))
%9 = (* cosTheta_i cosTheta_O)
%10 = (/ %9 v)
%13 = (/ 1 v)
%14 = (sinh %13)
%16 = (* %14 2)
%17 = (* %16 v)
%18 = (/ (* %6 %10) %17)
%20 = (/.f32 cosTheta_i v)
%24 = (/.f32 cosTheta_O v)
%25 = (*.f32 cosTheta_i %24)
%28 = (*.f32 cosTheta_O cosTheta_i)
%32 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%35 = (*.f32 cosTheta_i cosTheta_O)
%36 = (*.f32 #s(literal 1/2 binary32) %35)
%43 = (/.f32 v cosTheta_i)
%44 = (/.f32 cosTheta_O %43)
%47 = (/.f32 v cosTheta_O)
%52 = (/.f32 #s(literal 1 binary32) v)
%53 = (*.f32 cosTheta_i %52)
%61 = (*.f32 %35 %52)
%66 = (+ v v)
%67 = (* %14 %66)
%69 = (/ %10 (exp %4))
%70 = (/ %67 %69)
%71 = (+.f32 v v)
%75 = (/.f32 #s(literal 1 binary32) %47)
%79 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%80 = (*.f32 v %79)
%89 = (* sinTheta_O sinTheta_i)
%90 = (* cosTheta_i v)
%91 = (* cosTheta_O %90)
%94 = (* cosTheta_O cosTheta_i)
%97 = (+ (* 2 (/ %89 %91)) (* 2 (/ 1 %94)))
%103 = (+ (* 2 (/ %89 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O)))
%115 = (/.f32 %35 v)
%119 = (*.f32 v v)
%120 = (/.f32 cosTheta_O %119)
%126 = (*.f32 cosTheta_i v)
%127 = (*.f32 #s(literal 1/2 binary32) %126)
%128 = (approx (/ cosTheta_i (- (exp %13) (exp (neg %13)))) %127)
%131 = (/ %69 %17)
%132 = (/.f32 cosTheta_i %119)
%134 = (*.f32 cosTheta_O v)
%142 = (exp (* (neg sinTheta_i) (/ sinTheta_O v)))
%143 = (/ %142 %16)
%145 = (approx %143 (*.f32 #s(literal 1/2 binary32) v))
%150 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%157 = (approx %16 (/.f32 #s(literal 2 binary32) v))
%158 = (*.f32 %119 %157)
%162 = (/.f32 %24 v)
%166 = (* cosTheta_i %89)
%167 = (* cosTheta_O %166)
%172 = (+ (* -1/2 (/ %167 v)) (* 1/2 %94))
%175 = (+ (* -1/2 %167) (* 1/2 %91))
%178 = (+ (* -1/2 %166) (* 1/2 %90))
%180 = (*.f32 cosTheta_O %126)
%181 = (*.f32 #s(literal 1/2 binary32) %180)
%202 = (/ %142 %67)
%203 = (/ %89 v)
%205 = (+ 1/2 (* -1/2 %203))
%210 = (+ (* -1/2 (/ sinTheta_i v)) (* 1/2 (/ 1 sinTheta_O)))
%218 = (*.f32 v (/.f32 #s(literal 1 binary32) %35))
%253 = (/.f32 #s(literal 1 binary32) %119)
%260 = (*.f32 sinTheta_O sinTheta_i)
%261 = (*.f32 cosTheta_i %260)
%262 = (*.f32 cosTheta_O %261)
%263 = (/.f32 %262 v)
%316 = (/.f32 #s(literal 1 binary32) (/.f32 v %35))
%323 = (/.f32 %260 v)
%336 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %261 v) %32)
%341 = (/ %6 %14)
%346 = (/.f32 sinTheta_O v)
%357 = (neg.f32 sinTheta_O)
%358 = (/.f32 v sinTheta_i)
%371 = (fma.f32 #s(literal -1/2 binary32) %261 %127)
%388 = (/ %142 %14)
%391 = (* -1 (* v (- %203 1)))
%393 = (/.f32 v sinTheta_O)
%398 = (/.f32 %115 %71)
%403 = (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) sinTheta_O %358))))
%405 = (* cosTheta_i sinTheta_i)
%411 = (+ (* -1/2 (/ (* cosTheta_O %405) v)) (* 1/2 (/ %94 sinTheta_O)))
%412 = (* sinTheta_O %411)
%413 = (*.f32 cosTheta_O sinTheta_i)
%416 = (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O sinTheta_O))
%425 = (/.f32 sinTheta_i v)
%433 = (*.f32 cosTheta_i sinTheta_i)
%449 = (approx %202 (approx %205 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %425 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) sinTheta_O))))))
%451 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%456 = (approx %202 (approx %205 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (*.f32 #s(literal 1/2 binary32) %451)))))
%473 = (* v %97)
%490 = (*.f32 sinTheta_i sinTheta_O)
%507 = (+ (* -1/2 (/ (* cosTheta_O sinTheta_i) v)) (* 1/2 (/ cosTheta_O sinTheta_O)))
%546 = (*.f32 cosTheta_O %433)
%609 = (fma.f32 #s(literal 2 binary32) (/.f32 %260 %126) (*.f32 #s(literal 2 binary32) %79))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %20)))
(approx %18 (*.f32 #s(literal 1/2 binary32) %25))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 %28 v)))
(approx %18 (*.f32 %32 %24))
(approx %18 (/.f32 %36 v))
(approx %18 (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) %44))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %47)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %53)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (*.f32 cosTheta_O %52))))
(approx %18 (*.f32 #s(literal 1/2 binary32) %61))
(approx %18 (*.f32 %36 %52))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 %71 %35)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i %75)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %80)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 v %28))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (approx (/ %103 cosTheta_i) (/.f32 #s(literal 2 binary32) %28))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %43 cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 #s(literal 2 binary32) %115)))
(approx %18 (*.f32 %120 %128))
(approx %131 (*.f32 %132 (approx (/ cosTheta_O %16) (*.f32 #s(literal 1/2 binary32) %134))))
(*.f32 %145 (*.f32 cosTheta_i %120))
(*.f32 %145 (/.f32 %35 %119))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (*.f32 v %150)))))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %158)))
(approx %18 (*.f32 %162 %128))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (approx (* cosTheta_O %178) %181)) v)) v))
(approx %131 (/.f32 %35 %158))
(*.f32 %145 (*.f32 %20 %24))
(*.f32 %145 (/.f32 %115 v))
(*.f32 (/.f32 (approx (* %9 (/ 1 %14)) %180) v) (approx (/ %142 %66) (/.f32 #s(literal 1/2 binary32) v)))
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 #s(literal 1/2 binary32) sinTheta_O))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) %218)))
(/.f32 (*.f32 %145 %25) v)
(/.f32 (*.f32 %145 %115) v)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) %24)))))
(approx %131 (*.f32 %132 (/.f32 cosTheta_O %157)))
(approx %131 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i %157)) %119))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (*.f32 v (/.f32 %79 cosTheta_O)))))
(/.f32 (*.f32 %145 %44) v)
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %115))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %80 cosTheta_O))))
(approx %18 (*.f32 (*.f32 cosTheta_O %253) %128))
(*.f32 %145 (*.f32 %35 %253))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) %263)) v))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (approx sinTheta_i #s(literal 0 binary32))))) v))) v))
(*.f32 %145 (*.f32 cosTheta_i (*.f32 %24 %52)))
(*.f32 %145 (*.f32 %53 %24))
(*.f32 %145 (*.f32 %115 %52))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 %119 %35)))
(*.f32 %145 (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 v %24))))
(*.f32 %145 (*.f32 (/.f32 #s(literal 1 binary32) %43) %24))
(*.f32 %145 (*.f32 %20 %75))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %47)))
(approx %18 (/.f32 #s(literal 1 binary32) (*.f32 (/.f32 %119 cosTheta_i) (approx (/ %16 cosTheta_O) (/.f32 #s(literal 2 binary32) %134)))))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 v %43) cosTheta_O)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %61))))
(/.f32 (*.f32 %145 %316) v)
(/.f32 (*.f32 (approx %143 (/.f32 #s(literal 1 binary32) %157)) %115) v)
(*.f32 %115 (approx %202 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/2 binary32) %323))))
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) %218)) v)
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %150))) v)
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O %336)) v))
(*.f32 %115 (approx (/ %341 (* 2 v)) (approx (+ 1/2 (* -1/2 %4)) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (/.f32 #s(literal 1/2 binary32) sinTheta_i))))))
(*.f32 (approx %341 (approx (neg (* v (+ %4 -1))) (*.f32 sinTheta_i (+.f32 %357 %358)))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v %71))))
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %166 v)) (* 1/2 cosTheta_i)) (/.f32 %371 v)))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O %371)) v)) v))
(approx %18 (/.f32 (fma.f32 #s(literal -1/2 binary32) %263 (*.f32 #s(literal 1/2 binary32) %28)) v))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) sinTheta_i %393)))) %398)
(*.f32 %403 %398)
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %413 v) %416))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 (*.f32 cosTheta_i sinTheta_O) (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_O %425) %416)))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %433 v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i sinTheta_O))))))) v))
(*.f32 %25 %449)
(*.f32 %25 %456)
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 (fma.f32 #s(literal -1/2 binary32) sinTheta_i (*.f32 #s(literal 1/2 binary32) %393)) v))))))
(*.f32 %115 %449)
(*.f32 %115 %456)
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 v %451 %357)))) %398)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (approx (* v (+ (* 2 (/ %89 %90)) (* 2 (/ 1 cosTheta_i)))) (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O cosTheta_i) (*.f32 #s(literal 2 binary32) (/.f32 v %433))))) cosTheta_O))))
(approx %18 (*.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i %490)) v) %36) %52))
(approx %18 (/.f32 (approx %172 (/.f32 (fma.f32 #s(literal -1/2 binary32) %262 %181) v)) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %24 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %260))))))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (/.f32 (fma.f32 #s(literal -1/2 binary32) %413 (*.f32 #s(literal 1/2 binary32) (/.f32 %134 sinTheta_O))) v)))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %405 v)) (* 1/2 (/ cosTheta_i sinTheta_O))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %20 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %260))))))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %546 v) (*.f32 #s(literal 1/2 binary32) (/.f32 %28 sinTheta_O))))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O (approx %178 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %433 (*.f32 #s(literal 1/2 binary32) (/.f32 %126 sinTheta_O))))))) v)) v))
(*.f32 (approx (/ (* %142 cosTheta_i) %16) (*.f32 v %336)) %162)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O %28) (*.f32 #s(literal 2 binary32) (/.f32 v %546)))))))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (approx (+ (* -1 sinTheta_O) (/ v sinTheta_i)) (*.f32 sinTheta_O (-.f32 (/.f32 v %260) #s(literal 1 binary32))))))) %398)
(*.f32 (approx %388 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %323 #s(literal 1 binary32))))) %398)
(*.f32 %403 (/.f32 #s(literal 1 binary32) (/.f32 %71 %115)))
(*.f32 %316 %456)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %490 %126) (/.f32 #s(literal 2 binary32) cosTheta_i))) %150))))
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (*.f32 v %609) cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 %260 %134) (*.f32 #s(literal 2 binary32) %150)) cosTheta_i)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 %609 cosTheta_O)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (approx %103 (/.f32 (fma.f32 #s(literal 2 binary32) %47 (*.f32 #s(literal 2 binary32) (/.f32 %260 cosTheta_O))) v)) cosTheta_i)))))
(approx %131 (*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 v (*.f32 (sinh.f32 %52) %71)))))
Outputs
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_O (/.f32 cosTheta_i (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))))))
Call 11
Inputs
%4 = (/ (* sinTheta_i sinTheta_O) v)
%6 = (exp (neg %4))
%9 = (* cosTheta_i cosTheta_O)
%10 = (/ %9 v)
%13 = (/ 1 v)
%14 = (sinh %13)
%16 = (* %14 2)
%17 = (* %16 v)
%18 = (/ (* %6 %10) %17)
%20 = (/.f32 cosTheta_i v)
%24 = (/.f32 cosTheta_O v)
%25 = (*.f32 cosTheta_i %24)
%28 = (*.f32 cosTheta_O cosTheta_i)
%32 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%35 = (*.f32 cosTheta_i cosTheta_O)
%36 = (*.f32 #s(literal 1/2 binary32) %35)
%43 = (/.f32 v cosTheta_i)
%44 = (/.f32 cosTheta_O %43)
%47 = (/.f32 v cosTheta_O)
%52 = (/.f32 #s(literal 1 binary32) v)
%53 = (*.f32 cosTheta_i %52)
%61 = (*.f32 %35 %52)
%66 = (+ v v)
%67 = (* %14 %66)
%69 = (/ %10 (exp %4))
%70 = (/ %67 %69)
%71 = (+.f32 v v)
%75 = (/.f32 #s(literal 1 binary32) %47)
%79 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%80 = (*.f32 v %79)
%89 = (* sinTheta_O sinTheta_i)
%90 = (* cosTheta_i v)
%91 = (* cosTheta_O %90)
%94 = (* cosTheta_O cosTheta_i)
%97 = (+ (* 2 (/ %89 %91)) (* 2 (/ 1 %94)))
%103 = (+ (* 2 (/ %89 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O)))
%115 = (/.f32 %35 v)
%119 = (*.f32 v v)
%120 = (/.f32 cosTheta_O %119)
%126 = (*.f32 cosTheta_i v)
%127 = (*.f32 #s(literal 1/2 binary32) %126)
%128 = (approx (/ cosTheta_i (- (exp %13) (exp (neg %13)))) %127)
%131 = (/ %69 %17)
%132 = (/.f32 cosTheta_i %119)
%134 = (*.f32 cosTheta_O v)
%142 = (exp (* (neg sinTheta_i) (/ sinTheta_O v)))
%143 = (/ %142 %16)
%145 = (approx %143 (*.f32 #s(literal 1/2 binary32) v))
%150 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%157 = (approx %16 (/.f32 #s(literal 2 binary32) v))
%158 = (*.f32 %119 %157)
%162 = (/.f32 %24 v)
%166 = (* cosTheta_i %89)
%167 = (* cosTheta_O %166)
%172 = (+ (* -1/2 (/ %167 v)) (* 1/2 %94))
%175 = (+ (* -1/2 %167) (* 1/2 %91))
%178 = (+ (* -1/2 %166) (* 1/2 %90))
%180 = (*.f32 cosTheta_O %126)
%181 = (*.f32 #s(literal 1/2 binary32) %180)
%202 = (/ %142 %67)
%203 = (/ %89 v)
%205 = (+ 1/2 (* -1/2 %203))
%210 = (+ (* -1/2 (/ sinTheta_i v)) (* 1/2 (/ 1 sinTheta_O)))
%218 = (*.f32 v (/.f32 #s(literal 1 binary32) %35))
%253 = (/.f32 #s(literal 1 binary32) %119)
%260 = (*.f32 sinTheta_O sinTheta_i)
%261 = (*.f32 cosTheta_i %260)
%262 = (*.f32 cosTheta_O %261)
%263 = (/.f32 %262 v)
%316 = (/.f32 #s(literal 1 binary32) (/.f32 v %35))
%323 = (/.f32 %260 v)
%336 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %261 v) %32)
%341 = (/ %6 %14)
%346 = (/.f32 sinTheta_O v)
%357 = (neg.f32 sinTheta_O)
%358 = (/.f32 v sinTheta_i)
%371 = (fma.f32 #s(literal -1/2 binary32) %261 %127)
%388 = (/ %142 %14)
%391 = (* -1 (* v (- %203 1)))
%393 = (/.f32 v sinTheta_O)
%398 = (/.f32 %115 %71)
%403 = (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) sinTheta_O %358))))
%405 = (* cosTheta_i sinTheta_i)
%411 = (+ (* -1/2 (/ (* cosTheta_O %405) v)) (* 1/2 (/ %94 sinTheta_O)))
%412 = (* sinTheta_O %411)
%413 = (*.f32 cosTheta_O sinTheta_i)
%416 = (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O sinTheta_O))
%425 = (/.f32 sinTheta_i v)
%433 = (*.f32 cosTheta_i sinTheta_i)
%449 = (approx %202 (approx %205 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %425 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) sinTheta_O))))))
%451 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%456 = (approx %202 (approx %205 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (*.f32 #s(literal 1/2 binary32) %451)))))
%473 = (* v %97)
%490 = (*.f32 sinTheta_i sinTheta_O)
%507 = (+ (* -1/2 (/ (* cosTheta_O sinTheta_i) v)) (* 1/2 (/ cosTheta_O sinTheta_O)))
%546 = (*.f32 cosTheta_O %433)
%609 = (fma.f32 #s(literal 2 binary32) (/.f32 %260 %126) (*.f32 #s(literal 2 binary32) %79))
%640 = (*.f32 v (*.f32 (sinh.f32 %52) %71))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %20)))
(approx %18 (*.f32 #s(literal 1/2 binary32) %25))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 %28 v)))
(approx %18 (*.f32 %32 %24))
(approx %18 (/.f32 %36 v))
(approx %18 (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) %44))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %47)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %53)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (*.f32 cosTheta_O %52))))
(approx %18 (*.f32 #s(literal 1/2 binary32) %61))
(approx %18 (*.f32 %36 %52))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 %71 %35)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i %75)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %80)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 v %28))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (approx (/ %103 cosTheta_i) (/.f32 #s(literal 2 binary32) %28))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %43 cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 #s(literal 2 binary32) %115)))
(approx %18 (*.f32 %120 %128))
(approx %131 (*.f32 %132 (approx (/ cosTheta_O %16) (*.f32 #s(literal 1/2 binary32) %134))))
(*.f32 %145 (*.f32 cosTheta_i %120))
(*.f32 %145 (/.f32 %35 %119))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (*.f32 v %150)))))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %158)))
(approx %18 (*.f32 %162 %128))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (approx (* cosTheta_O %178) %181)) v)) v))
(approx %131 (/.f32 %35 %158))
(*.f32 %145 (*.f32 %20 %24))
(*.f32 %145 (/.f32 %115 v))
(*.f32 (/.f32 (approx (* %9 (/ 1 %14)) %180) v) (approx (/ %142 %66) (/.f32 #s(literal 1/2 binary32) v)))
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 #s(literal 1/2 binary32) sinTheta_O))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) %218)))
(/.f32 (*.f32 %145 %25) v)
(/.f32 (*.f32 %145 %115) v)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) %24)))))
(approx %131 (*.f32 %132 (/.f32 cosTheta_O %157)))
(approx %131 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i %157)) %119))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (*.f32 v (/.f32 %79 cosTheta_O)))))
(/.f32 (*.f32 %145 %44) v)
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %115))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %80 cosTheta_O))))
(approx %18 (*.f32 (*.f32 cosTheta_O %253) %128))
(*.f32 %145 (*.f32 %35 %253))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) %263)) v))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (approx sinTheta_i #s(literal 0 binary32))))) v))) v))
(*.f32 %145 (*.f32 cosTheta_i (*.f32 %24 %52)))
(*.f32 %145 (*.f32 %53 %24))
(*.f32 %145 (*.f32 %115 %52))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 %119 %35)))
(*.f32 %145 (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 v %24))))
(*.f32 %145 (*.f32 (/.f32 #s(literal 1 binary32) %43) %24))
(*.f32 %145 (*.f32 %20 %75))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %47)))
(approx %18 (/.f32 #s(literal 1 binary32) (*.f32 (/.f32 %119 cosTheta_i) (approx (/ %16 cosTheta_O) (/.f32 #s(literal 2 binary32) %134)))))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 v %43) cosTheta_O)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %61))))
(/.f32 (*.f32 %145 %316) v)
(/.f32 (*.f32 (approx %143 (/.f32 #s(literal 1 binary32) %157)) %115) v)
(*.f32 %115 (approx %202 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/2 binary32) %323))))
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) %218)) v)
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %150))) v)
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O %336)) v))
(*.f32 %115 (approx (/ %341 (* 2 v)) (approx (+ 1/2 (* -1/2 %4)) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (/.f32 #s(literal 1/2 binary32) sinTheta_i))))))
(*.f32 (approx %341 (approx (neg (* v (+ %4 -1))) (*.f32 sinTheta_i (+.f32 %357 %358)))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v %71))))
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %166 v)) (* 1/2 cosTheta_i)) (/.f32 %371 v)))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O %371)) v)) v))
(approx %18 (/.f32 (fma.f32 #s(literal -1/2 binary32) %263 (*.f32 #s(literal 1/2 binary32) %28)) v))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) sinTheta_i %393)))) %398)
(*.f32 %403 %398)
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %413 v) %416))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 (*.f32 cosTheta_i sinTheta_O) (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_O %425) %416)))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %433 v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i sinTheta_O))))))) v))
(*.f32 %25 %449)
(*.f32 %25 %456)
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 (fma.f32 #s(literal -1/2 binary32) sinTheta_i (*.f32 #s(literal 1/2 binary32) %393)) v))))))
(*.f32 %115 %449)
(*.f32 %115 %456)
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 v %451 %357)))) %398)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (approx (* v (+ (* 2 (/ %89 %90)) (* 2 (/ 1 cosTheta_i)))) (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O cosTheta_i) (*.f32 #s(literal 2 binary32) (/.f32 v %433))))) cosTheta_O))))
(approx %18 (*.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i %490)) v) %36) %52))
(approx %18 (/.f32 (approx %172 (/.f32 (fma.f32 #s(literal -1/2 binary32) %262 %181) v)) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %24 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %260))))))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (/.f32 (fma.f32 #s(literal -1/2 binary32) %413 (*.f32 #s(literal 1/2 binary32) (/.f32 %134 sinTheta_O))) v)))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %405 v)) (* 1/2 (/ cosTheta_i sinTheta_O))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %20 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %260))))))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %546 v) (*.f32 #s(literal 1/2 binary32) (/.f32 %28 sinTheta_O))))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O (approx %178 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %433 (*.f32 #s(literal 1/2 binary32) (/.f32 %126 sinTheta_O))))))) v)) v))
(*.f32 (approx (/ (* %142 cosTheta_i) %16) (*.f32 v %336)) %162)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O %28) (*.f32 #s(literal 2 binary32) (/.f32 v %546)))))))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (approx (+ (* -1 sinTheta_O) (/ v sinTheta_i)) (*.f32 sinTheta_O (-.f32 (/.f32 v %260) #s(literal 1 binary32))))))) %398)
(*.f32 (approx %388 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %323 #s(literal 1 binary32))))) %398)
(*.f32 %403 (/.f32 #s(literal 1 binary32) (/.f32 %71 %115)))
(*.f32 %316 %456)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %490 %126) (/.f32 #s(literal 2 binary32) cosTheta_i))) %150))))
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (*.f32 v %609) cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 %260 %134) (*.f32 #s(literal 2 binary32) %150)) cosTheta_i)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 %609 cosTheta_O)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (approx %103 (/.f32 (fma.f32 #s(literal 2 binary32) %47 (*.f32 #s(literal 2 binary32) (/.f32 %260 cosTheta_O))) v)) cosTheta_i)))))
(approx %131 (*.f32 cosTheta_O (/.f32 cosTheta_i %640)))
(approx %131 (*.f32 cosTheta_i (/.f32 cosTheta_O %640)))
Outputs
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))))))
Call 12
Inputs
%4 = (/ (* sinTheta_i sinTheta_O) v)
%6 = (exp (neg %4))
%9 = (* cosTheta_i cosTheta_O)
%10 = (/ %9 v)
%13 = (/ 1 v)
%14 = (sinh %13)
%16 = (* %14 2)
%17 = (* %16 v)
%18 = (/ (* %6 %10) %17)
%20 = (/.f32 cosTheta_i v)
%24 = (/.f32 cosTheta_O v)
%25 = (*.f32 cosTheta_i %24)
%28 = (*.f32 cosTheta_O cosTheta_i)
%32 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%35 = (*.f32 cosTheta_i cosTheta_O)
%36 = (*.f32 #s(literal 1/2 binary32) %35)
%43 = (/.f32 v cosTheta_i)
%44 = (/.f32 cosTheta_O %43)
%47 = (/.f32 v cosTheta_O)
%52 = (/.f32 #s(literal 1 binary32) v)
%53 = (*.f32 cosTheta_i %52)
%61 = (*.f32 %35 %52)
%66 = (+ v v)
%67 = (* %14 %66)
%69 = (/ %10 (exp %4))
%70 = (/ %67 %69)
%71 = (+.f32 v v)
%75 = (/.f32 #s(literal 1 binary32) %47)
%79 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%80 = (*.f32 v %79)
%89 = (* sinTheta_O sinTheta_i)
%90 = (* cosTheta_i v)
%91 = (* cosTheta_O %90)
%94 = (* cosTheta_O cosTheta_i)
%97 = (+ (* 2 (/ %89 %91)) (* 2 (/ 1 %94)))
%103 = (+ (* 2 (/ %89 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O)))
%115 = (/.f32 %35 v)
%119 = (*.f32 v v)
%120 = (/.f32 cosTheta_O %119)
%126 = (*.f32 cosTheta_i v)
%127 = (*.f32 #s(literal 1/2 binary32) %126)
%128 = (approx (/ cosTheta_i (- (exp %13) (exp (neg %13)))) %127)
%131 = (/ %69 %17)
%132 = (/.f32 cosTheta_i %119)
%134 = (*.f32 cosTheta_O v)
%142 = (exp (* (neg sinTheta_i) (/ sinTheta_O v)))
%143 = (/ %142 %16)
%145 = (approx %143 (*.f32 #s(literal 1/2 binary32) v))
%150 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%157 = (approx %16 (/.f32 #s(literal 2 binary32) v))
%158 = (*.f32 %119 %157)
%162 = (/.f32 %24 v)
%166 = (* cosTheta_i %89)
%167 = (* cosTheta_O %166)
%172 = (+ (* -1/2 (/ %167 v)) (* 1/2 %94))
%175 = (+ (* -1/2 %167) (* 1/2 %91))
%178 = (+ (* -1/2 %166) (* 1/2 %90))
%180 = (*.f32 cosTheta_O %126)
%181 = (*.f32 #s(literal 1/2 binary32) %180)
%202 = (/ %142 %67)
%203 = (/ %89 v)
%205 = (+ 1/2 (* -1/2 %203))
%210 = (+ (* -1/2 (/ sinTheta_i v)) (* 1/2 (/ 1 sinTheta_O)))
%218 = (*.f32 v (/.f32 #s(literal 1 binary32) %35))
%253 = (/.f32 #s(literal 1 binary32) %119)
%260 = (*.f32 sinTheta_O sinTheta_i)
%261 = (*.f32 cosTheta_i %260)
%262 = (*.f32 cosTheta_O %261)
%263 = (/.f32 %262 v)
%316 = (/.f32 #s(literal 1 binary32) (/.f32 v %35))
%323 = (/.f32 %260 v)
%336 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %261 v) %32)
%341 = (/ %6 %14)
%346 = (/.f32 sinTheta_O v)
%357 = (neg.f32 sinTheta_O)
%358 = (/.f32 v sinTheta_i)
%371 = (fma.f32 #s(literal -1/2 binary32) %261 %127)
%388 = (/ %142 %14)
%391 = (* -1 (* v (- %203 1)))
%393 = (/.f32 v sinTheta_O)
%398 = (/.f32 %115 %71)
%403 = (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) sinTheta_O %358))))
%405 = (* cosTheta_i sinTheta_i)
%411 = (+ (* -1/2 (/ (* cosTheta_O %405) v)) (* 1/2 (/ %94 sinTheta_O)))
%412 = (* sinTheta_O %411)
%413 = (*.f32 cosTheta_O sinTheta_i)
%416 = (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O sinTheta_O))
%425 = (/.f32 sinTheta_i v)
%433 = (*.f32 cosTheta_i sinTheta_i)
%449 = (approx %202 (approx %205 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %425 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) sinTheta_O))))))
%451 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%456 = (approx %202 (approx %205 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (*.f32 #s(literal 1/2 binary32) %451)))))
%473 = (* v %97)
%490 = (*.f32 sinTheta_i sinTheta_O)
%507 = (+ (* -1/2 (/ (* cosTheta_O sinTheta_i) v)) (* 1/2 (/ cosTheta_O sinTheta_O)))
%546 = (*.f32 cosTheta_O %433)
%609 = (fma.f32 #s(literal 2 binary32) (/.f32 %260 %126) (*.f32 #s(literal 2 binary32) %79))
%638 = (sinh.f32 %52)
%639 = (*.f32 %638 %71)
%640 = (*.f32 v %639)
%650 = (*.f32 %119 (*.f32 %638 #s(literal 2 binary32)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %20)))
(approx %18 (*.f32 #s(literal 1/2 binary32) %25))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 %28 v)))
(approx %18 (*.f32 %32 %24))
(approx %18 (/.f32 %36 v))
(approx %18 (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) %44))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %47)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %53)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (*.f32 cosTheta_O %52))))
(approx %18 (*.f32 #s(literal 1/2 binary32) %61))
(approx %18 (*.f32 %36 %52))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 %71 %35)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i %75)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %80)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 v %28))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (approx (/ %103 cosTheta_i) (/.f32 #s(literal 2 binary32) %28))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %43 cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 #s(literal 2 binary32) %115)))
(approx %18 (*.f32 %120 %128))
(approx %131 (*.f32 %132 (approx (/ cosTheta_O %16) (*.f32 #s(literal 1/2 binary32) %134))))
(*.f32 %145 (*.f32 cosTheta_i %120))
(*.f32 %145 (/.f32 %35 %119))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (*.f32 v %150)))))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %158)))
(approx %18 (*.f32 %162 %128))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (approx (* cosTheta_O %178) %181)) v)) v))
(approx %131 (/.f32 %35 %158))
(*.f32 %145 (*.f32 %20 %24))
(*.f32 %145 (/.f32 %115 v))
(*.f32 (/.f32 (approx (* %9 (/ 1 %14)) %180) v) (approx (/ %142 %66) (/.f32 #s(literal 1/2 binary32) v)))
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 #s(literal 1/2 binary32) sinTheta_O))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) %218)))
(/.f32 (*.f32 %145 %25) v)
(/.f32 (*.f32 %145 %115) v)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) %24)))))
(approx %131 (*.f32 %132 (/.f32 cosTheta_O %157)))
(approx %131 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i %157)) %119))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (*.f32 v (/.f32 %79 cosTheta_O)))))
(/.f32 (*.f32 %145 %44) v)
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %115))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %80 cosTheta_O))))
(approx %18 (*.f32 (*.f32 cosTheta_O %253) %128))
(*.f32 %145 (*.f32 %35 %253))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) %263)) v))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (approx sinTheta_i #s(literal 0 binary32))))) v))) v))
(*.f32 %145 (*.f32 cosTheta_i (*.f32 %24 %52)))
(*.f32 %145 (*.f32 %53 %24))
(*.f32 %145 (*.f32 %115 %52))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 %119 %35)))
(*.f32 %145 (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 v %24))))
(*.f32 %145 (*.f32 (/.f32 #s(literal 1 binary32) %43) %24))
(*.f32 %145 (*.f32 %20 %75))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %47)))
(approx %18 (/.f32 #s(literal 1 binary32) (*.f32 (/.f32 %119 cosTheta_i) (approx (/ %16 cosTheta_O) (/.f32 #s(literal 2 binary32) %134)))))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 v %43) cosTheta_O)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %61))))
(/.f32 (*.f32 %145 %316) v)
(/.f32 (*.f32 (approx %143 (/.f32 #s(literal 1 binary32) %157)) %115) v)
(*.f32 %115 (approx %202 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/2 binary32) %323))))
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) %218)) v)
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %150))) v)
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O %336)) v))
(*.f32 %115 (approx (/ %341 (* 2 v)) (approx (+ 1/2 (* -1/2 %4)) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (/.f32 #s(literal 1/2 binary32) sinTheta_i))))))
(*.f32 (approx %341 (approx (neg (* v (+ %4 -1))) (*.f32 sinTheta_i (+.f32 %357 %358)))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v %71))))
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %166 v)) (* 1/2 cosTheta_i)) (/.f32 %371 v)))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O %371)) v)) v))
(approx %18 (/.f32 (fma.f32 #s(literal -1/2 binary32) %263 (*.f32 #s(literal 1/2 binary32) %28)) v))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) sinTheta_i %393)))) %398)
(*.f32 %403 %398)
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %413 v) %416))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 (*.f32 cosTheta_i sinTheta_O) (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_O %425) %416)))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %433 v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i sinTheta_O))))))) v))
(*.f32 %25 %449)
(*.f32 %25 %456)
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 (fma.f32 #s(literal -1/2 binary32) sinTheta_i (*.f32 #s(literal 1/2 binary32) %393)) v))))))
(*.f32 %115 %449)
(*.f32 %115 %456)
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 v %451 %357)))) %398)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (approx (* v (+ (* 2 (/ %89 %90)) (* 2 (/ 1 cosTheta_i)))) (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O cosTheta_i) (*.f32 #s(literal 2 binary32) (/.f32 v %433))))) cosTheta_O))))
(approx %18 (*.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i %490)) v) %36) %52))
(approx %18 (/.f32 (approx %172 (/.f32 (fma.f32 #s(literal -1/2 binary32) %262 %181) v)) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %24 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %260))))))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (/.f32 (fma.f32 #s(literal -1/2 binary32) %413 (*.f32 #s(literal 1/2 binary32) (/.f32 %134 sinTheta_O))) v)))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %405 v)) (* 1/2 (/ cosTheta_i sinTheta_O))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %20 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %260))))))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %546 v) (*.f32 #s(literal 1/2 binary32) (/.f32 %28 sinTheta_O))))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O (approx %178 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %433 (*.f32 #s(literal 1/2 binary32) (/.f32 %126 sinTheta_O))))))) v)) v))
(*.f32 (approx (/ (* %142 cosTheta_i) %16) (*.f32 v %336)) %162)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O %28) (*.f32 #s(literal 2 binary32) (/.f32 v %546)))))))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (approx (+ (* -1 sinTheta_O) (/ v sinTheta_i)) (*.f32 sinTheta_O (-.f32 (/.f32 v %260) #s(literal 1 binary32))))))) %398)
(*.f32 (approx %388 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %323 #s(literal 1 binary32))))) %398)
(*.f32 %403 (/.f32 #s(literal 1 binary32) (/.f32 %71 %115)))
(*.f32 %316 %456)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %490 %126) (/.f32 #s(literal 2 binary32) cosTheta_i))) %150))))
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (*.f32 v %609) cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 %260 %134) (*.f32 #s(literal 2 binary32) %150)) cosTheta_i)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 %609 cosTheta_O)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (approx %103 (/.f32 (fma.f32 #s(literal 2 binary32) %47 (*.f32 #s(literal 2 binary32) (/.f32 %260 cosTheta_O))) v)) cosTheta_i)))))
(approx %131 (*.f32 cosTheta_O (/.f32 cosTheta_i %640)))
(approx %131 (*.f32 cosTheta_i (/.f32 cosTheta_O %640)))
(approx %131 (/.f32 %35 %640))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %650)))
(approx %131 (*.f32 cosTheta_i (/.f32 cosTheta_O %650)))
(approx %131 (/.f32 %35 %650))
(approx %131 (*.f32 cosTheta_O (/.f32 %20 %639)))
Outputs
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_O (/.f32 (/.f32 cosTheta_i v) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))))
Call 13
Inputs
%4 = (/ (* sinTheta_i sinTheta_O) v)
%6 = (exp (neg %4))
%9 = (* cosTheta_i cosTheta_O)
%10 = (/ %9 v)
%13 = (/ 1 v)
%14 = (sinh %13)
%16 = (* %14 2)
%17 = (* %16 v)
%18 = (/ (* %6 %10) %17)
%20 = (/.f32 cosTheta_i v)
%24 = (/.f32 cosTheta_O v)
%25 = (*.f32 cosTheta_i %24)
%28 = (*.f32 cosTheta_O cosTheta_i)
%32 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%35 = (*.f32 cosTheta_i cosTheta_O)
%36 = (*.f32 #s(literal 1/2 binary32) %35)
%43 = (/.f32 v cosTheta_i)
%44 = (/.f32 cosTheta_O %43)
%47 = (/.f32 v cosTheta_O)
%52 = (/.f32 #s(literal 1 binary32) v)
%53 = (*.f32 cosTheta_i %52)
%61 = (*.f32 %35 %52)
%66 = (+ v v)
%67 = (* %14 %66)
%69 = (/ %10 (exp %4))
%70 = (/ %67 %69)
%71 = (+.f32 v v)
%75 = (/.f32 #s(literal 1 binary32) %47)
%79 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%80 = (*.f32 v %79)
%89 = (* sinTheta_O sinTheta_i)
%90 = (* cosTheta_i v)
%91 = (* cosTheta_O %90)
%94 = (* cosTheta_O cosTheta_i)
%97 = (+ (* 2 (/ %89 %91)) (* 2 (/ 1 %94)))
%103 = (+ (* 2 (/ %89 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O)))
%115 = (/.f32 %35 v)
%119 = (*.f32 v v)
%120 = (/.f32 cosTheta_O %119)
%126 = (*.f32 cosTheta_i v)
%127 = (*.f32 #s(literal 1/2 binary32) %126)
%128 = (approx (/ cosTheta_i (- (exp %13) (exp (neg %13)))) %127)
%131 = (/ %69 %17)
%132 = (/.f32 cosTheta_i %119)
%134 = (*.f32 cosTheta_O v)
%142 = (exp (* (neg sinTheta_i) (/ sinTheta_O v)))
%143 = (/ %142 %16)
%145 = (approx %143 (*.f32 #s(literal 1/2 binary32) v))
%150 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%157 = (approx %16 (/.f32 #s(literal 2 binary32) v))
%158 = (*.f32 %119 %157)
%162 = (/.f32 %24 v)
%166 = (* cosTheta_i %89)
%167 = (* cosTheta_O %166)
%172 = (+ (* -1/2 (/ %167 v)) (* 1/2 %94))
%175 = (+ (* -1/2 %167) (* 1/2 %91))
%178 = (+ (* -1/2 %166) (* 1/2 %90))
%180 = (*.f32 cosTheta_O %126)
%181 = (*.f32 #s(literal 1/2 binary32) %180)
%202 = (/ %142 %67)
%203 = (/ %89 v)
%205 = (+ 1/2 (* -1/2 %203))
%210 = (+ (* -1/2 (/ sinTheta_i v)) (* 1/2 (/ 1 sinTheta_O)))
%218 = (*.f32 v (/.f32 #s(literal 1 binary32) %35))
%253 = (/.f32 #s(literal 1 binary32) %119)
%260 = (*.f32 sinTheta_O sinTheta_i)
%261 = (*.f32 cosTheta_i %260)
%262 = (*.f32 cosTheta_O %261)
%263 = (/.f32 %262 v)
%316 = (/.f32 #s(literal 1 binary32) (/.f32 v %35))
%323 = (/.f32 %260 v)
%336 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %261 v) %32)
%341 = (/ %6 %14)
%346 = (/.f32 sinTheta_O v)
%357 = (neg.f32 sinTheta_O)
%358 = (/.f32 v sinTheta_i)
%371 = (fma.f32 #s(literal -1/2 binary32) %261 %127)
%388 = (/ %142 %14)
%391 = (* -1 (* v (- %203 1)))
%393 = (/.f32 v sinTheta_O)
%398 = (/.f32 %115 %71)
%403 = (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) sinTheta_O %358))))
%405 = (* cosTheta_i sinTheta_i)
%411 = (+ (* -1/2 (/ (* cosTheta_O %405) v)) (* 1/2 (/ %94 sinTheta_O)))
%412 = (* sinTheta_O %411)
%413 = (*.f32 cosTheta_O sinTheta_i)
%416 = (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O sinTheta_O))
%425 = (/.f32 sinTheta_i v)
%433 = (*.f32 cosTheta_i sinTheta_i)
%449 = (approx %202 (approx %205 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %425 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) sinTheta_O))))))
%451 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%456 = (approx %202 (approx %205 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (*.f32 #s(literal 1/2 binary32) %451)))))
%473 = (* v %97)
%490 = (*.f32 sinTheta_i sinTheta_O)
%507 = (+ (* -1/2 (/ (* cosTheta_O sinTheta_i) v)) (* 1/2 (/ cosTheta_O sinTheta_O)))
%546 = (*.f32 cosTheta_O %433)
%609 = (fma.f32 #s(literal 2 binary32) (/.f32 %260 %126) (*.f32 #s(literal 2 binary32) %79))
%638 = (sinh.f32 %52)
%639 = (*.f32 %638 %71)
%640 = (*.f32 v %639)
%650 = (*.f32 %119 (*.f32 %638 #s(literal 2 binary32)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %20)))
(approx %18 (*.f32 #s(literal 1/2 binary32) %25))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 %28 v)))
(approx %18 (*.f32 %32 %24))
(approx %18 (/.f32 %36 v))
(approx %18 (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) %44))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %47)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %53)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (*.f32 cosTheta_O %52))))
(approx %18 (*.f32 #s(literal 1/2 binary32) %61))
(approx %18 (*.f32 %36 %52))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 %71 %35)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i %75)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %80)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 v %28))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (approx (/ %103 cosTheta_i) (/.f32 #s(literal 2 binary32) %28))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %43 cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 #s(literal 2 binary32) %115)))
(approx %18 (*.f32 %120 %128))
(approx %131 (*.f32 %132 (approx (/ cosTheta_O %16) (*.f32 #s(literal 1/2 binary32) %134))))
(*.f32 %145 (*.f32 cosTheta_i %120))
(*.f32 %145 (/.f32 %35 %119))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (*.f32 v %150)))))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %158)))
(approx %18 (*.f32 %162 %128))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (approx (* cosTheta_O %178) %181)) v)) v))
(approx %131 (/.f32 %35 %158))
(*.f32 %145 (*.f32 %20 %24))
(*.f32 %145 (/.f32 %115 v))
(*.f32 (/.f32 (approx (* %9 (/ 1 %14)) %180) v) (approx (/ %142 %66) (/.f32 #s(literal 1/2 binary32) v)))
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 #s(literal 1/2 binary32) sinTheta_O))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) %218)))
(/.f32 (*.f32 %145 %25) v)
(/.f32 (*.f32 %145 %115) v)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) %24)))))
(approx %131 (*.f32 %132 (/.f32 cosTheta_O %157)))
(approx %131 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i %157)) %119))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (*.f32 v (/.f32 %79 cosTheta_O)))))
(/.f32 (*.f32 %145 %44) v)
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %115))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %80 cosTheta_O))))
(approx %18 (*.f32 (*.f32 cosTheta_O %253) %128))
(*.f32 %145 (*.f32 %35 %253))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) %263)) v))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (approx sinTheta_i #s(literal 0 binary32))))) v))) v))
(*.f32 %145 (*.f32 cosTheta_i (*.f32 %24 %52)))
(*.f32 %145 (*.f32 %53 %24))
(*.f32 %145 (*.f32 %115 %52))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 %119 %35)))
(*.f32 %145 (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 v %24))))
(*.f32 %145 (*.f32 (/.f32 #s(literal 1 binary32) %43) %24))
(*.f32 %145 (*.f32 %20 %75))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %47)))
(approx %18 (/.f32 #s(literal 1 binary32) (*.f32 (/.f32 %119 cosTheta_i) (approx (/ %16 cosTheta_O) (/.f32 #s(literal 2 binary32) %134)))))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 v %43) cosTheta_O)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %61))))
(/.f32 (*.f32 %145 %316) v)
(/.f32 (*.f32 (approx %143 (/.f32 #s(literal 1 binary32) %157)) %115) v)
(*.f32 %115 (approx %202 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/2 binary32) %323))))
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) %218)) v)
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %150))) v)
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O %336)) v))
(*.f32 %115 (approx (/ %341 (* 2 v)) (approx (+ 1/2 (* -1/2 %4)) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (/.f32 #s(literal 1/2 binary32) sinTheta_i))))))
(*.f32 (approx %341 (approx (neg (* v (+ %4 -1))) (*.f32 sinTheta_i (+.f32 %357 %358)))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v %71))))
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %166 v)) (* 1/2 cosTheta_i)) (/.f32 %371 v)))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O %371)) v)) v))
(approx %18 (/.f32 (fma.f32 #s(literal -1/2 binary32) %263 (*.f32 #s(literal 1/2 binary32) %28)) v))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) sinTheta_i %393)))) %398)
(*.f32 %403 %398)
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %413 v) %416))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 (*.f32 cosTheta_i sinTheta_O) (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_O %425) %416)))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %433 v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i sinTheta_O))))))) v))
(*.f32 %25 %449)
(*.f32 %25 %456)
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 (fma.f32 #s(literal -1/2 binary32) sinTheta_i (*.f32 #s(literal 1/2 binary32) %393)) v))))))
(*.f32 %115 %449)
(*.f32 %115 %456)
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 v %451 %357)))) %398)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (approx (* v (+ (* 2 (/ %89 %90)) (* 2 (/ 1 cosTheta_i)))) (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O cosTheta_i) (*.f32 #s(literal 2 binary32) (/.f32 v %433))))) cosTheta_O))))
(approx %18 (*.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i %490)) v) %36) %52))
(approx %18 (/.f32 (approx %172 (/.f32 (fma.f32 #s(literal -1/2 binary32) %262 %181) v)) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %24 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %260))))))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (/.f32 (fma.f32 #s(literal -1/2 binary32) %413 (*.f32 #s(literal 1/2 binary32) (/.f32 %134 sinTheta_O))) v)))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %405 v)) (* 1/2 (/ cosTheta_i sinTheta_O))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %20 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %260))))))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %546 v) (*.f32 #s(literal 1/2 binary32) (/.f32 %28 sinTheta_O))))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O (approx %178 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %433 (*.f32 #s(literal 1/2 binary32) (/.f32 %126 sinTheta_O))))))) v)) v))
(*.f32 (approx (/ (* %142 cosTheta_i) %16) (*.f32 v %336)) %162)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O %28) (*.f32 #s(literal 2 binary32) (/.f32 v %546)))))))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (approx (+ (* -1 sinTheta_O) (/ v sinTheta_i)) (*.f32 sinTheta_O (-.f32 (/.f32 v %260) #s(literal 1 binary32))))))) %398)
(*.f32 (approx %388 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %323 #s(literal 1 binary32))))) %398)
(*.f32 %403 (/.f32 #s(literal 1 binary32) (/.f32 %71 %115)))
(*.f32 %316 %456)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %490 %126) (/.f32 #s(literal 2 binary32) cosTheta_i))) %150))))
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (*.f32 v %609) cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 %260 %134) (*.f32 #s(literal 2 binary32) %150)) cosTheta_i)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 %609 cosTheta_O)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (approx %103 (/.f32 (fma.f32 #s(literal 2 binary32) %47 (*.f32 #s(literal 2 binary32) (/.f32 %260 cosTheta_O))) v)) cosTheta_i)))))
(approx %131 (*.f32 cosTheta_O (/.f32 cosTheta_i %640)))
(approx %131 (*.f32 cosTheta_i (/.f32 cosTheta_O %640)))
(approx %131 (/.f32 %35 %640))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %650)))
(approx %131 (*.f32 cosTheta_i (/.f32 cosTheta_O %650)))
(approx %131 (/.f32 %35 %650))
(approx %131 (*.f32 cosTheta_O (/.f32 %20 %639)))
(approx %131 (*.f32 cosTheta_i (/.f32 %24 %639)))
Outputs
(approx (/ (/ (/ (* cosTheta_i cosTheta_O) v) (exp (/ (* sinTheta_i sinTheta_O) v))) (* (* (sinh (/ 1 v)) 2) v)) (*.f32 cosTheta_i (/.f32 (/.f32 cosTheta_O v) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v)))))
Call 14
Inputs
%4 = (/ (* sinTheta_i sinTheta_O) v)
%6 = (exp (neg %4))
%9 = (* cosTheta_i cosTheta_O)
%10 = (/ %9 v)
%13 = (/ 1 v)
%14 = (sinh %13)
%16 = (* %14 2)
%17 = (* %16 v)
%18 = (/ (* %6 %10) %17)
%20 = (/.f32 cosTheta_i v)
%21 = (*.f32 cosTheta_O %20)
%24 = (/.f32 cosTheta_O v)
%25 = (*.f32 cosTheta_i %24)
%28 = (*.f32 cosTheta_O cosTheta_i)
%32 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%35 = (*.f32 cosTheta_i cosTheta_O)
%36 = (*.f32 #s(literal 1/2 binary32) %35)
%43 = (/.f32 v cosTheta_i)
%44 = (/.f32 cosTheta_O %43)
%47 = (/.f32 v cosTheta_O)
%52 = (/.f32 #s(literal 1 binary32) v)
%53 = (*.f32 cosTheta_i %52)
%61 = (*.f32 %35 %52)
%66 = (+ v v)
%67 = (* %14 %66)
%68 = (exp %4)
%69 = (/ %10 %68)
%70 = (/ %67 %69)
%71 = (+.f32 v v)
%75 = (/.f32 #s(literal 1 binary32) %47)
%79 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%80 = (*.f32 v %79)
%89 = (* sinTheta_O sinTheta_i)
%90 = (* cosTheta_i v)
%91 = (* cosTheta_O %90)
%94 = (* cosTheta_O cosTheta_i)
%97 = (+ (* 2 (/ %89 %91)) (* 2 (/ 1 %94)))
%103 = (+ (* 2 (/ %89 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O)))
%115 = (/.f32 %35 v)
%119 = (*.f32 v v)
%120 = (/.f32 cosTheta_O %119)
%126 = (*.f32 cosTheta_i v)
%127 = (*.f32 #s(literal 1/2 binary32) %126)
%128 = (approx (/ cosTheta_i (- (exp %13) (exp (neg %13)))) %127)
%131 = (/ %69 %17)
%132 = (/.f32 cosTheta_i %119)
%134 = (*.f32 cosTheta_O v)
%142 = (exp (* (neg sinTheta_i) (/ sinTheta_O v)))
%143 = (/ %142 %16)
%145 = (approx %143 (*.f32 #s(literal 1/2 binary32) v))
%146 = (*.f32 cosTheta_i %120)
%150 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%157 = (approx %16 (/.f32 #s(literal 2 binary32) v))
%158 = (*.f32 %119 %157)
%162 = (/.f32 %24 v)
%166 = (* cosTheta_i %89)
%167 = (* cosTheta_O %166)
%172 = (+ (* -1/2 (/ %167 v)) (* 1/2 %94))
%175 = (+ (* -1/2 %167) (* 1/2 %91))
%178 = (+ (* -1/2 %166) (* 1/2 %90))
%180 = (*.f32 cosTheta_O %126)
%181 = (*.f32 #s(literal 1/2 binary32) %180)
%200 = (approx (/ %142 %66) (/.f32 #s(literal 1/2 binary32) v))
%202 = (/ %142 %67)
%203 = (/ %89 v)
%205 = (+ 1/2 (* -1/2 %203))
%210 = (+ (* -1/2 (/ sinTheta_i v)) (* 1/2 (/ 1 sinTheta_O)))
%218 = (*.f32 v (/.f32 #s(literal 1 binary32) %35))
%253 = (/.f32 #s(literal 1 binary32) %119)
%260 = (*.f32 sinTheta_O sinTheta_i)
%261 = (*.f32 cosTheta_i %260)
%262 = (*.f32 cosTheta_O %261)
%263 = (/.f32 %262 v)
%316 = (/.f32 #s(literal 1 binary32) (/.f32 v %35))
%323 = (/.f32 %260 v)
%336 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %261 v) %32)
%341 = (/ %6 %14)
%346 = (/.f32 sinTheta_O v)
%357 = (neg.f32 sinTheta_O)
%358 = (/.f32 v sinTheta_i)
%371 = (fma.f32 #s(literal -1/2 binary32) %261 %127)
%388 = (/ %142 %14)
%391 = (* -1 (* v (- %203 1)))
%393 = (/.f32 v sinTheta_O)
%398 = (/.f32 %115 %71)
%403 = (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) sinTheta_O %358))))
%405 = (* cosTheta_i sinTheta_i)
%411 = (+ (* -1/2 (/ (* cosTheta_O %405) v)) (* 1/2 (/ %94 sinTheta_O)))
%412 = (* sinTheta_O %411)
%413 = (*.f32 cosTheta_O sinTheta_i)
%416 = (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O sinTheta_O))
%425 = (/.f32 sinTheta_i v)
%433 = (*.f32 cosTheta_i sinTheta_i)
%449 = (approx %202 (approx %205 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %425 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) sinTheta_O))))))
%451 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%456 = (approx %202 (approx %205 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (*.f32 #s(literal 1/2 binary32) %451)))))
%473 = (* v %97)
%490 = (*.f32 sinTheta_i sinTheta_O)
%507 = (+ (* -1/2 (/ (* cosTheta_O sinTheta_i) v)) (* 1/2 (/ cosTheta_O sinTheta_O)))
%546 = (*.f32 cosTheta_O %433)
%609 = (fma.f32 #s(literal 2 binary32) (/.f32 %260 %126) (*.f32 #s(literal 2 binary32) %79))
%638 = (sinh.f32 %52)
%639 = (*.f32 %638 %71)
%640 = (*.f32 v %639)
%649 = (*.f32 %638 #s(literal 2 binary32))
%650 = (*.f32 %119 %649)
%672 = (/.f32 cosTheta_i %649)
%676 = (/.f32 cosTheta_O %649)
%679 = (*.f32 cosTheta_O %672)
%684 = (*.f32 v %638)
%700 = (/.f32 %20 v)
%733 = (approx %6 #s(literal 1 binary32))
%734 = (*.f32 %733 %25)
%736 = (*.f32 %733 %115)
%742 = (*.f32 %649 v)
(approx %18 (*.f32 #s(literal 1/2 binary32) %21))
(approx %18 (*.f32 #s(literal 1/2 binary32) %25))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 %28 v)))
(approx %18 (*.f32 %32 %24))
(approx %18 (/.f32 %36 v))
(approx %18 (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) %44))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %47)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_O %53)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (*.f32 cosTheta_O %52))))
(approx %18 (*.f32 #s(literal 1/2 binary32) %61))
(approx %18 (*.f32 %36 %52))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 %71 %35)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i %75)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %80)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 v %28))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (approx (/ %103 cosTheta_i) (/.f32 #s(literal 2 binary32) %28))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %43 cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 #s(literal 2 binary32) %115)))
(approx %18 (*.f32 %120 %128))
(approx %131 (*.f32 %132 (approx (/ cosTheta_O %16) (*.f32 #s(literal 1/2 binary32) %134))))
(*.f32 %145 %146)
(*.f32 %145 (/.f32 %35 %119))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (*.f32 v %150)))))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %158)))
(approx %18 (*.f32 %162 %128))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (approx (* cosTheta_O %178) %181)) v)) v))
(approx %131 (/.f32 %35 %158))
(*.f32 %145 (*.f32 %20 %24))
(*.f32 %145 (/.f32 %115 v))
(*.f32 (/.f32 (approx (* %9 (/ 1 %14)) %180) v) %200)
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 #s(literal 1/2 binary32) sinTheta_O))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) %218)))
(/.f32 (*.f32 %145 %25) v)
(/.f32 (*.f32 %145 %115) v)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) %24)))))
(approx %131 (*.f32 %132 (/.f32 cosTheta_O %157)))
(approx %131 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i %157)) %119))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (*.f32 v (/.f32 %79 cosTheta_O)))))
(/.f32 (*.f32 %145 %44) v)
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %115))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %80 cosTheta_O))))
(approx %18 (*.f32 (*.f32 cosTheta_O %253) %128))
(*.f32 %145 (*.f32 %35 %253))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) %263)) v))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (approx sinTheta_i #s(literal 0 binary32))))) v))) v))
(*.f32 %145 (*.f32 cosTheta_i (*.f32 %24 %52)))
(*.f32 %145 (*.f32 %53 %24))
(*.f32 %145 (*.f32 %115 %52))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 %119 %35)))
(*.f32 %145 (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 v %24))))
(*.f32 %145 (*.f32 (/.f32 #s(literal 1 binary32) %43) %24))
(*.f32 %145 (*.f32 %20 %75))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %47)))
(approx %18 (/.f32 #s(literal 1 binary32) (*.f32 (/.f32 %119 cosTheta_i) (approx (/ %16 cosTheta_O) (/.f32 #s(literal 2 binary32) %134)))))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 v %43) cosTheta_O)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %61))))
(/.f32 (*.f32 %145 %316) v)
(/.f32 (*.f32 (approx %143 (/.f32 #s(literal 1 binary32) %157)) %115) v)
(*.f32 %115 (approx %202 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/2 binary32) %323))))
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) %218)) v)
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %150))) v)
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O %336)) v))
(*.f32 %115 (approx (/ %341 (* 2 v)) (approx (+ 1/2 (* -1/2 %4)) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (/.f32 #s(literal 1/2 binary32) sinTheta_i))))))
(*.f32 (approx %341 (approx (neg (* v (+ %4 -1))) (*.f32 sinTheta_i (+.f32 %357 %358)))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v %71))))
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %166 v)) (* 1/2 cosTheta_i)) (/.f32 %371 v)))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O %371)) v)) v))
(approx %18 (/.f32 (fma.f32 #s(literal -1/2 binary32) %263 (*.f32 #s(literal 1/2 binary32) %28)) v))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) sinTheta_i %393)))) %398)
(*.f32 %403 %398)
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %413 v) %416))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 (*.f32 cosTheta_i sinTheta_O) (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_O %425) %416)))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %433 v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i sinTheta_O))))))) v))
(*.f32 %25 %449)
(*.f32 %25 %456)
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 (fma.f32 #s(literal -1/2 binary32) sinTheta_i (*.f32 #s(literal 1/2 binary32) %393)) v))))))
(*.f32 %115 %449)
(*.f32 %115 %456)
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 v %451 %357)))) %398)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (approx (* v (+ (* 2 (/ %89 %90)) (* 2 (/ 1 cosTheta_i)))) (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O cosTheta_i) (*.f32 #s(literal 2 binary32) (/.f32 v %433))))) cosTheta_O))))
(approx %18 (*.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i %490)) v) %36) %52))
(approx %18 (/.f32 (approx %172 (/.f32 (fma.f32 #s(literal -1/2 binary32) %262 %181) v)) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %24 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %260))))))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (/.f32 (fma.f32 #s(literal -1/2 binary32) %413 (*.f32 #s(literal 1/2 binary32) (/.f32 %134 sinTheta_O))) v)))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %405 v)) (* 1/2 (/ cosTheta_i sinTheta_O))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %20 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %260))))))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %546 v) (*.f32 #s(literal 1/2 binary32) (/.f32 %28 sinTheta_O))))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O (approx %178 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %433 (*.f32 #s(literal 1/2 binary32) (/.f32 %126 sinTheta_O))))))) v)) v))
(*.f32 (approx (/ (* %142 cosTheta_i) %16) (*.f32 v %336)) %162)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O %28) (*.f32 #s(literal 2 binary32) (/.f32 v %546)))))))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (approx (+ (* -1 sinTheta_O) (/ v sinTheta_i)) (*.f32 sinTheta_O (-.f32 (/.f32 v %260) #s(literal 1 binary32))))))) %398)
(*.f32 (approx %388 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %323 #s(literal 1 binary32))))) %398)
(*.f32 %403 (/.f32 #s(literal 1 binary32) (/.f32 %71 %115)))
(*.f32 %316 %456)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %490 %126) (/.f32 #s(literal 2 binary32) cosTheta_i))) %150))))
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (*.f32 v %609) cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 %260 %134) (*.f32 #s(literal 2 binary32) %150)) cosTheta_i)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 %609 cosTheta_O)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (approx %103 (/.f32 (fma.f32 #s(literal 2 binary32) %47 (*.f32 #s(literal 2 binary32) (/.f32 %260 cosTheta_O))) v)) cosTheta_i)))))
(approx %131 (*.f32 cosTheta_O (/.f32 cosTheta_i %640)))
(approx %131 (*.f32 cosTheta_i (/.f32 cosTheta_O %640)))
(approx %131 (/.f32 %35 %640))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %650)))
(approx %131 (*.f32 cosTheta_i (/.f32 cosTheta_O %650)))
(approx %131 (/.f32 %35 %650))
(approx %131 (*.f32 cosTheta_O (/.f32 %20 %639)))
(approx %131 (*.f32 cosTheta_i (/.f32 %24 %639)))
(/.f32 (/.f32 %35 (approx (* v %68) v)) %639)
(approx %18 (*.f32 cosTheta_O (/.f32 %132 %649)))
(approx %131 (*.f32 cosTheta_O (/.f32 %672 %119)))
(approx %131 (*.f32 %132 %676))
(approx %131 (/.f32 %679 %119))
(approx %131 (/.f32 %146 %649))
(*.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i %684)) %200)
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O %684)) %200)
(*.f32 (/.f32 %35 %684) %200)
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %260 %180) (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %28))))))
(approx %18 (*.f32 cosTheta_O (/.f32 %700 %649)))
(approx %131 (/.f32 %132 (*.f32 %638 (/.f32 #s(literal 2 binary32) cosTheta_O))))
(approx %131 (/.f32 (/.f32 %679 v) v))
(approx %131 (*.f32 %700 %676))
(*.f32 (*.f32 cosTheta_O (/.f32 %20 %638)) %200)
(*.f32 (/.f32 cosTheta_O (*.f32 %43 %638)) %200)
(*.f32 (/.f32 %21 %638) %200)
(*.f32 (/.f32 %25 %638) %200)
(*.f32 (/.f32 %115 %638) %200)
(*.f32 (/.f32 %44 %638) %200)
(approx %131 (*.f32 %35 (/.f32 #s(literal 1 binary32) %640)))
(approx %131 (/.f32 #s(literal 1 binary32) (/.f32 %640 %35)))
(/.f32 %734 %639)
(/.f32 %736 %639)
(approx %18 (*.f32 %120 (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) %649))))
(/.f32 %734 %742)
(/.f32 %736 %742)
(/.f32 (*.f32 %35 (approx (* %13 %142) %52)) %742)
Outputs
%14 = (/.f32 #s(literal 1 binary32) v)
(/.f32 (*.f32 (*.f32 cosTheta_i cosTheta_O) (approx (* (/ 1 v) (exp (* (neg sinTheta_i) (/ sinTheta_O v)))) %14)) (*.f32 (*.f32 (sinh.f32 %14) #s(literal 2 binary32)) v))
Call 15
Inputs
%4 = (/ (* sinTheta_i sinTheta_O) v)
%6 = (exp (neg %4))
%9 = (* cosTheta_i cosTheta_O)
%10 = (/ %9 v)
%13 = (/ 1 v)
%14 = (sinh %13)
%16 = (* %14 2)
%17 = (* %16 v)
%18 = (/ (* %6 %10) %17)
%20 = (/.f32 cosTheta_i v)
%21 = (*.f32 cosTheta_O %20)
%24 = (/.f32 cosTheta_O v)
%25 = (*.f32 cosTheta_i %24)
%28 = (*.f32 cosTheta_O cosTheta_i)
%32 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%35 = (*.f32 cosTheta_i cosTheta_O)
%36 = (*.f32 #s(literal 1/2 binary32) %35)
%43 = (/.f32 v cosTheta_i)
%44 = (/.f32 cosTheta_O %43)
%47 = (/.f32 v cosTheta_O)
%52 = (/.f32 #s(literal 1 binary32) v)
%53 = (*.f32 cosTheta_i %52)
%54 = (*.f32 cosTheta_O %53)
%58 = (*.f32 cosTheta_i (*.f32 cosTheta_O %52))
%61 = (*.f32 %35 %52)
%66 = (+ v v)
%67 = (* %14 %66)
%68 = (exp %4)
%69 = (/ %10 %68)
%70 = (/ %67 %69)
%71 = (+.f32 v v)
%75 = (/.f32 #s(literal 1 binary32) %47)
%79 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%80 = (*.f32 v %79)
%89 = (* sinTheta_O sinTheta_i)
%90 = (* cosTheta_i v)
%91 = (* cosTheta_O %90)
%94 = (* cosTheta_O cosTheta_i)
%97 = (+ (* 2 (/ %89 %91)) (* 2 (/ 1 %94)))
%103 = (+ (* 2 (/ %89 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O)))
%115 = (/.f32 %35 v)
%119 = (*.f32 v v)
%120 = (/.f32 cosTheta_O %119)
%126 = (*.f32 cosTheta_i v)
%127 = (*.f32 #s(literal 1/2 binary32) %126)
%128 = (approx (/ cosTheta_i (- (exp %13) (exp (neg %13)))) %127)
%131 = (/ %69 %17)
%132 = (/.f32 cosTheta_i %119)
%134 = (*.f32 cosTheta_O v)
%142 = (exp (* (neg sinTheta_i) (/ sinTheta_O v)))
%143 = (/ %142 %16)
%145 = (approx %143 (*.f32 #s(literal 1/2 binary32) v))
%146 = (*.f32 cosTheta_i %120)
%150 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%157 = (approx %16 (/.f32 #s(literal 2 binary32) v))
%158 = (*.f32 %119 %157)
%162 = (/.f32 %24 v)
%166 = (* cosTheta_i %89)
%167 = (* cosTheta_O %166)
%172 = (+ (* -1/2 (/ %167 v)) (* 1/2 %94))
%175 = (+ (* -1/2 %167) (* 1/2 %91))
%178 = (+ (* -1/2 %166) (* 1/2 %90))
%180 = (*.f32 cosTheta_O %126)
%181 = (*.f32 #s(literal 1/2 binary32) %180)
%200 = (approx (/ %142 %66) (/.f32 #s(literal 1/2 binary32) v))
%202 = (/ %142 %67)
%203 = (/ %89 v)
%205 = (+ 1/2 (* -1/2 %203))
%210 = (+ (* -1/2 (/ sinTheta_i v)) (* 1/2 (/ 1 sinTheta_O)))
%218 = (*.f32 v (/.f32 #s(literal 1 binary32) %35))
%253 = (/.f32 #s(literal 1 binary32) %119)
%260 = (*.f32 sinTheta_O sinTheta_i)
%261 = (*.f32 cosTheta_i %260)
%262 = (*.f32 cosTheta_O %261)
%263 = (/.f32 %262 v)
%300 = (/.f32 %119 cosTheta_i)
%316 = (/.f32 #s(literal 1 binary32) (/.f32 v %35))
%323 = (/.f32 %260 v)
%336 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %261 v) %32)
%341 = (/ %6 %14)
%346 = (/.f32 sinTheta_O v)
%357 = (neg.f32 sinTheta_O)
%358 = (/.f32 v sinTheta_i)
%371 = (fma.f32 #s(literal -1/2 binary32) %261 %127)
%388 = (/ %142 %14)
%391 = (* -1 (* v (- %203 1)))
%393 = (/.f32 v sinTheta_O)
%398 = (/.f32 %115 %71)
%403 = (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) sinTheta_O %358))))
%405 = (* cosTheta_i sinTheta_i)
%411 = (+ (* -1/2 (/ (* cosTheta_O %405) v)) (* 1/2 (/ %94 sinTheta_O)))
%412 = (* sinTheta_O %411)
%413 = (*.f32 cosTheta_O sinTheta_i)
%416 = (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O sinTheta_O))
%425 = (/.f32 sinTheta_i v)
%433 = (*.f32 cosTheta_i sinTheta_i)
%449 = (approx %202 (approx %205 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %425 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) sinTheta_O))))))
%451 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%456 = (approx %202 (approx %205 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (*.f32 #s(literal 1/2 binary32) %451)))))
%473 = (* v %97)
%490 = (*.f32 sinTheta_i sinTheta_O)
%507 = (+ (* -1/2 (/ (* cosTheta_O sinTheta_i) v)) (* 1/2 (/ cosTheta_O sinTheta_O)))
%546 = (*.f32 cosTheta_O %433)
%609 = (fma.f32 #s(literal 2 binary32) (/.f32 %260 %126) (*.f32 #s(literal 2 binary32) %79))
%638 = (sinh.f32 %52)
%639 = (*.f32 %638 %71)
%640 = (*.f32 v %639)
%649 = (*.f32 %638 #s(literal 2 binary32))
%650 = (*.f32 %119 %649)
%665 = (* v %68)
%672 = (/.f32 cosTheta_i %649)
%676 = (/.f32 cosTheta_O %649)
%679 = (*.f32 cosTheta_O %672)
%684 = (*.f32 v %638)
%700 = (/.f32 %20 v)
%733 = (approx %6 #s(literal 1 binary32))
%734 = (*.f32 %733 %25)
%736 = (*.f32 %733 %115)
%738 = (/.f32 #s(literal 1 binary32) %649)
%742 = (*.f32 %649 v)
%752 = (/.f32 #s(literal 1 binary32) %638)
%753 = (approx %388 %752)
%784 = (approx %665 (+.f32 v %260))
(approx %18 (*.f32 #s(literal 1/2 binary32) %21))
(approx %18 (*.f32 #s(literal 1/2 binary32) %25))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 %28 v)))
(approx %18 (*.f32 %32 %24))
(approx %18 (/.f32 %36 v))
(approx %18 (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) %44))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %47)))
(approx %18 (*.f32 #s(literal 1/2 binary32) %54))
(approx %18 (*.f32 #s(literal 1/2 binary32) %58))
(approx %18 (*.f32 #s(literal 1/2 binary32) %61))
(approx %18 (*.f32 %36 %52))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 %71 %35)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i %75)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %80)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 v %28))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (approx (/ %103 cosTheta_i) (/.f32 #s(literal 2 binary32) %28))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %43 cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 #s(literal 2 binary32) %115)))
(approx %18 (*.f32 %120 %128))
(approx %131 (*.f32 %132 (approx (/ cosTheta_O %16) (*.f32 #s(literal 1/2 binary32) %134))))
(*.f32 %145 %146)
(*.f32 %145 (/.f32 %35 %119))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (*.f32 v %150)))))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %158)))
(approx %18 (*.f32 %162 %128))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (approx (* cosTheta_O %178) %181)) v)) v))
(approx %131 (/.f32 %35 %158))
(*.f32 %145 (*.f32 %20 %24))
(*.f32 %145 (/.f32 %115 v))
(*.f32 (/.f32 (approx (* %9 (/ 1 %14)) %180) v) %200)
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 #s(literal 1/2 binary32) sinTheta_O))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) %218)))
(/.f32 (*.f32 %145 %25) v)
(/.f32 (*.f32 %145 %115) v)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) %24)))))
(approx %131 (*.f32 %132 (/.f32 cosTheta_O %157)))
(approx %131 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i %157)) %119))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (*.f32 v (/.f32 %79 cosTheta_O)))))
(/.f32 (*.f32 %145 %44) v)
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %115))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %80 cosTheta_O))))
(approx %18 (*.f32 (*.f32 cosTheta_O %253) %128))
(*.f32 %145 (*.f32 %35 %253))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) %263)) v))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (approx sinTheta_i #s(literal 0 binary32))))) v))) v))
(*.f32 %145 (*.f32 cosTheta_i (*.f32 %24 %52)))
(*.f32 %145 (*.f32 %53 %24))
(*.f32 %145 (*.f32 %115 %52))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 %119 %35)))
(*.f32 %145 (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 v %24))))
(*.f32 %145 (*.f32 (/.f32 #s(literal 1 binary32) %43) %24))
(*.f32 %145 (*.f32 %20 %75))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %47)))
(approx %18 (/.f32 #s(literal 1 binary32) (*.f32 %300 (approx (/ %16 cosTheta_O) (/.f32 #s(literal 2 binary32) %134)))))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 v %43) cosTheta_O)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %61))))
(/.f32 (*.f32 %145 %316) v)
(/.f32 (*.f32 (approx %143 (/.f32 #s(literal 1 binary32) %157)) %115) v)
(*.f32 %115 (approx %202 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/2 binary32) %323))))
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) %218)) v)
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %150))) v)
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O %336)) v))
(*.f32 %115 (approx (/ %341 (* 2 v)) (approx (+ 1/2 (* -1/2 %4)) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (/.f32 #s(literal 1/2 binary32) sinTheta_i))))))
(*.f32 (approx %341 (approx (neg (* v (+ %4 -1))) (*.f32 sinTheta_i (+.f32 %357 %358)))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v %71))))
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %166 v)) (* 1/2 cosTheta_i)) (/.f32 %371 v)))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O %371)) v)) v))
(approx %18 (/.f32 (fma.f32 #s(literal -1/2 binary32) %263 (*.f32 #s(literal 1/2 binary32) %28)) v))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) sinTheta_i %393)))) %398)
(*.f32 %403 %398)
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %413 v) %416))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 (*.f32 cosTheta_i sinTheta_O) (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_O %425) %416)))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %433 v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i sinTheta_O))))))) v))
(*.f32 %25 %449)
(*.f32 %25 %456)
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 (fma.f32 #s(literal -1/2 binary32) sinTheta_i (*.f32 #s(literal 1/2 binary32) %393)) v))))))
(*.f32 %115 %449)
(*.f32 %115 %456)
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 v %451 %357)))) %398)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (approx (* v (+ (* 2 (/ %89 %90)) (* 2 (/ 1 cosTheta_i)))) (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O cosTheta_i) (*.f32 #s(literal 2 binary32) (/.f32 v %433))))) cosTheta_O))))
(approx %18 (*.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i %490)) v) %36) %52))
(approx %18 (/.f32 (approx %172 (/.f32 (fma.f32 #s(literal -1/2 binary32) %262 %181) v)) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %24 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %260))))))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (/.f32 (fma.f32 #s(literal -1/2 binary32) %413 (*.f32 #s(literal 1/2 binary32) (/.f32 %134 sinTheta_O))) v)))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %405 v)) (* 1/2 (/ cosTheta_i sinTheta_O))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %20 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %260))))))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %546 v) (*.f32 #s(literal 1/2 binary32) (/.f32 %28 sinTheta_O))))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O (approx %178 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %433 (*.f32 #s(literal 1/2 binary32) (/.f32 %126 sinTheta_O))))))) v)) v))
(*.f32 (approx (/ (* %142 cosTheta_i) %16) (*.f32 v %336)) %162)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O %28) (*.f32 #s(literal 2 binary32) (/.f32 v %546)))))))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (approx (+ (* -1 sinTheta_O) (/ v sinTheta_i)) (*.f32 sinTheta_O (-.f32 (/.f32 v %260) #s(literal 1 binary32))))))) %398)
(*.f32 (approx %388 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %323 #s(literal 1 binary32))))) %398)
(*.f32 %403 (/.f32 #s(literal 1 binary32) (/.f32 %71 %115)))
(*.f32 %316 %456)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %490 %126) (/.f32 #s(literal 2 binary32) cosTheta_i))) %150))))
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (*.f32 v %609) cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 %260 %134) (*.f32 #s(literal 2 binary32) %150)) cosTheta_i)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 %609 cosTheta_O)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (approx %103 (/.f32 (fma.f32 #s(literal 2 binary32) %47 (*.f32 #s(literal 2 binary32) (/.f32 %260 cosTheta_O))) v)) cosTheta_i)))))
(approx %131 (*.f32 cosTheta_O (/.f32 cosTheta_i %640)))
(approx %131 (*.f32 cosTheta_i (/.f32 cosTheta_O %640)))
(approx %131 (/.f32 %35 %640))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %650)))
(approx %131 (*.f32 cosTheta_i (/.f32 cosTheta_O %650)))
(approx %131 (/.f32 %35 %650))
(approx %131 (*.f32 cosTheta_O (/.f32 %20 %639)))
(approx %131 (*.f32 cosTheta_i (/.f32 %24 %639)))
(/.f32 (/.f32 %35 (approx %665 v)) %639)
(approx %18 (*.f32 cosTheta_O (/.f32 %132 %649)))
(approx %131 (*.f32 cosTheta_O (/.f32 %672 %119)))
(approx %131 (*.f32 %132 %676))
(approx %131 (/.f32 %679 %119))
(approx %131 (/.f32 %146 %649))
(*.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i %684)) %200)
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O %684)) %200)
(*.f32 (/.f32 %35 %684) %200)
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %260 %180) (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %28))))))
(approx %18 (*.f32 cosTheta_O (/.f32 %700 %649)))
(approx %131 (/.f32 %132 (*.f32 %638 (/.f32 #s(literal 2 binary32) cosTheta_O))))
(approx %131 (/.f32 (/.f32 %679 v) v))
(approx %131 (*.f32 %700 %676))
(*.f32 (*.f32 cosTheta_O (/.f32 %20 %638)) %200)
(*.f32 (/.f32 cosTheta_O (*.f32 %43 %638)) %200)
(*.f32 (/.f32 %21 %638) %200)
(*.f32 (/.f32 %25 %638) %200)
(*.f32 (/.f32 %115 %638) %200)
(*.f32 (/.f32 %44 %638) %200)
(approx %131 (*.f32 %35 (/.f32 #s(literal 1 binary32) %640)))
(approx %131 (/.f32 #s(literal 1 binary32) (/.f32 %640 %35)))
(/.f32 %734 %639)
(/.f32 %736 %639)
(approx %18 (*.f32 %120 (*.f32 cosTheta_i %738)))
(/.f32 %734 %742)
(/.f32 %736 %742)
(/.f32 (*.f32 %35 (approx (* %13 %142) %52)) %742)
(approx %131 (*.f32 (*.f32 cosTheta_i %253) %676))
(*.f32 %753 (*.f32 cosTheta_i (/.f32 %24 %71)))
(*.f32 %753 (/.f32 %25 %71))
(*.f32 %753 %398)
(approx %18 (/.f32 #s(literal 1 binary32) (*.f32 %300 (/.f32 %649 cosTheta_O))))
(*.f32 (/.f32 %58 %638) %200)
(*.f32 (/.f32 %61 %638) %200)
(*.f32 (/.f32 (*.f32 %35 %752) v) %200)
(/.f32 (*.f32 (approx %143 %738) %115) v)
(approx %131 (/.f32 %35 (*.f32 %119 (/.f32 #s(literal 2 binary32) %752))))
(*.f32 (*.f32 %115 %752) %200)
(*.f32 (*.f32 (/.f32 %35 %638) %52) %200)
(/.f32 %35 (*.f32 %784 %639))
(/.f32 (/.f32 %35 %784) %639)
(/.f32 (*.f32 %733 %54) %639)
Outputs
%11 = (/.f32 #s(literal 1 binary32) v)
(/.f32 (*.f32 (approx (exp (neg (/ (* sinTheta_i sinTheta_O) v))) #s(literal 1 binary32)) (*.f32 cosTheta_O (*.f32 cosTheta_i %11))) (*.f32 (sinh.f32 %11) (+.f32 v v)))
Call 16
Inputs
%4 = (/ (* sinTheta_i sinTheta_O) v)
%6 = (exp (neg %4))
%9 = (* cosTheta_i cosTheta_O)
%10 = (/ %9 v)
%13 = (/ 1 v)
%14 = (sinh %13)
%16 = (* %14 2)
%17 = (* %16 v)
%18 = (/ (* %6 %10) %17)
%20 = (/.f32 cosTheta_i v)
%21 = (*.f32 cosTheta_O %20)
%24 = (/.f32 cosTheta_O v)
%25 = (*.f32 cosTheta_i %24)
%28 = (*.f32 cosTheta_O cosTheta_i)
%32 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%35 = (*.f32 cosTheta_i cosTheta_O)
%36 = (*.f32 #s(literal 1/2 binary32) %35)
%43 = (/.f32 v cosTheta_i)
%44 = (/.f32 cosTheta_O %43)
%47 = (/.f32 v cosTheta_O)
%52 = (/.f32 #s(literal 1 binary32) v)
%53 = (*.f32 cosTheta_i %52)
%54 = (*.f32 cosTheta_O %53)
%58 = (*.f32 cosTheta_i (*.f32 cosTheta_O %52))
%61 = (*.f32 %35 %52)
%66 = (+ v v)
%67 = (* %14 %66)
%68 = (exp %4)
%69 = (/ %10 %68)
%70 = (/ %67 %69)
%71 = (+.f32 v v)
%75 = (/.f32 #s(literal 1 binary32) %47)
%79 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%80 = (*.f32 v %79)
%89 = (* sinTheta_O sinTheta_i)
%90 = (* cosTheta_i v)
%91 = (* cosTheta_O %90)
%94 = (* cosTheta_O cosTheta_i)
%97 = (+ (* 2 (/ %89 %91)) (* 2 (/ 1 %94)))
%103 = (+ (* 2 (/ %89 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O)))
%115 = (/.f32 %35 v)
%119 = (*.f32 v v)
%120 = (/.f32 cosTheta_O %119)
%126 = (*.f32 cosTheta_i v)
%127 = (*.f32 #s(literal 1/2 binary32) %126)
%128 = (approx (/ cosTheta_i (- (exp %13) (exp (neg %13)))) %127)
%131 = (/ %69 %17)
%132 = (/.f32 cosTheta_i %119)
%134 = (*.f32 cosTheta_O v)
%140 = (/ sinTheta_O v)
%142 = (exp (* (neg sinTheta_i) %140))
%143 = (/ %142 %16)
%145 = (approx %143 (*.f32 #s(literal 1/2 binary32) v))
%146 = (*.f32 cosTheta_i %120)
%150 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%157 = (approx %16 (/.f32 #s(literal 2 binary32) v))
%158 = (*.f32 %119 %157)
%162 = (/.f32 %24 v)
%166 = (* cosTheta_i %89)
%167 = (* cosTheta_O %166)
%172 = (+ (* -1/2 (/ %167 v)) (* 1/2 %94))
%175 = (+ (* -1/2 %167) (* 1/2 %91))
%178 = (+ (* -1/2 %166) (* 1/2 %90))
%180 = (*.f32 cosTheta_O %126)
%181 = (*.f32 #s(literal 1/2 binary32) %180)
%200 = (approx (/ %142 %66) (/.f32 #s(literal 1/2 binary32) v))
%202 = (/ %142 %67)
%203 = (/ %89 v)
%205 = (+ 1/2 (* -1/2 %203))
%206 = (/ sinTheta_i v)
%208 = (/ 1 sinTheta_O)
%210 = (+ (* -1/2 %206) (* 1/2 %208))
%218 = (*.f32 v (/.f32 #s(literal 1 binary32) %35))
%253 = (/.f32 #s(literal 1 binary32) %119)
%260 = (*.f32 sinTheta_O sinTheta_i)
%261 = (*.f32 cosTheta_i %260)
%262 = (*.f32 cosTheta_O %261)
%263 = (/.f32 %262 v)
%300 = (/.f32 %119 cosTheta_i)
%316 = (/.f32 #s(literal 1 binary32) (/.f32 v %35))
%323 = (/.f32 %260 v)
%336 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %261 v) %32)
%341 = (/ %6 %14)
%346 = (/.f32 sinTheta_O v)
%357 = (neg.f32 sinTheta_O)
%358 = (/.f32 v sinTheta_i)
%371 = (fma.f32 #s(literal -1/2 binary32) %261 %127)
%388 = (/ %142 %14)
%391 = (* -1 (* v (- %203 1)))
%393 = (/.f32 v sinTheta_O)
%394 = (fma.f32 #s(literal -1 binary32) sinTheta_i %393)
%398 = (/.f32 %115 %71)
%400 = (fma.f32 #s(literal -1 binary32) sinTheta_O %358)
%403 = (approx %388 (approx %391 (*.f32 sinTheta_i %400)))
%405 = (* cosTheta_i sinTheta_i)
%411 = (+ (* -1/2 (/ (* cosTheta_O %405) v)) (* 1/2 (/ %94 sinTheta_O)))
%412 = (* sinTheta_O %411)
%413 = (*.f32 cosTheta_O sinTheta_i)
%416 = (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O sinTheta_O))
%425 = (/.f32 sinTheta_i v)
%433 = (*.f32 cosTheta_i sinTheta_i)
%444 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%449 = (approx %202 (approx %205 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %425 (*.f32 #s(literal 1/2 binary32) %444)))))
%451 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%456 = (approx %202 (approx %205 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (*.f32 #s(literal 1/2 binary32) %451)))))
%473 = (* v %97)
%490 = (*.f32 sinTheta_i sinTheta_O)
%507 = (+ (* -1/2 (/ (* cosTheta_O sinTheta_i) v)) (* 1/2 (/ cosTheta_O sinTheta_O)))
%546 = (*.f32 cosTheta_O %433)
%609 = (fma.f32 #s(literal 2 binary32) (/.f32 %260 %126) (*.f32 #s(literal 2 binary32) %79))
%638 = (sinh.f32 %52)
%639 = (*.f32 %638 %71)
%640 = (*.f32 v %639)
%645 = (*.f32 cosTheta_i (/.f32 cosTheta_O %640))
%647 = (/.f32 %35 %640)
%649 = (*.f32 %638 #s(literal 2 binary32))
%650 = (*.f32 %119 %649)
%662 = (/.f32 %24 %639)
%665 = (* v %68)
%672 = (/.f32 cosTheta_i %649)
%676 = (/.f32 cosTheta_O %649)
%679 = (*.f32 cosTheta_O %672)
%684 = (*.f32 v %638)
%700 = (/.f32 %20 v)
%733 = (approx %6 #s(literal 1 binary32))
%734 = (*.f32 %733 %25)
%736 = (*.f32 %733 %115)
%738 = (/.f32 #s(literal 1 binary32) %649)
%742 = (*.f32 %649 v)
%752 = (/.f32 #s(literal 1 binary32) %638)
%753 = (approx %388 %752)
%784 = (approx %665 (+.f32 v %260))
%789 = (*.f32 %733 %54)
%802 = (exp.f32 %52)
%805 = (-.f32 %802 (exp.f32 (/.f32 #s(literal -1 binary32) v)))
%814 = (-.f32 %802 (exp.f32 (neg.f32 %52)))
%815 = (*.f32 %119 %814)
%822 = (approx %68 (+.f32 #s(literal 1 binary32) %323))
%829 = (neg.f32 sinTheta_i)
%840 = (+ 1 (* -1 %203))
%842 = (+ (* -1 %206) %208)
%893 = (/ 1 sinTheta_i)
%916 = (*.f32 v (exp.f32 (/.f32 %490 v)))
%919 = (+ 1 %203)
%940 = (exp.f32 (*.f32 %829 %346))
(approx %18 (*.f32 #s(literal 1/2 binary32) %21))
(approx %18 (*.f32 #s(literal 1/2 binary32) %25))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 %28 v)))
(approx %18 (*.f32 %32 %24))
(approx %18 (/.f32 %36 v))
(approx %18 (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) %44))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %47)))
(approx %18 (*.f32 #s(literal 1/2 binary32) %54))
(approx %18 (*.f32 #s(literal 1/2 binary32) %58))
(approx %18 (*.f32 #s(literal 1/2 binary32) %61))
(approx %18 (*.f32 %36 %52))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 %71 %35)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i %75)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %80)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 v %28))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (approx (/ %103 cosTheta_i) (/.f32 #s(literal 2 binary32) %28))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %43 cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 #s(literal 2 binary32) %115)))
(approx %18 (*.f32 %120 %128))
(approx %131 (*.f32 %132 (approx (/ cosTheta_O %16) (*.f32 #s(literal 1/2 binary32) %134))))
(*.f32 %145 %146)
(*.f32 %145 (/.f32 %35 %119))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (*.f32 v %150)))))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %158)))
(approx %18 (*.f32 %162 %128))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (approx (* cosTheta_O %178) %181)) v)) v))
(approx %131 (/.f32 %35 %158))
(*.f32 %145 (*.f32 %20 %24))
(*.f32 %145 (/.f32 %115 v))
(*.f32 (/.f32 (approx (* %9 (/ 1 %14)) %180) v) %200)
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 #s(literal 1/2 binary32) sinTheta_O))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) %218)))
(/.f32 (*.f32 %145 %25) v)
(/.f32 (*.f32 %145 %115) v)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) %24)))))
(approx %131 (*.f32 %132 (/.f32 cosTheta_O %157)))
(approx %131 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i %157)) %119))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (*.f32 v (/.f32 %79 cosTheta_O)))))
(/.f32 (*.f32 %145 %44) v)
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %115))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %80 cosTheta_O))))
(approx %18 (*.f32 (*.f32 cosTheta_O %253) %128))
(*.f32 %145 (*.f32 %35 %253))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) %263)) v))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (approx sinTheta_i #s(literal 0 binary32))))) v))) v))
(*.f32 %145 (*.f32 cosTheta_i (*.f32 %24 %52)))
(*.f32 %145 (*.f32 %53 %24))
(*.f32 %145 (*.f32 %115 %52))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 %119 %35)))
(*.f32 %145 (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 v %24))))
(*.f32 %145 (*.f32 (/.f32 #s(literal 1 binary32) %43) %24))
(*.f32 %145 (*.f32 %20 %75))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %47)))
(approx %18 (/.f32 #s(literal 1 binary32) (*.f32 %300 (approx (/ %16 cosTheta_O) (/.f32 #s(literal 2 binary32) %134)))))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 v %43) cosTheta_O)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %61))))
(/.f32 (*.f32 %145 %316) v)
(/.f32 (*.f32 (approx %143 (/.f32 #s(literal 1 binary32) %157)) %115) v)
(*.f32 %115 (approx %202 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/2 binary32) %323))))
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) %218)) v)
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %150))) v)
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O %336)) v))
(*.f32 %115 (approx (/ %341 (* 2 v)) (approx (+ 1/2 (* -1/2 %4)) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (/.f32 #s(literal 1/2 binary32) sinTheta_i))))))
(*.f32 (approx %341 (approx (neg (* v (+ %4 -1))) (*.f32 sinTheta_i (+.f32 %357 %358)))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v %71))))
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %166 v)) (* 1/2 cosTheta_i)) (/.f32 %371 v)))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O %371)) v)) v))
(approx %18 (/.f32 (fma.f32 #s(literal -1/2 binary32) %263 (*.f32 #s(literal 1/2 binary32) %28)) v))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_O %394))) %398)
(*.f32 %403 %398)
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %413 v) %416))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 (*.f32 cosTheta_i sinTheta_O) (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_O %425) %416)))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %433 v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i sinTheta_O))))))) v))
(*.f32 %25 %449)
(*.f32 %25 %456)
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 (fma.f32 #s(literal -1/2 binary32) sinTheta_i (*.f32 #s(literal 1/2 binary32) %393)) v))))))
(*.f32 %115 %449)
(*.f32 %115 %456)
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 v %451 %357)))) %398)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (approx (* v (+ (* 2 (/ %89 %90)) (* 2 (/ 1 cosTheta_i)))) (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O cosTheta_i) (*.f32 #s(literal 2 binary32) (/.f32 v %433))))) cosTheta_O))))
(approx %18 (*.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i %490)) v) %36) %52))
(approx %18 (/.f32 (approx %172 (/.f32 (fma.f32 #s(literal -1/2 binary32) %262 %181) v)) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %24 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %260))))))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (/.f32 (fma.f32 #s(literal -1/2 binary32) %413 (*.f32 #s(literal 1/2 binary32) (/.f32 %134 sinTheta_O))) v)))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %405 v)) (* 1/2 (/ cosTheta_i sinTheta_O))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %20 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %260))))))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %546 v) (*.f32 #s(literal 1/2 binary32) (/.f32 %28 sinTheta_O))))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O (approx %178 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %433 (*.f32 #s(literal 1/2 binary32) (/.f32 %126 sinTheta_O))))))) v)) v))
(*.f32 (approx (/ (* %142 cosTheta_i) %16) (*.f32 v %336)) %162)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O %28) (*.f32 #s(literal 2 binary32) (/.f32 v %546)))))))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (approx (+ (* -1 sinTheta_O) (/ v sinTheta_i)) (*.f32 sinTheta_O (-.f32 (/.f32 v %260) #s(literal 1 binary32))))))) %398)
(*.f32 (approx %388 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %323 #s(literal 1 binary32))))) %398)
(*.f32 %403 (/.f32 #s(literal 1 binary32) (/.f32 %71 %115)))
(*.f32 %316 %456)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %490 %126) (/.f32 #s(literal 2 binary32) cosTheta_i))) %150))))
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (*.f32 v %609) cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 %260 %134) (*.f32 #s(literal 2 binary32) %150)) cosTheta_i)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 %609 cosTheta_O)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (approx %103 (/.f32 (fma.f32 #s(literal 2 binary32) %47 (*.f32 #s(literal 2 binary32) (/.f32 %260 cosTheta_O))) v)) cosTheta_i)))))
(approx %131 (*.f32 cosTheta_O (/.f32 cosTheta_i %640)))
(approx %131 %645)
(approx %131 %647)
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %650)))
(approx %131 (*.f32 cosTheta_i (/.f32 cosTheta_O %650)))
(approx %131 (/.f32 %35 %650))
(approx %131 (*.f32 cosTheta_O (/.f32 %20 %639)))
(approx %131 (*.f32 cosTheta_i %662))
(/.f32 (/.f32 %35 (approx %665 v)) %639)
(approx %18 (*.f32 cosTheta_O (/.f32 %132 %649)))
(approx %131 (*.f32 cosTheta_O (/.f32 %672 %119)))
(approx %131 (*.f32 %132 %676))
(approx %131 (/.f32 %679 %119))
(approx %131 (/.f32 %146 %649))
(*.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i %684)) %200)
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O %684)) %200)
(*.f32 (/.f32 %35 %684) %200)
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %260 %180) (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %28))))))
(approx %18 (*.f32 cosTheta_O (/.f32 %700 %649)))
(approx %131 (/.f32 %132 (*.f32 %638 (/.f32 #s(literal 2 binary32) cosTheta_O))))
(approx %131 (/.f32 (/.f32 %679 v) v))
(approx %131 (*.f32 %700 %676))
(*.f32 (*.f32 cosTheta_O (/.f32 %20 %638)) %200)
(*.f32 (/.f32 cosTheta_O (*.f32 %43 %638)) %200)
(*.f32 (/.f32 %21 %638) %200)
(*.f32 (/.f32 %25 %638) %200)
(*.f32 (/.f32 %115 %638) %200)
(*.f32 (/.f32 %44 %638) %200)
(approx %131 (*.f32 %35 (/.f32 #s(literal 1 binary32) %640)))
(approx %131 (/.f32 #s(literal 1 binary32) (/.f32 %640 %35)))
(/.f32 %734 %639)
(/.f32 %736 %639)
(approx %18 (*.f32 %120 (*.f32 cosTheta_i %738)))
(/.f32 %734 %742)
(/.f32 %736 %742)
(/.f32 (*.f32 %35 (approx (* %13 %142) %52)) %742)
(approx %131 (*.f32 (*.f32 cosTheta_i %253) %676))
(*.f32 %753 (*.f32 cosTheta_i (/.f32 %24 %71)))
(*.f32 %753 (/.f32 %25 %71))
(*.f32 %753 %398)
(approx %18 (/.f32 #s(literal 1 binary32) (*.f32 %300 (/.f32 %649 cosTheta_O))))
(*.f32 (/.f32 %58 %638) %200)
(*.f32 (/.f32 %61 %638) %200)
(*.f32 (/.f32 (*.f32 %35 %752) v) %200)
(/.f32 (*.f32 (approx %143 %738) %115) v)
(approx %131 (/.f32 %35 (*.f32 %119 (/.f32 #s(literal 2 binary32) %752))))
(*.f32 (*.f32 %115 %752) %200)
(*.f32 (*.f32 (/.f32 %35 %638) %52) %200)
(/.f32 %35 (*.f32 %784 %639))
(/.f32 (/.f32 %35 %784) %639)
(/.f32 %789 %639)
(/.f32 %789 %742)
(*.f32 (/.f32 %115 (/.f32 #s(literal 1 binary32) %752)) %200)
(/.f32 (/.f32 %35 (approx %665 (approx (+ v %89) (*.f32 sinTheta_O (+.f32 sinTheta_i %393))))) %639)
(approx %131 (/.f32 %35 (*.f32 %119 %805)))
(approx %18 (*.f32 %120 (/.f32 cosTheta_i %805)))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %815)))
(approx %131 (/.f32 %35 %815))
(/.f32 (/.f32 %35 (*.f32 v %822)) %639)
(approx %18 (*.f32 %120 (/.f32 cosTheta_i %814)))
(/.f32 (*.f32 (approx %6 (fma.f32 %829 %346 #s(literal 1 binary32))) %115) %639)
(/.f32 %736 (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %649)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (approx %6 (approx %840 (*.f32 sinTheta_O (approx %842 (/.f32 (approx (+ (* -1 sinTheta_i) (/ v sinTheta_O)) %393) v))))) %115) %742)
(approx %18 (*.f32 %35 (/.f32 #s(literal 1 binary32) %815)))
(approx %18 (/.f32 #s(literal 1 binary32) (/.f32 %815 %35)))
(/.f32 (*.f32 (approx %6 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) %323))) %115) %742)
(approx %131 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 %802 (expm1.f32 (*.f32 %52 #s(literal 2 binary32))))))) %119))
(/.f32 #s(literal 1 binary32) (/.f32 %639 (/.f32 %25 %822)))
(/.f32 #s(literal 1 binary32) (/.f32 %639 (/.f32 %115 %822)))
(/.f32 (*.f32 (approx %6 (approx %840 (*.f32 sinTheta_O (approx %842 (/.f32 %394 v))))) %115) %742)
(/.f32 (*.f32 (approx %6 (approx %840 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %425 %444)))) %115) %742)
(/.f32 (*.f32 (approx %6 (approx %840 (*.f32 sinTheta_i (approx (+ (* -1 %140) %893) (/.f32 %400 v))))) %115) %742)
(/.f32 (*.f32 (approx %6 (approx %840 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %346 %451)))) %115) %742)
(/.f32 (*.f32 (approx %143 (/.f32 #s(literal 1 binary32) (-.f32 %802 (/.f32 #s(literal 1 binary32) %802)))) %115) v)
(/.f32 %35 (*.f32 %916 %639))
(/.f32 #s(literal 1 binary32) (/.f32 %639 (/.f32 %115 (approx %68 (approx %919 (*.f32 sinTheta_i (approx (+ %893 %140) (/.f32 (+.f32 sinTheta_O %358) v))))))))
(/.f32 #s(literal 1 binary32) (/.f32 %639 (/.f32 %115 (approx %68 (approx %919 (*.f32 sinTheta_i (+.f32 %451 %346)))))))
(/.f32 (/.f32 %35 %916) %639)
(*.f32 %940 %645)
(*.f32 %940 %647)
(*.f32 (*.f32 %940 cosTheta_i) %662)
Outputs
(*.f32 (*.f32 (exp.f32 (*.f32 (neg.f32 sinTheta_i) (/.f32 sinTheta_O v))) cosTheta_i) (/.f32 (/.f32 cosTheta_O v) (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) (+.f32 v v))))
Call 17
Inputs
%4 = (/ (* sinTheta_i sinTheta_O) v)
%6 = (exp (neg %4))
%9 = (* cosTheta_i cosTheta_O)
%10 = (/ %9 v)
%13 = (/ 1 v)
%14 = (sinh %13)
%16 = (* %14 2)
%17 = (* %16 v)
%18 = (/ (* %6 %10) %17)
%20 = (/.f32 cosTheta_i v)
%21 = (*.f32 cosTheta_O %20)
%24 = (/.f32 cosTheta_O v)
%25 = (*.f32 cosTheta_i %24)
%28 = (*.f32 cosTheta_O cosTheta_i)
%32 = (*.f32 #s(literal 1/2 binary32) cosTheta_i)
%35 = (*.f32 cosTheta_i cosTheta_O)
%36 = (*.f32 #s(literal 1/2 binary32) %35)
%43 = (/.f32 v cosTheta_i)
%44 = (/.f32 cosTheta_O %43)
%47 = (/.f32 v cosTheta_O)
%52 = (/.f32 #s(literal 1 binary32) v)
%53 = (*.f32 cosTheta_i %52)
%54 = (*.f32 cosTheta_O %53)
%58 = (*.f32 cosTheta_i (*.f32 cosTheta_O %52))
%61 = (*.f32 %35 %52)
%66 = (+ v v)
%67 = (* %14 %66)
%68 = (exp %4)
%69 = (/ %10 %68)
%70 = (/ %67 %69)
%71 = (+.f32 v v)
%75 = (/.f32 #s(literal 1 binary32) %47)
%79 = (/.f32 #s(literal 1 binary32) cosTheta_i)
%80 = (*.f32 v %79)
%89 = (* sinTheta_O sinTheta_i)
%90 = (* cosTheta_i v)
%91 = (* cosTheta_O %90)
%94 = (* cosTheta_O cosTheta_i)
%97 = (+ (* 2 (/ %89 %91)) (* 2 (/ 1 %94)))
%103 = (+ (* 2 (/ %89 (* cosTheta_O v))) (* 2 (/ 1 cosTheta_O)))
%115 = (/.f32 %35 v)
%119 = (*.f32 v v)
%120 = (/.f32 cosTheta_O %119)
%126 = (*.f32 cosTheta_i v)
%127 = (*.f32 #s(literal 1/2 binary32) %126)
%128 = (approx (/ cosTheta_i (- (exp %13) (exp (neg %13)))) %127)
%131 = (/ %69 %17)
%132 = (/.f32 cosTheta_i %119)
%134 = (*.f32 cosTheta_O v)
%140 = (/ sinTheta_O v)
%142 = (exp (* (neg sinTheta_i) %140))
%143 = (/ %142 %16)
%145 = (approx %143 (*.f32 #s(literal 1/2 binary32) v))
%146 = (*.f32 cosTheta_i %120)
%148 = (/.f32 %35 %119)
%150 = (/.f32 #s(literal 1 binary32) cosTheta_O)
%157 = (approx %16 (/.f32 #s(literal 2 binary32) v))
%158 = (*.f32 %119 %157)
%162 = (/.f32 %24 v)
%166 = (* cosTheta_i %89)
%167 = (* cosTheta_O %166)
%172 = (+ (* -1/2 (/ %167 v)) (* 1/2 %94))
%175 = (+ (* -1/2 %167) (* 1/2 %91))
%178 = (+ (* -1/2 %166) (* 1/2 %90))
%180 = (*.f32 cosTheta_O %126)
%181 = (*.f32 #s(literal 1/2 binary32) %180)
%200 = (approx (/ %142 %66) (/.f32 #s(literal 1/2 binary32) v))
%202 = (/ %142 %67)
%203 = (/ %89 v)
%205 = (+ 1/2 (* -1/2 %203))
%206 = (/ sinTheta_i v)
%208 = (/ 1 sinTheta_O)
%210 = (+ (* -1/2 %206) (* 1/2 %208))
%218 = (*.f32 v (/.f32 #s(literal 1 binary32) %35))
%253 = (/.f32 #s(literal 1 binary32) %119)
%260 = (*.f32 sinTheta_O sinTheta_i)
%261 = (*.f32 cosTheta_i %260)
%262 = (*.f32 cosTheta_O %261)
%263 = (/.f32 %262 v)
%300 = (/.f32 %119 cosTheta_i)
%316 = (/.f32 #s(literal 1 binary32) (/.f32 v %35))
%323 = (/.f32 %260 v)
%336 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %261 v) %32)
%341 = (/ %6 %14)
%346 = (/.f32 sinTheta_O v)
%357 = (neg.f32 sinTheta_O)
%358 = (/.f32 v sinTheta_i)
%371 = (fma.f32 #s(literal -1/2 binary32) %261 %127)
%388 = (/ %142 %14)
%391 = (* -1 (* v (- %203 1)))
%393 = (/.f32 v sinTheta_O)
%394 = (fma.f32 #s(literal -1 binary32) sinTheta_i %393)
%398 = (/.f32 %115 %71)
%400 = (fma.f32 #s(literal -1 binary32) sinTheta_O %358)
%403 = (approx %388 (approx %391 (*.f32 sinTheta_i %400)))
%405 = (* cosTheta_i sinTheta_i)
%411 = (+ (* -1/2 (/ (* cosTheta_O %405) v)) (* 1/2 (/ %94 sinTheta_O)))
%412 = (* sinTheta_O %411)
%413 = (*.f32 cosTheta_O sinTheta_i)
%416 = (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O sinTheta_O))
%425 = (/.f32 sinTheta_i v)
%433 = (*.f32 cosTheta_i sinTheta_i)
%444 = (/.f32 #s(literal 1 binary32) sinTheta_O)
%449 = (approx %202 (approx %205 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %425 (*.f32 #s(literal 1/2 binary32) %444)))))
%451 = (/.f32 #s(literal 1 binary32) sinTheta_i)
%456 = (approx %202 (approx %205 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (*.f32 #s(literal 1/2 binary32) %451)))))
%473 = (* v %97)
%490 = (*.f32 sinTheta_i sinTheta_O)
%507 = (+ (* -1/2 (/ (* cosTheta_O sinTheta_i) v)) (* 1/2 (/ cosTheta_O sinTheta_O)))
%546 = (*.f32 cosTheta_O %433)
%609 = (fma.f32 #s(literal 2 binary32) (/.f32 %260 %126) (*.f32 #s(literal 2 binary32) %79))
%638 = (sinh.f32 %52)
%639 = (*.f32 %638 %71)
%640 = (*.f32 v %639)
%645 = (*.f32 cosTheta_i (/.f32 cosTheta_O %640))
%647 = (/.f32 %35 %640)
%649 = (*.f32 %638 #s(literal 2 binary32))
%650 = (*.f32 %119 %649)
%662 = (/.f32 %24 %639)
%665 = (* v %68)
%672 = (/.f32 cosTheta_i %649)
%676 = (/.f32 cosTheta_O %649)
%679 = (*.f32 cosTheta_O %672)
%684 = (*.f32 v %638)
%700 = (/.f32 %20 v)
%719 = (/.f32 %21 %638)
%723 = (/.f32 %115 %638)
%733 = (approx %6 #s(literal 1 binary32))
%734 = (*.f32 %733 %25)
%736 = (*.f32 %733 %115)
%738 = (/.f32 #s(literal 1 binary32) %649)
%742 = (*.f32 %649 v)
%752 = (/.f32 #s(literal 1 binary32) %638)
%753 = (approx %388 %752)
%755 = (*.f32 cosTheta_i (/.f32 %24 %71))
%757 = (/.f32 %25 %71)
%784 = (approx %665 (+.f32 v %260))
%789 = (*.f32 %733 %54)
%802 = (exp.f32 %52)
%805 = (-.f32 %802 (exp.f32 (/.f32 #s(literal -1 binary32) v)))
%814 = (-.f32 %802 (exp.f32 (neg.f32 %52)))
%815 = (*.f32 %119 %814)
%822 = (approx %68 (+.f32 #s(literal 1 binary32) %323))
%829 = (neg.f32 sinTheta_i)
%840 = (+ 1 (* -1 %203))
%842 = (+ (* -1 %206) %208)
%883 = (approx %6 (approx %840 (*.f32 sinTheta_O (approx %842 (/.f32 %394 v)))))
%893 = (/ 1 sinTheta_i)
%899 = (approx %6 (approx %840 (*.f32 sinTheta_i (approx (+ (* -1 %140) %893) (/.f32 %400 v)))))
%909 = (-.f32 %802 (/.f32 #s(literal 1 binary32) %802))
%914 = (/.f32 %490 v)
%915 = (exp.f32 %914)
%916 = (*.f32 v %915)
%919 = (+ 1 %203)
%940 = (exp.f32 (*.f32 %829 %346))
%943 = (*.f32 %940 cosTheta_i)
%951 = (approx %388 (/.f32 #s(literal 2 binary32) %909))
%959 = (/.f32 %940 %649)
%962 = (exp.f32 (neg.f32 %914))
%979 = (/.f32 %940 %638)
%982 = (/.f32 %940 %71)
(approx %18 (*.f32 #s(literal 1/2 binary32) %21))
(approx %18 (*.f32 #s(literal 1/2 binary32) %25))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 %28 v)))
(approx %18 (*.f32 %32 %24))
(approx %18 (/.f32 %36 v))
(approx %18 (/.f32 (*.f32 (*.f32 #s(literal 1/2 binary32) cosTheta_O) cosTheta_i) v))
(approx %18 (*.f32 #s(literal 1/2 binary32) %44))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %47)))
(approx %18 (*.f32 #s(literal 1/2 binary32) %54))
(approx %18 (*.f32 #s(literal 1/2 binary32) %58))
(approx %18 (*.f32 #s(literal 1/2 binary32) %61))
(approx %18 (*.f32 %36 %52))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 %71 %35)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i %75)))
(approx %18 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %80)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 v %28))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (approx (/ %103 cosTheta_i) (/.f32 #s(literal 2 binary32) %28))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %43 cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (/.f32 #s(literal 2 binary32) %115)))
(approx %18 (*.f32 %120 %128))
(approx %131 (*.f32 %132 (approx (/ cosTheta_O %16) (*.f32 #s(literal 1/2 binary32) %134))))
(*.f32 %145 %146)
(*.f32 %145 %148)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (*.f32 v %150)))))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %158)))
(approx %18 (*.f32 %162 %128))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (approx (* cosTheta_O %178) %181)) v)) v))
(approx %131 (/.f32 %35 %158))
(*.f32 %145 (*.f32 %20 %24))
(*.f32 %145 (/.f32 %115 v))
(*.f32 (/.f32 (approx (* %9 (/ 1 %14)) %180) v) %200)
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 #s(literal 1/2 binary32) sinTheta_O))))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) %218)))
(/.f32 (*.f32 %145 %25) v)
(/.f32 (*.f32 %145 %115) v)
(approx %18 (*.f32 #s(literal 1/2 binary32) (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) %24)))))
(approx %131 (*.f32 %132 (/.f32 cosTheta_O %157)))
(approx %131 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i %157)) %119))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (*.f32 v (/.f32 %79 cosTheta_O)))))
(/.f32 (*.f32 %145 %44) v)
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %115))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 %80 cosTheta_O))))
(approx %18 (*.f32 (*.f32 cosTheta_O %253) %128))
(*.f32 %145 (*.f32 %35 %253))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) %263)) v))
(approx %18 (/.f32 (approx %172 (*.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i (*.f32 sinTheta_O (approx sinTheta_i #s(literal 0 binary32))))) v))) v))
(*.f32 %145 (*.f32 cosTheta_i (*.f32 %24 %52)))
(*.f32 %145 (*.f32 %53 %24))
(*.f32 %145 (*.f32 %115 %52))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 %119 %35)))
(*.f32 %145 (*.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 v %24))))
(*.f32 %145 (*.f32 (/.f32 #s(literal 1 binary32) %43) %24))
(*.f32 %145 (*.f32 %20 %75))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %47)))
(approx %18 (/.f32 #s(literal 1 binary32) (*.f32 %300 (approx (/ %16 cosTheta_O) (/.f32 #s(literal 2 binary32) %134)))))
(*.f32 %145 (/.f32 #s(literal 1 binary32) (/.f32 (*.f32 v %43) cosTheta_O)))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %61))))
(/.f32 (*.f32 %145 %316) v)
(/.f32 (*.f32 (approx %143 (/.f32 #s(literal 1 binary32) %157)) %115) v)
(*.f32 %115 (approx %202 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/2 binary32) %323))))
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) %218)) v)
(/.f32 (*.f32 %145 (/.f32 #s(literal 1 binary32) (*.f32 %43 %150))) v)
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O %336)) v))
(*.f32 %115 (approx (/ %341 (* 2 v)) (approx (+ 1/2 (* -1/2 %4)) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %346 (/.f32 #s(literal 1/2 binary32) sinTheta_i))))))
(*.f32 (approx %341 (approx (neg (* v (+ %4 -1))) (*.f32 sinTheta_i (+.f32 %357 %358)))) (*.f32 cosTheta_i (/.f32 cosTheta_O (*.f32 v %71))))
(approx %18 (/.f32 (approx %172 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %166 v)) (* 1/2 cosTheta_i)) (/.f32 %371 v)))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O %371)) v)) v))
(approx %18 (/.f32 (fma.f32 #s(literal -1/2 binary32) %263 (*.f32 #s(literal 1/2 binary32) %28)) v))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_O %394))) %398)
(*.f32 %403 %398)
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %413 v) %416))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 (*.f32 cosTheta_i sinTheta_O) (fma.f32 #s(literal -1/2 binary32) (*.f32 cosTheta_O %425) %416)))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %433 v) (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i sinTheta_O))))))) v))
(*.f32 %25 %449)
(*.f32 %25 %456)
(*.f32 %115 (approx %202 (approx %205 (*.f32 sinTheta_O (approx %210 (/.f32 (fma.f32 #s(literal -1/2 binary32) sinTheta_i (*.f32 #s(literal 1/2 binary32) %393)) v))))))
(*.f32 %115 %449)
(*.f32 %115 %456)
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (fma.f32 v %451 %357)))) %398)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (approx (* v (+ (* 2 (/ %89 %90)) (* 2 (/ 1 cosTheta_i)))) (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O cosTheta_i) (*.f32 #s(literal 2 binary32) (/.f32 v %433))))) cosTheta_O))))
(approx %18 (*.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 (*.f32 cosTheta_O (*.f32 cosTheta_i %490)) v) %36) %52))
(approx %18 (/.f32 (approx %172 (/.f32 (fma.f32 #s(literal -1/2 binary32) %262 %181) v)) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %24 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_O %260))))))))) v))
(approx %18 (/.f32 (approx %172 (approx %412 (*.f32 cosTheta_i (*.f32 sinTheta_O (approx %507 (/.f32 (fma.f32 #s(literal -1/2 binary32) %413 (*.f32 #s(literal 1/2 binary32) (/.f32 %134 sinTheta_O))) v)))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (approx %411 (*.f32 cosTheta_O (approx (+ (* -1/2 (/ %405 v)) (* 1/2 (/ cosTheta_i sinTheta_O))) (*.f32 sinTheta_i (fma.f32 #s(literal -1/2 binary32) %20 (*.f32 #s(literal 1/2 binary32) (/.f32 cosTheta_i %260))))))))) v))
(approx %18 (/.f32 (approx %172 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) (/.f32 %546 v) (*.f32 #s(literal 1/2 binary32) (/.f32 %28 sinTheta_O))))) v))
(approx %18 (/.f32 (approx %172 (/.f32 (approx %175 (*.f32 cosTheta_O (approx %178 (*.f32 sinTheta_O (fma.f32 #s(literal -1/2 binary32) %433 (*.f32 #s(literal 1/2 binary32) (/.f32 %126 sinTheta_O))))))) v)) v))
(*.f32 (approx (/ (* %142 cosTheta_i) %16) (*.f32 v %336)) %162)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 sinTheta_i (fma.f32 #s(literal 2 binary32) (/.f32 sinTheta_O %28) (*.f32 #s(literal 2 binary32) (/.f32 v %546)))))))
(*.f32 (approx %388 (approx %391 (*.f32 sinTheta_i (approx (+ (* -1 sinTheta_O) (/ v sinTheta_i)) (*.f32 sinTheta_O (-.f32 (/.f32 v %260) #s(literal 1 binary32))))))) %398)
(*.f32 (approx %388 (*.f32 #s(literal -1 binary32) (*.f32 v (-.f32 %323 #s(literal 1 binary32))))) %398)
(*.f32 %403 (/.f32 #s(literal 1 binary32) (/.f32 %71 %115)))
(*.f32 %316 %456)
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (*.f32 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %490 %126) (/.f32 #s(literal 2 binary32) cosTheta_i))) %150))))
(/.f32 #s(literal 1 binary32) (approx %70 (approx %473 (/.f32 (*.f32 v %609) cosTheta_O))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (fma.f32 #s(literal 2 binary32) (/.f32 %260 %134) (*.f32 #s(literal 2 binary32) %150)) cosTheta_i)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 %609 cosTheta_O)))))
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (approx %97 (/.f32 (approx %103 (/.f32 (fma.f32 #s(literal 2 binary32) %47 (*.f32 #s(literal 2 binary32) (/.f32 %260 cosTheta_O))) v)) cosTheta_i)))))
(approx %131 (*.f32 cosTheta_O (/.f32 cosTheta_i %640)))
(approx %131 %645)
(approx %131 %647)
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %650)))
(approx %131 (*.f32 cosTheta_i (/.f32 cosTheta_O %650)))
(approx %131 (/.f32 %35 %650))
(approx %131 (*.f32 cosTheta_O (/.f32 %20 %639)))
(approx %131 (*.f32 cosTheta_i %662))
(/.f32 (/.f32 %35 (approx %665 v)) %639)
(approx %18 (*.f32 cosTheta_O (/.f32 %132 %649)))
(approx %131 (*.f32 cosTheta_O (/.f32 %672 %119)))
(approx %131 (*.f32 %132 %676))
(approx %131 (/.f32 %679 %119))
(approx %131 (/.f32 %146 %649))
(*.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i %684)) %200)
(*.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O %684)) %200)
(*.f32 (/.f32 %35 %684) %200)
(/.f32 #s(literal 1 binary32) (approx %70 (*.f32 v (fma.f32 #s(literal 2 binary32) (/.f32 %260 %180) (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1 binary32) %28))))))
(approx %18 (*.f32 cosTheta_O (/.f32 %700 %649)))
(approx %131 (/.f32 %132 (*.f32 %638 (/.f32 #s(literal 2 binary32) cosTheta_O))))
(approx %131 (/.f32 (/.f32 %679 v) v))
(approx %131 (*.f32 %700 %676))
(*.f32 (*.f32 cosTheta_O (/.f32 %20 %638)) %200)
(*.f32 (/.f32 cosTheta_O (*.f32 %43 %638)) %200)
(*.f32 %719 %200)
(*.f32 (/.f32 %25 %638) %200)
(*.f32 %723 %200)
(*.f32 (/.f32 %44 %638) %200)
(approx %131 (*.f32 %35 (/.f32 #s(literal 1 binary32) %640)))
(approx %131 (/.f32 #s(literal 1 binary32) (/.f32 %640 %35)))
(/.f32 %734 %639)
(/.f32 %736 %639)
(approx %18 (*.f32 %120 (*.f32 cosTheta_i %738)))
(/.f32 %734 %742)
(/.f32 %736 %742)
(/.f32 (*.f32 %35 (approx (* %13 %142) %52)) %742)
(approx %131 (*.f32 (*.f32 cosTheta_i %253) %676))
(*.f32 %753 %755)
(*.f32 %753 %757)
(*.f32 %753 %398)
(approx %18 (/.f32 #s(literal 1 binary32) (*.f32 %300 (/.f32 %649 cosTheta_O))))
(*.f32 (/.f32 %58 %638) %200)
(*.f32 (/.f32 %61 %638) %200)
(*.f32 (/.f32 (*.f32 %35 %752) v) %200)
(/.f32 (*.f32 (approx %143 %738) %115) v)
(approx %131 (/.f32 %35 (*.f32 %119 (/.f32 #s(literal 2 binary32) %752))))
(*.f32 (*.f32 %115 %752) %200)
(*.f32 (*.f32 (/.f32 %35 %638) %52) %200)
(/.f32 %35 (*.f32 %784 %639))
(/.f32 (/.f32 %35 %784) %639)
(/.f32 %789 %639)
(/.f32 %789 %742)
(*.f32 (/.f32 %115 (/.f32 #s(literal 1 binary32) %752)) %200)
(/.f32 (/.f32 %35 (approx %665 (approx (+ v %89) (*.f32 sinTheta_O (+.f32 sinTheta_i %393))))) %639)
(approx %131 (/.f32 %35 (*.f32 %119 %805)))
(approx %18 (*.f32 %120 (/.f32 cosTheta_i %805)))
(approx %18 (*.f32 cosTheta_O (/.f32 cosTheta_i %815)))
(approx %131 (/.f32 %35 %815))
(/.f32 (/.f32 %35 (*.f32 v %822)) %639)
(approx %18 (*.f32 %120 (/.f32 cosTheta_i %814)))
(/.f32 (*.f32 (approx %6 (fma.f32 %829 %346 #s(literal 1 binary32))) %115) %639)
(/.f32 %736 (*.f32 (*.f32 (/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %649)) #s(literal 2 binary32)) v))
(/.f32 (*.f32 (approx %6 (approx %840 (*.f32 sinTheta_O (approx %842 (/.f32 (approx (+ (* -1 sinTheta_i) (/ v sinTheta_O)) %393) v))))) %115) %742)
(approx %18 (*.f32 %35 (/.f32 #s(literal 1 binary32) %815)))
(approx %18 (/.f32 #s(literal 1 binary32) (/.f32 %815 %35)))
(/.f32 (*.f32 (approx %6 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) %323))) %115) %742)
(approx %131 (/.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i (/.f32 #s(literal 1 binary32) (/.f32 %802 (expm1.f32 (*.f32 %52 #s(literal 2 binary32))))))) %119))
(/.f32 #s(literal 1 binary32) (/.f32 %639 (/.f32 %25 %822)))
(/.f32 #s(literal 1 binary32) (/.f32 %639 (/.f32 %115 %822)))
(/.f32 (*.f32 %883 %115) %742)
(/.f32 (*.f32 (approx %6 (approx %840 (*.f32 sinTheta_O (fma.f32 #s(literal -1 binary32) %425 %444)))) %115) %742)
(/.f32 (*.f32 %899 %115) %742)
(/.f32 (*.f32 (approx %6 (approx %840 (*.f32 sinTheta_i (fma.f32 #s(literal -1 binary32) %346 %451)))) %115) %742)
(/.f32 (*.f32 (approx %143 (/.f32 #s(literal 1 binary32) %909)) %115) v)
(/.f32 %35 (*.f32 %916 %639))
(/.f32 #s(literal 1 binary32) (/.f32 %639 (/.f32 %115 (approx %68 (approx %919 (*.f32 sinTheta_i (approx (+ %893 %140) (/.f32 (+.f32 sinTheta_O %358) v))))))))
(/.f32 #s(literal 1 binary32) (/.f32 %639 (/.f32 %115 (approx %68 (approx %919 (*.f32 sinTheta_i (+.f32 %451 %346)))))))
(/.f32 (/.f32 %35 %916) %639)
(*.f32 %940 %645)
(*.f32 %940 %647)
(*.f32 %943 %662)
(*.f32 %115 (/.f32 %940 %639))
(/.f32 (/.f32 (*.f32 %940 %35) %639) v)
(*.f32 %951 %755)
(*.f32 %951 %757)
(*.f32 %951 %398)
(/.f32 (*.f32 %883 %61) %742)
(/.f32 (*.f32 %899 %61) %742)
(*.f32 %959 %148)
(/.f32 (*.f32 %962 %21) %742)
(/.f32 (*.f32 %962 %115) %742)
(/.f32 (*.f32 %940 %146) %649)
(/.f32 (*.f32 %940 %148) %649)
(/.f32 (*.f32 %943 %24) %742)
(/.f32 (/.f32 (/.f32 %21 %915) %638) %71)
(/.f32 (/.f32 (/.f32 %115 %915) %638) %71)
(*.f32 %979 %757)
(*.f32 %979 %398)
(*.f32 %719 %982)
(*.f32 %723 %982)
(/.f32 (*.f32 %959 %115) v)
(*.f32 (/.f32 %943 %649) %162)
(/.f32 (*.f32 %962 %54) %742)
Outputs
%10 = (/.f32 #s(literal 1 binary32) v)
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (*.f32 cosTheta_O (*.f32 cosTheta_i %10))) (*.f32 (*.f32 (sinh.f32 %10) #s(literal 2 binary32)) v))
Calls

8 calls:

726.0ms
cosTheta_i
679.0ms
v
648.0ms
cosTheta_O
635.0ms
(*.f32 sinTheta_i sinTheta_O)
604.0ms
sinTheta_i
Results
AccuracySegmentsBranch
58.9%1
v
58.9%1
sinTheta_O
58.9%1
sinTheta_i
58.9%1
cosTheta_O
58.9%1
cosTheta_i
58.9%1
(/.f32 (*.f32 (exp.f32 (neg.f32 (/.f32 (*.f32 sinTheta_i sinTheta_O) v))) (/.f32 (*.f32 cosTheta_i cosTheta_O) v)) (*.f32 (*.f32 (sinh.f32 (/.f32 #s(literal 1 binary32) v)) #s(literal 2 binary32)) v))
58.9%1
(*.f32 sinTheta_i sinTheta_O)
58.9%1
(*.f32 cosTheta_i cosTheta_O)
Compiler

Compiled 225 to 722 computations (-220.9% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

derivations23.0ms (0.1%)

Stop Event
fuel
Compiler

Compiled 17 to 76 computations (-347.1% saved)

preprocess1.2s (2.8%)

Symmetry

(sort cosTheta_i cosTheta_O)

Compiler

Compiled 192 to 2 120 computations (-1004.2% saved)

end0.0ms (0.0%)

gc1.4s (3.4%)

Allocations
AllocatedPercentPhase
1 728.3 MiB28.5%series
1 302.5 MiB21.5%regimes
755.6 MiB12.5%rewrite
658.6 MiB10.9%sample
431.9 MiB7.1%reconstruct
374.7 MiB6.2%eval
289.7 MiB4.8%preprocess
274.6 MiB4.5%analyze
237.3 MiB3.9%prune
8.6 MiB0.1%bsearch
5.9 MiB0.1%derivations
0.1 MiB0.0%start
0.0 MiB0.0%end
6 067.8 MiB100.0%total

Profiling

Loading profile data...