Details

Time bar (total: 13.5s)

analyze1.9s (14.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%3%97%0
0%3%97%1
0%3%97%2
0%3%97%3
0%3%97%4
0%3%97%5
0%1.5%98.5%6
0%1.5%98.5%7
0%1.5%98.5%8
0%1.5%98.5%9
0%1.5%98.5%10
0.6%0.9%98.5%11
0.6%0.9%98.5%12
0.6%0.9%98.5%13
0.6%0.9%98.5%14
Compiler

Compiled 69 to 51 computations (26.1% saved)

sample2.4s (17.8%)

Results
2.4s8256×body128valid
37.0ms137×body128invalid
Compiler

Compiled 138 to 102 computations (26.1% saved)

preprocess54.0ms (0.4%)

Algorithm
egg-herbie
Rules
880×fma-neg_binary32
278×associate-+l-_binary32
233×associate-+l+_binary32
231×associate-+r-_binary32
214×sub-neg_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0116385
1327363
2978341
34387330
055
155
Stop Event
unsound
node limit
Symmetry

(sort cosTheta_i cosTheta_O)

(sort sinTheta_i sinTheta_O)

Compiler

Compiled 30 to 22 computations (26.7% saved)

simplify22.0ms (0.2%)

Algorithm
egg-herbie
Rules
696×fma-def_binary32
512×exp-sum_binary32
492×fma-neg_binary32
429×exp-diff_binary32
212×times-frac_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02235
15333
214731
358429
4286329
Stop Event
node limit
Counts
1 → 2

prune8.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.1b
(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)))))
Compiler

Compiled 110 to 78 computations (29.1% saved)

localize65.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(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)))))
0.1b
(+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 6931/10000)
7.2b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
8.6b
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)

series104.0ms (0.8%)

Counts
4 → 120
Calls

48 calls:

10.0ms
(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)))))
v
-inf
8.0ms
(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)))))
v
inf
5.0ms
(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)))))
sinTheta_i
0
4.0ms
(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)))))
sinTheta_O
0
4.0ms
(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)))))
cosTheta_i
0

rewrite40.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
253×add-sqr-sqrt_binary32
242×log1p-expm1-u_binary32
242×expm1-log1p-u_binary32
241×add-cbrt-cube_binary32
236×add-log-exp_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02266
150766
Stop Event
node limit
Counts
4 → 77

simplify102.0ms (0.8%)

Algorithm
egg-herbie
Rules
468×times-frac_binary32
311×associate-*r*_binary32
267×associate-/l*_binary32
240×associate-/r*_binary32
237×associate-+r+_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02696010
19065850
246314832
Stop Event
node limit
Counts
197 → 124

prune155.0ms (1.1%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1231124
Fresh000
Picked011
Done000
Total1232125
Error
0.1b
Counts
125 → 2
Alt Table
StatusErrorProgram
0.1b
(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)))))
0.5b
(pow.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000)))) 3) 1/3)
Compiler

Compiled 5937 to 3786 computations (36.2% saved)

localize60.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(-.f32 (/.f32 1 v) 6931/10000)
0.1b
(exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000)))
0.5b
(pow.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000)))) 3) 1/3)
3.8b
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)

series1.1s (8.5%)

Counts
4 → 175
Calls

48 calls:

266.0ms
(pow.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000)))) 3) 1/3)
v
-inf
128.0ms
(pow.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000)))) 3) 1/3)
v
inf
89.0ms
(pow.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000)))) 3) 1/3)
sinTheta_i
inf
82.0ms
(pow.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000)))) 3) 1/3)
cosTheta_i
-inf
70.0ms
(pow.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000)))) 3) 1/3)
sinTheta_i
-inf

rewrite40.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
244×add-sqr-sqrt_binary32
239×log1p-expm1-u_binary32
239×expm1-log1p-u_binary32
234×add-cbrt-cube_binary32
228×add-log-exp_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02374
151674
Stop Event
node limit
Counts
4 → 77

simplify244.0ms (1.8%)

Algorithm
egg-herbie
Rules
793×associate-/l*_binary32
739×fma-def_binary32
257×*-commutative_binary32
181×+-commutative_binary32
147×associate-+r+_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
070511163
1263011006
Stop Event
node limit
Counts
252 → 152

prune348.0ms (2.6%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1511152
Fresh000
Picked011
Done011
Total1513154
Error
0.1b
Counts
154 → 3
Alt Table
StatusErrorProgram
0.1b
(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)))))
0.5b
(pow.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000)))) 3) 1/3)
0.3b
(*.f32 (cbrt.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000))) 3/2)) (cbrt.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000))) 3/2)))
Compiler

