Details

Time bar (total: 9.4s)

analyze2.3s (24.8%)

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 51 to 38 computations (25.5% saved)

sample88.0ms (0.9%)

Algorithm
intervals
Results
32.0ms256×body128valid
13.0ms257×pre128true
0.0msbody128nan
Compiler

Compiled 86 to 65 computations (24.4% saved)

simplify64.0ms (0.7%)

Algorithm
egg-herbie
Rules
982×exp-sum_binary32
570×exp-diff_binary32
458×sub-neg_binary32
380×cancel-sign-sub-inv_binary32
307×div-exp_binary32
Counts
1 → 1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02235
15333
214533
351333
4197933
5385633
6478233
7530533

prune4.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 2
Alt Table
StatusErrorProgram
0.1b
(*.f32 (/.f32 1/2 v) (exp.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 3121444901730491/4503599627370496)))
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)) 3121444901730491/4503599627370496) (log.f32 (/.f32 1 (*.f32 2 v)))))
Compiler

Compiled 141 to 101 computations (28.4% saved)

localize63.0ms (0.7%)

Local error

Found 4 expressions with local error:

0.1b
(-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))
0.1b
(exp.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 3121444901730491/4503599627370496))
7.2b
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
8.1b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)

rewrite132.0ms (1.4%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
27×*-un-lft-identity_binary32
16×add-log-exp_binary32
14×add-cbrt-cube_binary32
14×add-exp-log_binary32
13×add-sqr-sqrt_binary32
Counts
4 → 86
Calls

4 calls:

19.0ms
(exp.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 3121444901730491/4503599627370496))
8.0ms
(-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))
4.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
3.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
Compiler

Compiled 2345 to 1040 computations (55.7% saved)

series173.0ms (1.8%)

Error
0.1b
Counts
4 → 56
Calls

4 calls:

63.0ms
(-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))
47.0ms
(exp.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 3121444901730491/4503599627370496))
26.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
26.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
Compiler

Compiled 3028 to 2127 computations (29.8% saved)

simplify97.0ms (1%)

Algorithm
egg-herbie
Rules
750×times-frac_binary32
533×associate-*l/_binary32
368×associate-/l/_binary32
236×associate-/r*_binary32
200×associate-/r/_binary32
Counts
142 → 79
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01631978
14201901
214001901
346401901
449771901

prune59.0ms (0.6%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New76379
Fresh011
Picked101
Done000
Total77481
Error
0.1b
Counts
81 → 4
Alt Table
StatusErrorProgram
0.1b
(*.f32 (/.f32 1/2 v) (pow.f32 E.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 3121444901730491/4503599627370496)))
0.1b
(*.f32 (/.f32 1/2 v) (*.f32 (sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v))))) (sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))))
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)) 3121444901730491/4503599627370496) (log.f32 (/.f32 1 (*.f32 2 v)))))
0.1b
(*.f32 (/.f32 1/2 v) (*.f32 (*.f32 (cbrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v))))) (cbrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))) (cbrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))))
Compiler

Compiled 1461 to 730 computations (50% saved)

localize64.0ms (0.7%)

Local error

Found 4 expressions with local error:

0.2b
(sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))
0.2b
(sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))
4.1b
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
4.1b
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)

rewrite224.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
34×*-un-lft-identity_binary32
26×add-sqr-sqrt_binary32
24×add-cube-cbrt_binary32
18×times-frac_binary32
12×sqrt-pow1_binary32
Counts
4 → 100
Calls

4 calls:

17.0ms
(sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))
15.0ms
(sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))
7.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
5.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
Compiler

Compiled 4649 to 2026 computations (56.4% saved)

series373.0ms (4%)

Error
0.1b
Counts
4 → 84
Calls

4 calls:

117.0ms
(sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))
87.0ms
(sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))
61.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
59.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
Compiler

Compiled 7990 to 5182 computations (35.1% saved)

simplify156.0ms (1.7%)

Algorithm
egg-herbie
Rules
405×times-frac_binary32
384×associate-*l*_binary32
379×associate-/l*_binary32
359×associate-*r*_binary32
279×div-sub_binary32
Counts
184 → 114
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01404832
13364286
29724186
347234174
454444174

prune112.0ms (1.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1131114
Fresh123
Picked011
Done000
Total1144118
Error
0.0b
Counts
118 → 4
Alt Table
StatusErrorProgram
0.1b
(*.f32 (/.f32 1/2 v) (pow.f32 E.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 3121444901730491/4503599627370496)))
0.1b
(*.f32 (/.f32 1/2 v) (*.f32 (sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v))))) (sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))))
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)) 3121444901730491/4503599627370496) (log.f32 (/.f32 1 (*.f32 2 v)))))
0.1b
(*.f32 (/.f32 1/2 v) (*.f32 (*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v)))))) (cbrt.f32 (sqrt.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v))))))) (cbrt.f32 (sqrt.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v))))))) (sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))))
Compiler

Compiled 3046 to 1474 computations (51.6% saved)

localize105.0ms (1.1%)

Local error

Found 4 expressions with local error:

4.1b
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
4.1b
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
4.1b
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
4.1b
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)

rewrite320.0ms (3.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
36×*-un-lft-identity_binary32
36×times-frac_binary32
36×add-sqr-sqrt_binary32
36×add-cube-cbrt_binary32
12×associate-/r*_binary32
Counts
4 → 120
Calls

4 calls:

6.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
5.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
5.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
5.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
Compiler

Compiled 10309 to 4504 computations (56.3% saved)

series362.0ms (3.8%)

Error
0.0b
Counts
4 → 84
Calls

4 calls:

84.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
78.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
76.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
75.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
Compiler

Compiled 13291 to 7627 computations (42.6% saved)

simplify206.0ms (2.2%)

Algorithm
egg-herbie
Rules
427×distribute-rgt-in_binary32
419×distribute-lft-in_binary32
342×*-commutative_binary32
341×neg-sub0_binary32
329×neg-mul-1_binary32
Counts
204 → 92
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0723608
11853384
25143384
314673384
438623384
544083384
648553384
748843384

prune90.0ms (1%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New92092
Fresh022
Picked011
Done011
Total92496
Error
0.0b
Counts
96 → 4
Alt Table
StatusErrorProgram
0.1b
(*.f32 (/.f32 1/2 v) (pow.f32 E.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 3121444901730491/4503599627370496)))
0.1b
(*.f32 (/.f32 1/2 v) (*.f32 (sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v))))) (sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))))
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)) 3121444901730491/4503599627370496) (log.f32 (/.f32 1 (*.f32 2 v)))))
0.1b
(*.f32 (/.f32 1/2 v) (*.f32 (*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v)))))) (cbrt.f32 (sqrt.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v))))))) (cbrt.f32 (sqrt.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v))))))) (sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))))
Compiler

Compiled 3430 to 1603 computations (53.3% saved)

localize66.0ms (0.7%)

Local error

Found 4 expressions with local error:

0.1b
(-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))
0.1b
(pow.f32 E.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 3121444901730491/4503599627370496))
7.2b
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
8.1b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)

rewrite181.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
28×*-un-lft-identity_binary32
15×add-exp-log_binary32
14×add-sqr-sqrt_binary32
14×add-cbrt-cube_binary32
12×add-cube-cbrt_binary32
Counts
4 → 90
Calls

4 calls:

18.0ms
(pow.f32 E.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 3121444901730491/4503599627370496))
8.0ms
(-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))
4.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
3.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
Compiler

Compiled 2614 to 1118 computations (57.2% saved)

series172.0ms (1.8%)

Error
0.0b
Counts
4 → 56
Calls

4 calls:

55.0ms
(pow.f32 E.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 3121444901730491/4503599627370496))
54.0ms
(-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))
26.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
25.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
Compiler

Compiled 3105 to 2200 computations (29.1% saved)

simplify108.0ms (1.1%)

Algorithm
egg-herbie
Rules
741×times-frac_binary32
513×associate-*l/_binary32
389×associate-/l/_binary32
230×associate-/r*_binary32
202×associate-/r/_binary32
Counts
146 → 87
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01792272
14722196
215182194
349262194
449562194

prune76.0ms (0.8%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New86187
Fresh011
Picked011
Done022
Total86591
Error
0.0b
Counts
91 → 5
Alt Table
StatusErrorProgram
0.1b
(*.f32 (/.f32 1/2 v) (pow.f32 E.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 3121444901730491/4503599627370496)))
0.1b
(*.f32 (/.f32 1/2 v) (*.f32 (sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v))))) (sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))))
0.2b
(*.f32 (/.f32 1/2 v) (pow.f32 (pow.f32 E.f32 (*.f32 (cbrt.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))) (cbrt.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))) (cbrt.f32 (+.f32 (-.f32 (-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)) (/.f32 1 v)) 3121444901730491/4503599627370496))))
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)) 3121444901730491/4503599627370496) (log.f32 (/.f32 1 (*.f32 2 v)))))
0.1b
(*.f32 (/.f32 1/2 v) (*.f32 (*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v)))))) (cbrt.f32 (sqrt.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v))))))) (cbrt.f32 (sqrt.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v))))))) (sqrt.f32 (exp.f32 (+.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (/.f32 -1 v)))))))
Compiler

Compiled 1518 to 721 computations (52.5% saved)

regimes1.1s (11.4%)

Accuracy

Total 0.0b remaining (26.9%)

Threshold costs 0.0b (26.9%)

Compiler

Compiled 35562 to 23164 computations (34.9% saved)

simplify5.0ms (0.1%)

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
02854
14454
25654
36554
47054
57154
66954

end21.0ms (0.2%)

Remove

(sort sinTheta_i sinTheta_O)

(sort cosTheta_i cosTheta_O)

Compiler

Compiled 200 to 140 computations (30% saved)

sample2.7s (28.5%)

Algorithm
intervals
Results
1.0s8000×body128valid
372.0ms8120×pre128true
13.0ms120×body128nan
Compiler

Compiled 344 to 223 computations (35.2% saved)

Profiling

Loading profile data...