HairBSDF, Mp, lower

Time bar (total: 11.9s)

analyze643.0ms (5.4%)

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 69 to 51 computations (26.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 197.0ms
Operation ival-<=, time spent: 61.0ms, 31.0% of total-time
Operation ival-mult, time spent: 34.0ms, 17.0% of total-time
Operation ival-log, time spent: 20.0ms, 10.0% of total-time
Operation ival-div, time spent: 20.0ms, 10.0% of total-time
Operation ival-sub, time spent: 16.0ms, 8.0% of total-time
Operation ival-add, time spent: 15.0ms, 8.0% of total-time
Operation ival-and, time spent: 13.0ms, 7.0% of total-time
Operation ival-exp, time spent: 10.0ms, 5.0% of total-time
Operation const, time spent: 10.0ms, 5.0% of total-time

sample4.4s (36.9%)

Results
3.6s8255×0valid
50.0ms146×0invalid
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 2.0s
Operation ival-<=, time spent: 394.0ms, 20.0% of total-time
Operation ival-add, time spent: 322.0ms, 16.0% of total-time
Operation ival-sub, time spent: 316.0ms, 16.0% of total-time
Operation ival-div, time spent: 300.0ms, 15.0% of total-time
Operation ival-mult, time spent: 228.0ms, 11.0% of total-time
Operation ival-log, time spent: 189.0ms, 9.0% of total-time
Operation ival-and, time spent: 94.0ms, 5.0% of total-time
Operation const, time spent: 85.0ms, 4.0% of total-time
Operation ival-exp, time spent: 78.0ms, 4.0% of total-time
Bogosity

preprocess3.3s (27.8%)

Algorithm
egg-herbie
Rules
399×times-frac
392×associate-+l-
338×associate-+l+
311×associate-+r-
294×sub-neg
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
00-0-(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
00-0-cosTheta_O
00-0-(*.f32 2 v)
00-0-(-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))
00-0-(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
00-0-(log.f32 (/.f32 1 (*.f32 2 v)))
00-0-(/.f32 1 v)
00-0-(*.f32 cosTheta_i cosTheta_O)
00-0-(*.f32 sinTheta_i sinTheta_O)
00-0-(+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000)
00-0-sinTheta_O
00-0-v
00-0-(+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v))))
00-0-cosTheta_i
00-0-sinTheta_i
00-0-(/.f32 1 (*.f32 2 v))
00-0-2
00-0-6931/10000
00-0-1
00-0-(-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01732130
14852026
214221870
364061870
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 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 (neg.f32 cosTheta_i) cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i (neg.f32 cosTheta_O)) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 (neg.f32 sinTheta_i) sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 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 1 (neg.f32 v))) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 (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 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 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 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 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 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 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 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 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 1 (neg.f32 v))) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 (neg.f32 v)))))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_O cosTheta_i) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 sinTheta_i cosTheta_O) v) (/.f32 (*.f32 cosTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 sinTheta_O cosTheta_O) v) (/.f32 (*.f32 sinTheta_i cosTheta_i) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 v cosTheta_O) cosTheta_i) (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_i)) (/.f32 1 cosTheta_i)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 cosTheta_i)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i sinTheta_i) v) (/.f32 (*.f32 cosTheta_O sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i sinTheta_O) v) (/.f32 (*.f32 sinTheta_i cosTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i v) cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_O)) (/.f32 1 cosTheta_O)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 cosTheta_O)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_O sinTheta_i) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_i) (/.f32 (*.f32 v sinTheta_O) sinTheta_i)) (/.f32 1 sinTheta_i)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 sinTheta_i)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_O) (/.f32 (*.f32 sinTheta_i v) sinTheta_O)) (/.f32 1 sinTheta_O)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 sinTheta_O)))))
Outputs
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 v)))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (fma.f32 (/.f32 sinTheta_i v) (neg.f32 sinTheta_O) (/.f32 -1 v))) 6931/10000)))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (-.f32 (/.f32 -1 v) (/.f32 sinTheta_i (/.f32 v sinTheta_O)))) 6931/10000)))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 v)))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (fma.f32 (/.f32 sinTheta_i v) (neg.f32 sinTheta_O) (/.f32 -1 v))) 6931/10000)))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (-.f32 (/.f32 -1 v) (/.f32 sinTheta_i (/.f32 v sinTheta_O)))) 6931/10000)))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 (neg.f32 cosTheta_i) cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 1/2 v)) (+.f32 6931/10000 (-.f32 (/.f32 cosTheta_i (/.f32 v (neg.f32 cosTheta_O))) (+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v))))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_i v) (neg.f32 cosTheta_O)) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))))
(*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (-.f32 6931/10000 (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (fma.f32 (/.f32 sinTheta_O v) sinTheta_i (/.f32 1 v)))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 6931/10000 (-.f32 (/.f32 -1 v) (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (/.f32 sinTheta_i (/.f32 v sinTheta_O)))))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i (neg.f32 cosTheta_O)) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 1/2 v)) (+.f32 6931/10000 (-.f32 (/.f32 cosTheta_i (/.f32 v (neg.f32 cosTheta_O))) (+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v))))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_i v) (neg.f32 cosTheta_O)) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))))
(*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (-.f32 6931/10000 (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (fma.f32 (/.f32 sinTheta_O v) sinTheta_i (/.f32 1 v)))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 6931/10000 (-.f32 (/.f32 -1 v) (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (/.f32 sinTheta_i (/.f32 v sinTheta_O)))))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 (neg.f32 sinTheta_i) sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 1/2 v)) (+.f32 6931/10000 (-.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (/.f32 sinTheta_i (/.f32 v (neg.f32 sinTheta_O)))) (/.f32 1 v)))))
(*.f32 (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (*.f32 (/.f32 (neg.f32 sinTheta_i) v) sinTheta_O)) (+.f32 (/.f32 -1 v) 6931/10000))) (/.f32 1/2 v))
(*.f32 (exp.f32 (+.f32 (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 6931/10000 (/.f32 -1 v)))) (/.f32 1/2 v))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i (neg.f32 sinTheta_O)) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 1/2 v)) (+.f32 6931/10000 (-.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (/.f32 sinTheta_i (/.f32 v (neg.f32 sinTheta_O)))) (/.f32 1 v)))))
(*.f32 (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (*.f32 (/.f32 (neg.f32 sinTheta_i) v) sinTheta_O)) (+.f32 (/.f32 -1 v) 6931/10000))) (/.f32 1/2 v))
(*.f32 (exp.f32 (+.f32 (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 6931/10000 (/.f32 -1 v)))) (/.f32 1/2 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 1 (neg.f32 v))) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 (neg.f32 v))))))
(exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 (neg.f32 v) cosTheta_O)) (+.f32 (/.f32 sinTheta_i (/.f32 (neg.f32 v) sinTheta_O)) (/.f32 1 (neg.f32 v)))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 (neg.f32 v))))))
(*.f32 (exp.f32 (+.f32 6931/10000 (-.f32 (/.f32 cosTheta_i (/.f32 (neg.f32 v) cosTheta_O)) (+.f32 (*.f32 (/.f32 sinTheta_i (neg.f32 v)) sinTheta_O) (/.f32 -1 v))))) (/.f32 -1/2 v))
(*.f32 (exp.f32 (+.f32 6931/10000 (fma.f32 (/.f32 cosTheta_i (neg.f32 v)) cosTheta_O (fma.f32 (/.f32 sinTheta_O v) sinTheta_i (/.f32 1 v))))) (/.f32 -1/2 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 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v))))))
(neg.f32 (exp.f32 (+.f32 (log.f32 (/.f32 1/2 v)) (+.f32 6931/10000 (-.f32 (/.f32 cosTheta_i (/.f32 v (neg.f32 cosTheta_O))) (+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v)))))))
(*.f32 (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_i v) (neg.f32 cosTheta_O)) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))) (neg.f32 (/.f32 1/2 v)))
(*.f32 (exp.f32 (-.f32 (-.f32 6931/10000 (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (fma.f32 (/.f32 sinTheta_O v) sinTheta_i (/.f32 1 v)))) (/.f32 -1/2 v))
(*.f32 (exp.f32 (+.f32 6931/10000 (-.f32 (/.f32 -1 v) (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (/.f32 sinTheta_i (/.f32 v sinTheta_O)))))) (/.f32 -1/2 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 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v))))))
(neg.f32 (exp.f32 (+.f32 (log.f32 (/.f32 1/2 v)) (+.f32 6931/10000 (-.f32 (/.f32 cosTheta_i (/.f32 v (neg.f32 cosTheta_O))) (+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v)))))))
(*.f32 (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_i v) (neg.f32 cosTheta_O)) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))) (neg.f32 (/.f32 1/2 v)))
(*.f32 (exp.f32 (-.f32 (-.f32 6931/10000 (*.f32 cosTheta_i (/.f32 cosTheta_O v))) (fma.f32 (/.f32 sinTheta_O v) sinTheta_i (/.f32 1 v)))) (/.f32 -1/2 v))
(*.f32 (exp.f32 (+.f32 6931/10000 (-.f32 (/.f32 -1 v) (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (/.f32 sinTheta_i (/.f32 v sinTheta_O)))))) (/.f32 -1/2 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 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v))))))
(neg.f32 (exp.f32 (+.f32 (log.f32 (/.f32 1/2 v)) (+.f32 6931/10000 (-.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (/.f32 sinTheta_i (/.f32 v (neg.f32 sinTheta_O)))) (/.f32 1 v))))))
(*.f32 (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (*.f32 (/.f32 (neg.f32 sinTheta_i) v) sinTheta_O)) (+.f32 (/.f32 -1 v) 6931/10000))) (neg.f32 (/.f32 1/2 v)))
(*.f32 (exp.f32 (+.f32 (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 6931/10000 (/.f32 -1 v)))) (/.f32 -1/2 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 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v))))))
(neg.f32 (exp.f32 (+.f32 (log.f32 (/.f32 1/2 v)) (+.f32 6931/10000 (-.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (/.f32 sinTheta_i (/.f32 v (neg.f32 sinTheta_O)))) (/.f32 1 v))))))
(*.f32 (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (*.f32 (/.f32 (neg.f32 sinTheta_i) v) sinTheta_O)) (+.f32 (/.f32 -1 v) 6931/10000))) (neg.f32 (/.f32 1/2 v)))
(*.f32 (exp.f32 (+.f32 (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 6931/10000 (/.f32 -1 v)))) (/.f32 -1/2 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 1 (neg.f32 v))) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 (neg.f32 v)))))))
(neg.f32 (exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 (neg.f32 v) cosTheta_O)) (+.f32 (/.f32 sinTheta_i (/.f32 (neg.f32 v) sinTheta_O)) (/.f32 1 (neg.f32 v)))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 (neg.f32 v)))))))
(*.f32 (exp.f32 (+.f32 6931/10000 (-.f32 (/.f32 cosTheta_i (/.f32 (neg.f32 v) cosTheta_O)) (+.f32 (*.f32 (/.f32 sinTheta_i (neg.f32 v)) sinTheta_O) (/.f32 -1 v))))) (neg.f32 (/.f32 -1/2 v)))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 6931/10000 (fma.f32 (/.f32 cosTheta_i (neg.f32 v)) cosTheta_O (fma.f32 (/.f32 sinTheta_O v) sinTheta_i (/.f32 1 v))))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_O cosTheta_i) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 v)))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (fma.f32 (/.f32 sinTheta_i v) (neg.f32 sinTheta_O) (/.f32 -1 v))) 6931/10000)))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (-.f32 (/.f32 -1 v) (/.f32 sinTheta_i (/.f32 v sinTheta_O)))) 6931/10000)))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 sinTheta_i cosTheta_O) v) (/.f32 (*.f32 cosTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 1/2 v)) (+.f32 6931/10000 (-.f32 (/.f32 sinTheta_i (/.f32 v cosTheta_O)) (+.f32 (/.f32 cosTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v))))))
(*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (*.f32 (/.f32 sinTheta_i v) cosTheta_O) (+.f32 (*.f32 (/.f32 cosTheta_i v) sinTheta_O) (+.f32 (/.f32 1 v) -6931/10000)))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 6931/10000 (-.f32 (*.f32 (/.f32 cosTheta_O v) sinTheta_i) (fma.f32 (/.f32 cosTheta_i v) sinTheta_O (/.f32 1 v))))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 sinTheta_O cosTheta_O) v) (/.f32 (*.f32 sinTheta_i cosTheta_i) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 1/2 v)) (+.f32 6931/10000 (-.f32 (/.f32 cosTheta_O (/.f32 v sinTheta_O)) (+.f32 (/.f32 cosTheta_i (/.f32 v sinTheta_i)) (/.f32 1 v))))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) sinTheta_O) (*.f32 (/.f32 sinTheta_i v) cosTheta_i)) (+.f32 (/.f32 -1 v) 6931/10000))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 6931/10000 (-.f32 (*.f32 sinTheta_O (/.f32 cosTheta_O v)) (fma.f32 (/.f32 sinTheta_i v) cosTheta_i (/.f32 1 v))))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 v cosTheta_O) cosTheta_i) (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_i)) (/.f32 1 cosTheta_i)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 cosTheta_i)))))
(exp.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_O v) cosTheta_i) (/.f32 sinTheta_i (/.f32 cosTheta_i sinTheta_O))) (/.f32 1 cosTheta_i)) (+.f32 6931/10000 (log.f32 (/.f32 1/2 cosTheta_i)))))
(*.f32 (exp.f32 (+.f32 6931/10000 (+.f32 (-.f32 (/.f32 cosTheta_O (/.f32 cosTheta_i v)) (*.f32 (/.f32 sinTheta_i cosTheta_i) sinTheta_O)) (/.f32 -1 cosTheta_i)))) (/.f32 1/2 cosTheta_i))
(*.f32 (exp.f32 (-.f32 (/.f32 cosTheta_O (/.f32 cosTheta_i v)) (+.f32 (fma.f32 (/.f32 sinTheta_i cosTheta_i) sinTheta_O (/.f32 1 cosTheta_i)) -6931/10000))) (/.f32 1/2 cosTheta_i))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i sinTheta_i) v) (/.f32 (*.f32 cosTheta_O sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 1/2 v)) (+.f32 6931/10000 (-.f32 (/.f32 cosTheta_i (/.f32 v sinTheta_i)) (+.f32 (/.f32 cosTheta_O (/.f32 v sinTheta_O)) (/.f32 1 v))))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 6931/10000 (-.f32 (*.f32 (/.f32 sinTheta_i v) cosTheta_i) (+.f32 (/.f32 1 v) (*.f32 (/.f32 cosTheta_O v) sinTheta_O))))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 6931/10000 (-.f32 (*.f32 sinTheta_i (/.f32 cosTheta_i v)) (fma.f32 (/.f32 sinTheta_O v) cosTheta_O (/.f32 1 v))))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i sinTheta_O) v) (/.f32 (*.f32 sinTheta_i cosTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (log.f32 (/.f32 1/2 v)) (+.f32 6931/10000 (-.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v sinTheta_O)) (/.f32 sinTheta_i (/.f32 v cosTheta_O))) (/.f32 1 v)))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 6931/10000 (-.f32 (*.f32 (/.f32 cosTheta_i v) sinTheta_O) (-.f32 (*.f32 (/.f32 sinTheta_i v) cosTheta_O) (/.f32 -1 v))))))
(*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (*.f32 sinTheta_O (/.f32 cosTheta_i v)) (fma.f32 (/.f32 sinTheta_i v) cosTheta_O (+.f32 (/.f32 1 v) -6931/10000)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i v) cosTheta_O) (/.f32 (*.f32 sinTheta_i sinTheta_O) cosTheta_O)) (/.f32 1 cosTheta_O)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 cosTheta_O)))))
(exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 cosTheta_O v)) (+.f32 (/.f32 sinTheta_i (/.f32 cosTheta_O sinTheta_O)) (/.f32 1 cosTheta_O))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 cosTheta_O)))))
(*.f32 (exp.f32 (+.f32 6931/10000 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_i cosTheta_O) v) (*.f32 (/.f32 sinTheta_i cosTheta_O) sinTheta_O)) (/.f32 -1 cosTheta_O)))) (/.f32 1/2 cosTheta_O))
(*.f32 (exp.f32 (+.f32 6931/10000 (-.f32 (*.f32 v (/.f32 cosTheta_i cosTheta_O)) (fma.f32 (/.f32 sinTheta_i cosTheta_O) sinTheta_O (/.f32 1 cosTheta_O))))) (/.f32 1/2 cosTheta_O))
(*.f32 (exp.f32 (fma.f32 (/.f32 cosTheta_i cosTheta_O) v (+.f32 (-.f32 (/.f32 -1 cosTheta_O) (*.f32 sinTheta_O (/.f32 sinTheta_i cosTheta_O))) 6931/10000))) (/.f32 1/2 cosTheta_O))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_O sinTheta_i) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
(exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 v)))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (fma.f32 (/.f32 sinTheta_i v) (neg.f32 sinTheta_O) (/.f32 -1 v))) 6931/10000)))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (fma.f32 (/.f32 cosTheta_O v) cosTheta_i (-.f32 (/.f32 -1 v) (/.f32 sinTheta_i (/.f32 v sinTheta_O)))) 6931/10000)))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_i) (/.f32 (*.f32 v sinTheta_O) sinTheta_i)) (/.f32 1 sinTheta_i)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 sinTheta_i)))))
(exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 sinTheta_i cosTheta_O)) (+.f32 (/.f32 (*.f32 v sinTheta_O) sinTheta_i) (/.f32 1 sinTheta_i))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 sinTheta_i)))))
(*.f32 (exp.f32 (-.f32 (*.f32 (/.f32 cosTheta_i sinTheta_i) cosTheta_O) (+.f32 (*.f32 (/.f32 v sinTheta_i) sinTheta_O) (+.f32 (/.f32 1 sinTheta_i) -6931/10000)))) (/.f32 1/2 sinTheta_i))
(*.f32 (exp.f32 (-.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i sinTheta_i)) (+.f32 (fma.f32 (/.f32 v sinTheta_i) sinTheta_O (/.f32 1 sinTheta_i)) -6931/10000))) (/.f32 1/2 sinTheta_i))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) sinTheta_O) (/.f32 (*.f32 sinTheta_i v) sinTheta_O)) (/.f32 1 sinTheta_O)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 sinTheta_O)))))
(exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 sinTheta_O cosTheta_O)) (+.f32 (/.f32 sinTheta_i (/.f32 sinTheta_O v)) (/.f32 1 sinTheta_O))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 sinTheta_O)))))
(*.f32 (exp.f32 (+.f32 6931/10000 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 sinTheta_O cosTheta_O)) (*.f32 (/.f32 sinTheta_i sinTheta_O) v)) (/.f32 -1 sinTheta_O)))) (/.f32 1/2 sinTheta_O))
(*.f32 (exp.f32 (+.f32 6931/10000 (-.f32 (*.f32 cosTheta_O (/.f32 cosTheta_i sinTheta_O)) (fma.f32 (/.f32 sinTheta_i sinTheta_O) v (/.f32 1 sinTheta_O))))) (/.f32 1/2 sinTheta_O))
Symmetry