Compiled 11962 to 8291 computations (30.7% saved)

localize69.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000)
0.1b
(exp.f32 (+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000))
0.4b
(cbrt.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000))) 3/2))
3.8b
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)

series352.0ms (2.6%)

Counts
3 → 168
Calls

45 calls:

49.0ms
(cbrt.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000))) 3/2))
v
inf
48.0ms
(cbrt.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000))) 3/2))
v
-inf
25.0ms
(+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000)
cosTheta_O
0
17.0ms
(exp.f32 (+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000))
sinTheta_i
0
13.0ms
(cbrt.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000))) 3/2))
sinTheta_O
0

rewrite51.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
244×add-sqr-sqrt_binary32
238×log1p-expm1-u_binary32
238×expm1-log1p-u_binary32
235×add-cbrt-cube_binary32
229×add-log-exp_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02281
150378
Stop Event
node limit
Counts
3 → 68

simplify137.0ms (1%)

Algorithm
egg-herbie
Rules
331×times-frac_binary32
312×cancel-sign-sub-inv_binary32
230×associate-/l*_binary32
207×fma-def_binary32
204×associate-*r*_binary32
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02967991
19757969
243146815
Stop Event
node limit
Counts
236 → 132

prune659.0ms (4.9%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New3122314
Fresh000
Picked101
Done022
Total3134317
Error
0.0b
Counts
317 → 4
Alt Table
StatusErrorProgram
0.1b
(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)))))
0.3b
(*.f32 (cbrt.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000))) 3/2)) (cbrt.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (pow.f32 (exp.f32 1) (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000)))) 3/2)))
0.5b
(pow.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000)))) 3) 1/3)
0.3b
(*.f32 (cbrt.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000))) 3/2)) (exp.f32 (log.f32 (sqrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000))))))))
Compiler

Compiled 21668 to 12798 computations (40.9% saved)

localize103.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000)))))
0.4b
(cbrt.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000))) 3/2))
3.8b
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
5.7b
(log.f32 (sqrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000))))))

series3.7s (27.6%)

Counts
2 → 96
Calls

30 calls:

396.0ms
(log.f32 (sqrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000))))))
cosTheta_i
inf
342.0ms
(log.f32 (sqrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000))))))
sinTheta_i
0
302.0ms
(log.f32 (sqrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000))))))
cosTheta_O
-inf
301.0ms
(log.f32 (sqrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000))))))
cosTheta_i
-inf
282.0ms
(log.f32 (sqrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000))))))
sinTheta_O
0

rewrite37.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
232×add-sqr-sqrt_binary32
220×add-cbrt-cube_binary32
220×log1p-expm1-u_binary32
220×expm1-log1p-u_binary32
217×add-log-exp_binary32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02166
147265
Stop Event
node limit
Counts
2 → 46

simplify96.0ms (0.7%)

Algorithm
egg-herbie
Rules
463×fma-def_binary32
401×*-commutative_binary32
344×associate-/l*_binary32
233×times-frac_binary32
211×cancel-sign-sub-inv_binary32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01324548
13944528
212444124
328174108
Stop Event
node limit
Counts
142 → 78

prune358.0ms (2.6%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New1731174
Fresh011
Picked011
Done022
Total1735178
Error
0.0b
Counts
178 → 5
Alt Table
StatusErrorProgram
0.1b
(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)))))
0.3b
(*.f32 (cbrt.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000))) 3/2)) (cbrt.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (pow.f32 (exp.f32 1) (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000)))) 3/2)))
0.1b
(*.f32 (exp.f32 (log.f32 (sqrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000))))))) (exp.f32 (log.f32 (sqrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000))))))))
0.5b
(pow.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000)))) 3) 1/3)
0.3b
(*.f32 (cbrt.f32 (pow.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (pow.f32 v -1)) 6931/10000))) 3/2)) (exp.f32 (log.f32 (sqrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (-.f32 (/.f32 1 v) 6931/10000))))))))
Compiler

Compiled 11187 to 6554 computations (41.4% saved)

regimes1.0s (7.7%)

Accuracy

Total 0.0b remaining (20.7%)

Threshold costs 0.0b (20.7%)

Counts
98 → 1
Compiler

Compiled 30549 to 22507 computations (26.3% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary32
*-commutative_binary32
sub-neg_binary32
neg-sub0_binary32
neg-mul-1_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02232
13732
25032
35832
46332
56432
Stop Event
saturated

end146.0ms (1.1%)

Stop Event
fuel
Remove

(sort sinTheta_i sinTheta_O)

(sort cosTheta_i cosTheta_O)

Compiler

Compiled 373 to 262 computations (29.8% saved)

Profiling

Loading profile data...