Details

Time bar (total: 11.9s)

analyze1.7s (14.7%)

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)

sample81.0ms (0.7%)

Algorithm
intervals
Results
29.0ms256×body128valid
13.0ms256×pre128true
Compiler

Compiled 86 to 65 computations (24.4% saved)

simplify68.0ms (0.6%)

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

prune11.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 2
Alt Table
StatusErrorProgram
0.0b
(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.0b
(*.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)))
Compiler

Compiled 141 to 101 computations (28.4% saved)

localize54.0ms (0.5%)

Local error

Found 4 expressions with local error:

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))
0.1b
(-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))
7.1b
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
7.5b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)

rewrite199.0ms (1.7%)

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

4 calls:

23.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))
9.0ms
(-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))
5.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
5.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
Compiler

Compiled 2345 to 1040 computations (55.7% saved)

series357.0ms (3%)

Error
0.0b
Counts
4 → 60
Calls

4 calls:

111.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))
107.0ms
(-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))
51.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
50.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
Compiler

Compiled 3447 to 2385 computations (30.8% saved)

simplify113.0ms (1%)

Algorithm
egg-herbie
Rules
494×associate-/l/_binary32
467×associate-/r*_binary32
294×associate-/r/_binary32
129×exp-sum_binary32 associate-/l*_binary32
125×times-frac_binary32
Counts
146 → 89
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01922430
14832320
217452314
346102314
450772314

prune97.0ms (0.8%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New86389
Fresh101
Picked101
Done000
Total88391
Error
0.0b
Counts
91 → 3
Alt Table
StatusErrorProgram
4.7b
(*.f32 (/.f32 1/2 v) (/.f32 (exp.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)) (exp.f32 (-.f32 (/.f32 1 v) 3121444901730491/4503599627370496))))
0.0b
(*.f32 (/.f32 1/2 v) (*.f32 (*.f32 (cbrt.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 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v)))))) (cbrt.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v)))))))
0.0b
(*.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)))
Compiler

Compiled 1464 to 717 computations (51% saved)

localize54.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.0b
(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 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))
7.1b
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
7.5b
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)

rewrite247.0ms (2.1%)

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

4 calls:

26.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))
9.0ms
(-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))
4.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
4.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
Compiler

Compiled 2614 to 1118 computations (57.2% saved)

series361.0ms (3%)

Error
0.0b
Counts
4 → 60
Calls

4 calls:

114.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))
104.0ms
(-.f32 (/.f32 (*.f32 cosTheta_i cosTheta_O) v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v))
53.0ms
(/.f32 (*.f32 sinTheta_i sinTheta_O) v)
52.0ms
(/.f32 (*.f32 cosTheta_i cosTheta_O) v)
Compiler

Compiled 3527 to 2458 computations (30.3% saved)

simplify150.0ms (1.3%)

Algorithm
egg-herbie
Rules
514×associate-/l/_binary32
468×associate-/r*_binary32
296×associate-/r/_binary32
131×associate-/l*_binary32
125×times-frac_binary32
Counts
150 → 97
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02072729
15332635
218602611
348252611
449902611
549602611

prune113.0ms (1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New96197
Fresh112
Picked011
Done000
Total973100
Error
0.0b
Counts
100 → 3
Alt Table
StatusErrorProgram
0.0b
(*.f32 (/.f32 1/2 v) (*.f32 (*.f32 (cbrt.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 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v)))))) (cbrt.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v)))))))
0.0b
(*.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)))
4.7b
(*.f32 (/.f32 1/2 v) (/.f32 (pow.f32 E.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)) (pow.f32 E.f32 (-.f32 (/.f32 1 v) 3121444901730491/4503599627370496))))
Compiler

Compiled 1599 to 758 computations (52.6% saved)

localize61.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

rewrite356.0ms (3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
28×add-cube-cbrt_binary32 add-sqr-sqrt_binary32 *-un-lft-identity_binary32
27×times-frac_binary32
10×add-exp-log_binary32 add-cbrt-cube_binary32
associate-/l*_binary32 associate-/r*_binary32
add-log-exp_binary32 associate-/l/_binary32
Counts
4 → 102
Calls

4 calls:

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

Compiled 6693 to 2790 computations (58.3% saved)

series648.0ms (5.5%)

Error
0.0b
Counts
4 → 81
Calls

4 calls:

153.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
150.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
149.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
109.0ms
(-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O))
Compiler

Compiled 9834 to 5802 computations (41% saved)

simplify149.0ms (1.3%)

Algorithm
egg-herbie
Rules
634×distribute-rgt-in_binary32
567×distribute-lft-in_binary32
287×associate-*l*_binary32
225×associate-*r*_binary32
196×div-sub_binary32
Counts
183 → 95
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0903046
12302857
26832857
320812857
449242857
549542857