(sort cosTheta_i cosTheta_O)

(sort sinTheta_i sinTheta_O)

Compiler

Compiled 308 to 138 computations (55.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.9s
Operation ival-log, time spent: 622.0ms, 32.0% of total-time
Operation ival-div, time spent: 345.0ms, 18.0% of total-time
Operation ival-sub, time spent: 344.0ms, 18.0% of total-time
Operation ival-add, time spent: 305.0ms, 16.0% of total-time
Operation ival-mult, time spent: 221.0ms, 11.0% of total-time
Operation const, time spent: 57.0ms, 3.0% of total-time
Operation ival-exp, time spent: 29.0ms, 2.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 92 to 54 computations (41.3% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.3%
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))))
99.4%
(exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 v)))))
Compiler

Compiled 55 to 39 computations (29.1% saved)

localize3.2s (27.1%)

Compiler

Compiled 218 to 87 computations (60.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.9s
Operation ival-log, time spent: 640.0ms, 34.0% of total-time
Operation ival-add, time spent: 558.0ms, 29.0% of total-time
Operation ival-div, time spent: 406.0ms, 21.0% of total-time
Operation ival-sub, time spent: 155.0ms, 8.0% of total-time
Operation ival-exp, time spent: 66.0ms, 3.0% of total-time
Operation const, time spent: 42.0ms, 2.0% of total-time
Operation ival-mult, time spent: 28.0ms, 1.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 5 to 5 computations (0% saved)

prune7.0ms (0.1%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New000
Fresh000
Picked022
Done000
Total022
Accuracy
99.4%
Counts
2 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.3%
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))))
99.4%
(exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 v)))))
Compiler

