HairBSDF, Mp, lower

Time bar (total: 24.8s)

analyze173.0ms (0.7%)

Memory
3.8MiB live, 66.9MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%3%97%0%0%0%0
0%0%3%97%0%0%0%1
0%0%3%97%0%0%0%2
0%0%3%97%0%0%0%3
0%0%3%97%0%0%0%4
0%0%3%97%0%0%0%5
0%0%1.5%97%0%1.5%0%6
0%0%1.5%97%0%1.5%0%7
0%0%1.5%97%0%1.5%0%8
0%0%1.5%97%0%1.5%0%9
0%0%1.5%97%0%1.5%0%10
50%0.7%0.7%97%0%1.5%0%11
50%0.7%0.7%97%0%1.5%0%12
Compiler

Compiled 58 to 45 computations (22.4% saved)

sample24.4s (98.7%)

Memory
-0.6MiB live, 4 989.6MiB allocated
Samples
2.7s7 681×0valid-sollya
1.1s7 681×0valid-baseline
1.1s7 681×0valid-rival
84.0ms575×0valid-rival+baseline-zero
Bogosity

preprocess113.0ms (0.5%)

Memory
-3.1MiB live, 28.0MiB allocated
Algorithm
egg-herbie
Rules
1 590×exp-diff
1 500×times-frac
914×fmm-def
660×fma-define
552×associate-+l-
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01732130
14851898
214481854
357471854
Stop Event
node limit
Calls
Call 1
Inputs
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 (neg.f32 cosTheta_i) cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i (neg.f32 cosTheta_O)) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 (neg.f32 sinTheta_i) sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) (neg.f32 v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 v))) (/.f32 #s(literal 1 binary32) (neg.f32 v))) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) (neg.f32 v))))))
(neg.f32 (exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 (neg.f32 cosTheta_i) cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))))
(neg.f32 (exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i (neg.f32 cosTheta_O)) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))))
(neg.f32 (exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 (neg.f32 sinTheta_i) sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))))
(neg.f32 (exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))))
(neg.f32 (exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) (neg.f32 v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 v))) (/.f32 #s(literal 1 binary32) (neg.f32 v))) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) (neg.f32 v)))))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_O cosTheta_i) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 sinTheta_i cosTheta_O) v) (/.f32 (*.f32 cosTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 sinTheta_O cosTheta_O) v) (/.f32 (*.f32 sinTheta_i cosTheta_i) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 v cosTheta_O) cosTheta_i) (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_i)) (/.f32 #s(literal 1 binary32) cosTheta_i)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) cosTheta_i)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i sinTheta_i) v) (/.f32 (*.f32 cosTheta_O sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i sinTheta_O) v) (/.f32 (*.f32 sinTheta_i cosTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i v) cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_O)) (/.f32 #s(literal 1 binary32) cosTheta_O)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) cosTheta_O)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_O sinTheta_i) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_i) (/.f32 (*.f32 v sinTheta_O) sinTheta_i)) (/.f32 #s(literal 1 binary32) sinTheta_i)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) sinTheta_i)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_O) (/.f32 (*.f32 sinTheta_i v) sinTheta_O)) (/.f32 #s(literal 1 binary32) sinTheta_O)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) sinTheta_O)))))
Outputs
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (+.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O v)) (/.f32 #s(literal 1 binary32) v))) (+.f32 #s(literal 6931/10000 binary32) (log.f32 (/.f32 #s(literal 1/2 binary32) v)))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (fma.f32 sinTheta_O (/.f32 sinTheta_i v) (/.f32 #s(literal 1 binary32) v))) #s(literal 6931/10000 binary32))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v))) #s(literal 6931/10000 binary32))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i v)) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v))) #s(literal 6931/10000 binary32))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (+.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O v)) (/.f32 #s(literal 1 binary32) v))) (+.f32 #s(literal 6931/10000 binary32) (log.f32 (/.f32 #s(literal 1/2 binary32) v)))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (fma.f32 sinTheta_O (/.f32 sinTheta_i v) (/.f32 #s(literal 1 binary32) v))) #s(literal 6931/10000 binary32))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v))) #s(literal 6931/10000 binary32))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i v)) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v))) #s(literal 6931/10000 binary32))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 (neg.f32 cosTheta_i) cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 #s(literal 1/2 binary32) v)) (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (+.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O v)) (/.f32 #s(literal 1 binary32) v))))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (-.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (-.f32 (fma.f32 sinTheta_O (/.f32 sinTheta_i v) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (-.f32 (-.f32 #s(literal 6931/10000 binary32) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v)))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (-.f32 (/.f32 #s(literal -1 binary32) v) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (*.f32 cosTheta_O (/.f32 cosTheta_i v)))))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i (neg.f32 cosTheta_O)) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 #s(literal 1/2 binary32) v)) (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (+.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O v)) (/.f32 #s(literal 1 binary32) v))))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (-.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (-.f32 (fma.f32 sinTheta_O (/.f32 sinTheta_i v) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (-.f32 (-.f32 #s(literal 6931/10000 binary32) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v)))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (-.f32 (/.f32 #s(literal -1 binary32) v) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (*.f32 cosTheta_O (/.f32 cosTheta_i v)))))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 (neg.f32 sinTheta_i) sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 #s(literal 1/2 binary32) v)) (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (+.f32 (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v) (/.f32 #s(literal 1 binary32) v))))))
(*.f32 (exp.f32 (+.f32 (fma.f32 cosTheta_i (/.f32 cosTheta_O v) (*.f32 sinTheta_i (/.f32 sinTheta_O v))) (+.f32 (/.f32 #s(literal -1 binary32) v) #s(literal 6931/10000 binary32)))) (/.f32 #s(literal 1/2 binary32) v))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (fma.f32 cosTheta_i (/.f32 cosTheta_O v) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal -1 binary32) v))))) (/.f32 #s(literal 1/2 binary32) v))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 #s(literal 1/2 binary32) v)) (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (+.f32 (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v) (/.f32 #s(literal 1 binary32) v))))))
(*.f32 (exp.f32 (+.f32 (fma.f32 cosTheta_i (/.f32 cosTheta_O v) (*.f32 sinTheta_i (/.f32 sinTheta_O v))) (+.f32 (/.f32 #s(literal -1 binary32) v) #s(literal 6931/10000 binary32)))) (/.f32 #s(literal 1/2 binary32) v))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (fma.f32 cosTheta_i (/.f32 cosTheta_O v) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal -1 binary32) v))))) (/.f32 #s(literal 1/2 binary32) v))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) (neg.f32 v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 v))) (/.f32 #s(literal 1 binary32) (neg.f32 v))) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) (neg.f32 v))))))
(exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O (neg.f32 v))) (+.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v))) (/.f32 #s(literal 1 binary32) (neg.f32 v)))) (+.f32 #s(literal 6931/10000 binary32) (log.f32 (/.f32 #s(literal 1/2 binary32) (neg.f32 v))))))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (+.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (fma.f32 sinTheta_O (/.f32 sinTheta_i v) (/.f32 #s(literal 1 binary32) v))))) (/.f32 #s(literal -1/2 binary32) v))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (fma.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v))))) (/.f32 #s(literal -1/2 binary32) v))
(*.f32 (exp.f32 (+.f32 (-.f32 #s(literal 6931/10000 binary32) (*.f32 cosTheta_O (/.f32 cosTheta_i v))) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v)))) (/.f32 #s(literal -1/2 binary32) v))
(neg.f32 (exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 (neg.f32 cosTheta_i) cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))))
(neg.f32 (exp.f32 (+.f32 (log.f32 (/.f32 #s(literal 1/2 binary32) v)) (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (+.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O v)) (/.f32 #s(literal 1 binary32) v)))))))
(*.f32 (exp.f32 (-.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (-.f32 (fma.f32 sinTheta_O (/.f32 sinTheta_i v) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)))) (/.f32 #s(literal -1/2 binary32) v))
(*.f32 (exp.f32 (-.f32 (-.f32 #s(literal 6931/10000 binary32) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v)))) (/.f32 #s(literal -1/2 binary32) v))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (-.f32 (/.f32 #s(literal -1 binary32) v) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (*.f32 cosTheta_O (/.f32 cosTheta_i v)))))) (/.f32 #s(literal -1/2 binary32) v))
(neg.f32 (exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i (neg.f32 cosTheta_O)) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))))
(neg.f32 (exp.f32 (+.f32 (log.f32 (/.f32 #s(literal 1/2 binary32) v)) (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (+.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O v)) (/.f32 #s(literal 1 binary32) v)))))))
(*.f32 (exp.f32 (-.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (-.f32 (fma.f32 sinTheta_O (/.f32 sinTheta_i v) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)))) (/.f32 #s(literal -1/2 binary32) v))
(*.f32 (exp.f32 (-.f32 (-.f32 #s(literal 6931/10000 binary32) (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v)))) (/.f32 #s(literal -1/2 binary32) v))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (-.f32 (/.f32 #s(literal -1 binary32) v) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (*.f32 cosTheta_O (/.f32 cosTheta_i v)))))) (/.f32 #s(literal -1/2 binary32) v))
(neg.f32 (exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 (neg.f32 sinTheta_i) sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))))
(neg.f32 (exp.f32 (+.f32 (log.f32 (/.f32 #s(literal 1/2 binary32) v)) (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (+.f32 (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v) (/.f32 #s(literal 1 binary32) v)))))))
(*.f32 (exp.f32 (+.f32 (fma.f32 cosTheta_i (/.f32 cosTheta_O v) (*.f32 sinTheta_i (/.f32 sinTheta_O v))) (+.f32 (/.f32 #s(literal -1 binary32) v) #s(literal 6931/10000 binary32)))) (/.f32 #s(literal -1/2 binary32) v))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (fma.f32 cosTheta_i (/.f32 cosTheta_O v) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal -1 binary32) v))))) (/.f32 #s(literal -1/2 binary32) v))
(neg.f32 (exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v))))))
(neg.f32 (exp.f32 (+.f32 (log.f32 (/.f32 #s(literal 1/2 binary32) v)) (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (+.f32 (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v) (/.f32 #s(literal 1 binary32) v)))))))
(*.f32 (exp.f32 (+.f32 (fma.f32 cosTheta_i (/.f32 cosTheta_O v) (*.f32 sinTheta_i (/.f32 sinTheta_O v))) (+.f32 (/.f32 #s(literal -1 binary32) v) #s(literal 6931/10000 binary32)))) (/.f32 #s(literal -1/2 binary32) v))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (fma.f32 cosTheta_i (/.f32 cosTheta_O v) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal -1 binary32) v))))) (/.f32 #s(literal -1/2 binary32) v))
(neg.f32 (exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) (neg.f32 v)) (/.f32 (*.f32 sinTheta_i sinTheta_O) (neg.f32 v))) (/.f32 #s(literal 1 binary32) (neg.f32 v))) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) (neg.f32 v)))))))
(neg.f32 (exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O (neg.f32 v))) (+.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O (neg.f32 v))) (/.f32 #s(literal 1 binary32) (neg.f32 v)))) (+.f32 #s(literal 6931/10000 binary32) (log.f32 (/.f32 #s(literal 1/2 binary32) (neg.f32 v)))))))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (+.f32 (*.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v)) (fma.f32 sinTheta_O (/.f32 sinTheta_i v) (/.f32 #s(literal 1 binary32) v))))) (neg.f32 (/.f32 #s(literal -1/2 binary32) v)))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (fma.f32 cosTheta_i (/.f32 (neg.f32 cosTheta_O) v) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v))))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 (-.f32 #s(literal 6931/10000 binary32) (*.f32 cosTheta_O (/.f32 cosTheta_i v))) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_O cosTheta_i) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (+.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O v)) (/.f32 #s(literal 1 binary32) v))) (+.f32 #s(literal 6931/10000 binary32) (log.f32 (/.f32 #s(literal 1/2 binary32) v)))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (fma.f32 sinTheta_O (/.f32 sinTheta_i v) (/.f32 #s(literal 1 binary32) v))) #s(literal 6931/10000 binary32))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v))) #s(literal 6931/10000 binary32))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i v)) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v))) #s(literal 6931/10000 binary32))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 sinTheta_i cosTheta_O) v) (/.f32 (*.f32 cosTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 #s(literal 1/2 binary32) v)) (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 sinTheta_i (/.f32 cosTheta_O v)) (+.f32 (*.f32 cosTheta_i (/.f32 sinTheta_O v)) (/.f32 #s(literal 1 binary32) v))))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (-.f32 (+.f32 #s(literal 6931/10000 binary32) (*.f32 cosTheta_O (/.f32 sinTheta_i v))) (fma.f32 cosTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v)))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (-.f32 (*.f32 cosTheta_O (/.f32 sinTheta_i v)) (+.f32 (fma.f32 cosTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v)) #s(literal -6931/10000 binary32)))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_O (/.f32 sinTheta_i v)) (fma.f32 cosTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v))))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 sinTheta_O cosTheta_O) v) (/.f32 (*.f32 sinTheta_i cosTheta_i) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 #s(literal 1/2 binary32) v)) (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_O (/.f32 sinTheta_O v)) (+.f32 (*.f32 sinTheta_i (/.f32 cosTheta_i v)) (/.f32 #s(literal 1 binary32) v))))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (-.f32 (*.f32 cosTheta_O (/.f32 sinTheta_O v)) (-.f32 (fma.f32 cosTheta_i (/.f32 sinTheta_i v) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_O (/.f32 sinTheta_O v)) (fma.f32 cosTheta_i (/.f32 sinTheta_i v) (/.f32 #s(literal 1 binary32) v))))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (fma.f32 cosTheta_O (/.f32 sinTheta_O v) (neg.f32 (fma.f32 sinTheta_i (/.f32 cosTheta_i v) (/.f32 #s(literal 1 binary32) v)))))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 v cosTheta_O) cosTheta_i) (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_i)) (/.f32 #s(literal 1 binary32) cosTheta_i)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) cosTheta_i)))))
(exp.f32 (+.f32 (-.f32 (/.f32 (*.f32 cosTheta_O v) cosTheta_i) (+.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O cosTheta_i)) (/.f32 #s(literal 1 binary32) cosTheta_i))) (+.f32 #s(literal 6931/10000 binary32) (log.f32 (/.f32 #s(literal 1/2 binary32) cosTheta_i)))))
(*.f32 (exp.f32 (-.f32 (*.f32 cosTheta_O (/.f32 v cosTheta_i)) (-.f32 (fma.f32 sinTheta_i (/.f32 sinTheta_O cosTheta_i) (/.f32 #s(literal 1 binary32) cosTheta_i)) #s(literal 6931/10000 binary32)))) (/.f32 #s(literal 1/2 binary32) cosTheta_i))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 v (/.f32 cosTheta_O cosTheta_i)) (fma.f32 sinTheta_i (/.f32 sinTheta_O cosTheta_i) (/.f32 #s(literal 1 binary32) cosTheta_i))))) (/.f32 #s(literal 1/2 binary32) cosTheta_i))
(*.f32 (exp.f32 (-.f32 (*.f32 cosTheta_O (/.f32 v cosTheta_i)) (+.f32 (fma.f32 sinTheta_O (/.f32 sinTheta_i cosTheta_i) (/.f32 #s(literal 1 binary32) cosTheta_i)) #s(literal -6931/10000 binary32)))) (/.f32 #s(literal 1/2 binary32) cosTheta_i))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i sinTheta_i) v) (/.f32 (*.f32 cosTheta_O sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 #s(literal 1/2 binary32) v)) (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 sinTheta_i (/.f32 cosTheta_i v)) (+.f32 (*.f32 cosTheta_O (/.f32 sinTheta_O v)) (/.f32 #s(literal 1 binary32) v))))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (-.f32 (*.f32 cosTheta_i (/.f32 sinTheta_i v)) (-.f32 (fma.f32 sinTheta_O (/.f32 cosTheta_O v) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 sinTheta_i v)) (fma.f32 sinTheta_O (/.f32 cosTheta_O v) (/.f32 #s(literal 1 binary32) v))))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (fma.f32 cosTheta_i (/.f32 sinTheta_i v) (fma.f32 cosTheta_O (/.f32 sinTheta_O (neg.f32 v)) (/.f32 #s(literal -1 binary32) v))))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i sinTheta_O) v) (/.f32 (*.f32 sinTheta_i cosTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 #s(literal 1/2 binary32) v)) (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 sinTheta_O v)) (+.f32 (*.f32 sinTheta_i (/.f32 cosTheta_O v)) (/.f32 #s(literal 1 binary32) v))))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 sinTheta_O v)) (fma.f32 sinTheta_i (/.f32 cosTheta_O v) (/.f32 #s(literal 1 binary32) v))))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (fma.f32 cosTheta_i (/.f32 sinTheta_O v) (fma.f32 sinTheta_i (/.f32 (neg.f32 cosTheta_O) v) (/.f32 #s(literal -1 binary32) v))))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (fma.f32 cosTheta_i (/.f32 sinTheta_O v) (fma.f32 (neg.f32 sinTheta_i) (/.f32 cosTheta_O v) (/.f32 #s(literal -1 binary32) v))))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i v) cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_O)) (/.f32 #s(literal 1 binary32) cosTheta_O)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) cosTheta_O)))))
(exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 v cosTheta_O)) (+.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O cosTheta_O)) (/.f32 #s(literal 1 binary32) cosTheta_O))) (+.f32 #s(literal 6931/10000 binary32) (log.f32 (/.f32 #s(literal 1/2 binary32) cosTheta_O)))))
(*.f32 (exp.f32 (-.f32 (+.f32 #s(literal 6931/10000 binary32) (*.f32 cosTheta_i (/.f32 v cosTheta_O))) (fma.f32 sinTheta_i (/.f32 sinTheta_O cosTheta_O) (/.f32 #s(literal 1 binary32) cosTheta_O)))) (/.f32 #s(literal 1/2 binary32) cosTheta_O))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 v cosTheta_O)) (fma.f32 sinTheta_O (/.f32 sinTheta_i cosTheta_O) (/.f32 #s(literal 1 binary32) cosTheta_O))))) (/.f32 #s(literal 1/2 binary32) cosTheta_O))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 v cosTheta_O)) (fma.f32 sinTheta_i (/.f32 sinTheta_O cosTheta_O) (/.f32 #s(literal 1 binary32) cosTheta_O))))) (/.f32 #s(literal 1/2 binary32) cosTheta_O))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_O sinTheta_i) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (+.f32 (*.f32 sinTheta_i (/.f32 sinTheta_O v)) (/.f32 #s(literal 1 binary32) v))) (+.f32 #s(literal 6931/10000 binary32) (log.f32 (/.f32 #s(literal 1/2 binary32) v)))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (fma.f32 sinTheta_O (/.f32 sinTheta_i v) (/.f32 #s(literal 1 binary32) v))) #s(literal 6931/10000 binary32))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v))) #s(literal 6931/10000 binary32))))
(*.f32 (/.f32 #s(literal 1/2 binary32) v) (exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i v)) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 #s(literal 1 binary32) v))) #s(literal 6931/10000 binary32))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_i) (/.f32 (*.f32 v sinTheta_O) sinTheta_i)) (/.f32 #s(literal 1 binary32) sinTheta_i)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) sinTheta_i)))))
(exp.f32 (+.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_i) (+.f32 (/.f32 (*.f32 v sinTheta_O) sinTheta_i) (/.f32 #s(literal 1 binary32) sinTheta_i))) (+.f32 #s(literal 6931/10000 binary32) (log.f32 (/.f32 #s(literal 1/2 binary32) sinTheta_i)))))
(*.f32 (exp.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O sinTheta_i)) (-.f32 (fma.f32 v (/.f32 sinTheta_O sinTheta_i) (/.f32 #s(literal 1 binary32) sinTheta_i)) #s(literal 6931/10000 binary32)))) (/.f32 #s(literal 1/2 binary32) sinTheta_i))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (fma.f32 cosTheta_i (/.f32 cosTheta_O sinTheta_i) (fma.f32 v (/.f32 sinTheta_O (neg.f32 sinTheta_i)) (/.f32 #s(literal -1 binary32) sinTheta_i))))) (/.f32 #s(literal 1/2 binary32) sinTheta_i))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O sinTheta_i)) (fma.f32 v (/.f32 sinTheta_O sinTheta_i) (/.f32 #s(literal 1 binary32) sinTheta_i))))) (/.f32 #s(literal 1/2 binary32) sinTheta_i))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_O) (/.f32 (*.f32 sinTheta_i v) sinTheta_O)) (/.f32 #s(literal 1 binary32) sinTheta_O)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) sinTheta_O)))))
(exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O sinTheta_O)) (+.f32 (*.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 #s(literal 1 binary32) sinTheta_O))) (+.f32 #s(literal 6931/10000 binary32) (log.f32 (/.f32 #s(literal 1/2 binary32) sinTheta_O)))))
(*.f32 (exp.f32 (-.f32 (+.f32 #s(literal 6931/10000 binary32) (*.f32 cosTheta_i (/.f32 cosTheta_O sinTheta_O))) (fma.f32 sinTheta_i (/.f32 v sinTheta_O) (/.f32 #s(literal 1 binary32) sinTheta_O)))) (/.f32 #s(literal 1/2 binary32) sinTheta_O))
(*.f32 (exp.f32 (+.f32 #s(literal 6931/10000 binary32) (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O sinTheta_O)) (fma.f32 v (/.f32 sinTheta_i sinTheta_O) (/.f32 #s(literal 1 binary32) sinTheta_O))))) (/.f32 #s(literal 1/2 binary32) sinTheta_O))
(*.f32 (exp.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O sinTheta_O)) (fma.f32 v (/.f32 sinTheta_i sinTheta_O) (+.f32 (/.f32 #s(literal 1 binary32) sinTheta_O) #s(literal -6931/10000 binary32))))) (/.f32 #s(literal 1/2 binary32) sinTheta_O))
Symmetry

(sort cosTheta_i cosTheta_O)

(sort sinTheta_i sinTheta_O)

Compiler

Compiled 30 to 21 computations (30% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 5 to 5 computations (0% saved)

prune1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
Compiler

Compiled 60 to 42 computations (30% saved)

simplify5.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
egg-herbie
Rules
36×neg-mul-1
30×unsub-neg
24×*-commutative
22×+-commutative
18×sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03099
14499
25899
37499
48899
511799
615999
716399
Stop Event
saturated
Calls
Call 1
Inputs
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
Outputs
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 #s(literal 2 binary32) v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal 1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 v #s(literal 2 binary32))))))
(exp.f32 (+.f32 (+.f32 (+.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 #s(literal -1 binary32) v)) #s(literal 6931/10000 binary32)) (log.f32 (/.f32 #s(literal 1 binary32) (*.f32 v #s(literal 2 binary32))))))

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 30 to 22 computations (26.7% saved)

preprocess27.0ms (0.1%)

Memory
-2.4MiB live, 31.0MiB allocated
Remove

(sort sinTheta_i sinTheta_O)

(sort cosTheta_i cosTheta_O)

Compiler

Compiled 360 to 262 computations (27.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...