prune124.0ms (1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New95095
Fresh011
Picked011
Done011
Total95398
Error
0.0b
Counts
98 → 3
Alt Table
StatusErrorProgram
0.0b
(*.f32 (/.f32 1/2 v) (*.f32 (*.f32 (cbrt.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 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v)))))) (cbrt.f32 (exp.f32 (+.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v) (+.f32 3121444901730491/4503599627370496 (/.f32 -1 v)))))))
0.0b
(*.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)))
4.7b
(*.f32 (/.f32 1/2 v) (/.f32 (pow.f32 E.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)) (pow.f32 E.f32 (-.f32 (/.f32 1 v) 3121444901730491/4503599627370496))))
Compiler

Compiled 2513 to 1144 computations (54.5% saved)

localize56.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.1b
(-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O))
0.1b
(pow.f32 E.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v))
2.1b
(/.f32 (pow.f32 E.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)) (pow.f32 E.f32 (-.f32 (/.f32 1 v) 3121444901730491/4503599627370496)))
3.2b
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)

rewrite511.0ms (4.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
95×times-frac_binary32
68×add-cube-cbrt_binary32 add-sqr-sqrt_binary32 *-un-lft-identity_binary32
63×unpow-prod-down_binary32
32×unpow-prod-up_binary32
25×cancel-sign-sub-inv_binary32
Counts
4 → 196
Calls

4 calls:

9.0ms
(/.f32 (pow.f32 E.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)) (pow.f32 E.f32 (-.f32 (/.f32 1 v) 3121444901730491/4503599627370496)))
6.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
5.0ms
(pow.f32 E.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v))
4.0ms
(-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O))
Compiler

Compiled 7188 to 2820 computations (60.8% saved)

series581.0ms (4.9%)

Error
0.0b
Counts
4 → 87
Calls

4 calls:

164.0ms
(/.f32 (pow.f32 E.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)) (pow.f32 E.f32 (-.f32 (/.f32 1 v) 3121444901730491/4503599627370496)))
140.0ms
(pow.f32 E.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v))
106.0ms
(/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)
73.0ms
(-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O))
Compiler

Compiled 5784 to 3944 computations (31.8% saved)

simplify362.0ms (3.1%)

Algorithm
egg-herbie
Rules
311×cancel-sign-sub-inv_binary32
281×times-frac_binary32
256×associate-/l*_binary32
184×associate-/r*_binary32
175×sqr-pow_binary32
Counts
283 → 215
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
04169861
19109151
234639120
347749044
449799044
549109044

prune234.0ms (2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2132215
Fresh000
Picked101
Done112
Total2153218
Error
0.0b
Counts
218 → 3
Alt Table
StatusErrorProgram
5.0b
(*.f32 (/.f32 1/2 v) (/.f32 (log.f32 (exp.f32 (exp.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)))) (pow.f32 E.f32 (-.f32 (/.f32 1 v) 3121444901730491/4503599627370496))))
4.7b
(*.f32 (/.f32 1/2 v) (/.f32 (/.f32 (exp.f32 (/.f32 (-.f32 (*.f32 cosTheta_i cosTheta_O) (*.f32 sinTheta_i sinTheta_O)) v)) (sqrt.f32 (exp.f32 (-.f32 (/.f32 1 v) 3121444901730491/4503599627370496)))) (sqrt.f32 (pow.f32 E.f32 (-.f32 (/.f32 1 v) 3121444901730491/4503599627370496)))))
0.0b
(*.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)))
Compiler

Compiled 3403 to 1432 computations (57.9% saved)

regimes2.8s (23.4%)

Accuracy

Total 0.0b remaining (6.7%)

Threshold costs 0.0b (6.7%)

Compiler

Compiled 35823 to 24127 computations (32.6% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary32 +-commutative_binary32
sub-neg_binary32
neg-mul-1_binary32 neg-sub0_binary32
cancel-sign-sub-inv_binary32 distribute-rgt-neg-in_binary32
distribute-lft-neg-out_binary32 distribute-lft-neg-in_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03094
14294
25194
35794
46194
56294
66294

end39.0ms (0.3%)

Remove

(sort sinTheta_i sinTheta_O)

(sort cosTheta_i cosTheta_O)

Compiler

Compiled 325 to 200 computations (38.5% saved)

sample2.3s (19.5%)

Algorithm
intervals
Results
799.0ms8000×body128valid
386.0ms8126×pre128true
11.0ms126×body128nan
Compiler

Compiled 214 to 153 computations (28.5% saved)

Profiling

Loading profile data...