Compiled 130 to 88 computations (32.3% saved)

regimes32.0ms (0.3%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))))
(exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 v)))))
(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
Outputs
(exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 v)))))
Calls

9 calls:

6.0ms
sinTheta_i
3.0ms
v
3.0ms
cosTheta_i
3.0ms
sinTheta_O
3.0ms
cosTheta_O
Results
AccuracySegmentsBranch
99.4%1cosTheta_i
99.4%1cosTheta_O
99.4%1sinTheta_i
99.4%1sinTheta_O
99.4%1v
99.4%1(exp.f32 (+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v)))))
99.4%1(+.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000) (log.f32 (/.f32 1 (*.f32 2 v))))
99.4%1(*.f32 cosTheta_i cosTheta_O)
99.4%1(*.f32 sinTheta_i sinTheta_O)
Compiler

Compiled 105 to 80 computations (23.8% saved)

regimes16.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))))
Outputs
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))))
Calls

5 calls:

5.0ms
sinTheta_i
3.0ms
sinTheta_O
3.0ms
v
3.0ms
cosTheta_O
3.0ms
cosTheta_i
Results
AccuracySegmentsBranch
99.3%1cosTheta_i
99.3%1cosTheta_O
99.3%1sinTheta_i
99.3%1sinTheta_O
99.3%1v
Compiler

Compiled 30 to 25 computations (16.7% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
11×+-commutative
sub-neg
*-commutative
neg-mul-1
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038182
154182
265182
377182
485182
592182
693182
Stop Event
done
saturated
Calls
Call 1
Inputs
(exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 v)))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))))
Outputs
(exp.f32 (+.f32 (-.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (+.f32 (/.f32 sinTheta_i (/.f32 v sinTheta_O)) (/.f32 1 v))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 v)))))
(exp.f32 (+.f32 (+.f32 (/.f32 cosTheta_i (/.f32 v cosTheta_O)) (-.f32 (/.f32 -1 v) (/.f32 sinTheta_i (/.f32 v sinTheta_O)))) (+.f32 6931/10000 (log.f32 (/.f32 1/2 v)))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 (/.f32 cosTheta_O v) cosTheta_i) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 (/.f32 -1 v) 6931/10000))))
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (*.f32 cosTheta_i (/.f32 cosTheta_O v)) (/.f32 sinTheta_i (/.f32 v sinTheta_O))) (+.f32 6931/10000 (/.f32 -1 v)))))
Compiler

Compiled 55 to 39 computations (29.1% saved)

soundness219.0ms (1.8%)

Rules
399×times-frac
399×times-frac
392×associate-+l-
392×associate-+l-
338×associate-+l+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01732130
14852026
214221870
364061870
01732130
14852026
214221870
364061870
Stop Event
node limit
node limit
Compiler

Compiled 293 to 142 computations (51.5% saved)

end0.0ms (0%)

preprocess55.0ms (0.5%)

Remove

(sort sinTheta_i sinTheta_O)

(sort cosTheta_i cosTheta_O)

Compiler

Compiled 496 to 348 computations (29.8% saved)

Profiling

Loading profile data...