Details

Time bar (total: 2.5min)

analyze2.1s (1.4%)

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)

sample82.0ms (0.1%)

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

Compiled 86 to 65 computations (24.4% saved)

simplify53.0ms (0%)

Algorithm
egg-herbie
Rules
788×fma-neg_binary32
718×fma-def_binary32
560×exp-diff_binary32
512×exp-sum_binary32
448×sub-neg_binary32
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02235
15333
214531
353229
4211929
5443129
6497529

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.2b
(*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))))
0.2b
(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 160 to 112 computations (30% saved)

localize49.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))))
0.1b
(-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))
0.1b
(fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496)
0.1b
(exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))

rewrite76.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
38×add-cube-cbrt_binary32
24×pow1_binary32
22×add-sqr-sqrt_binary32
14×add-log-exp_binary32
14×add-cbrt-cube_binary32
Counts
4 → 166
Calls

4 calls:

30.0ms
(*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))))
14.0ms
(-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))
11.0ms
(exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))
10.0ms
(fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496)

series413.0ms (0.3%)

Counts
4 → 180
Calls

4 calls:

169.0ms
(*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))))
146.0ms
(-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))
69.0ms
(exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))
28.0ms
(fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496)

simplify257.0ms (0.2%)

Algorithm
egg-herbie
Rules
384×times-frac_binary32
274×associate-/l*_binary32
269×associate-*r*_binary32
269×fma-def_binary32
249×fma-neg_binary32
Counts
346 → 538
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
041011050
1124110640
2499510640
3517710640

prune533.0ms (0.4%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New5308538
Fresh101
Picked101
Done000
Total5328540
Error
0.1b
Counts
540 → 8
Alt Table
StatusErrorProgram
2.7b
(/.f32 1/2 (/.f32 (*.f32 v (exp.f32 (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))) (exp.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496))))
0.1b
(pow.f32 (cbrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))))) 3)
0.1b
(*.f32 (/.f32 1/2 v) (pow.f32 (cbrt.f32 (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))) 3))
12.6b
(*.f32 (*.f32 1/2 (/.f32 (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))) v)) (exp.f32 (fma.f32 (neg.f32 (cbrt.f32 (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))) (*.f32 (cbrt.f32 (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))) (cbrt.f32 (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))) (*.f32 (cbrt.f32 (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))) (*.f32 (cbrt.f32 (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))) (cbrt.f32 (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))))))
0.2b
(exp.f32 (+.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))) (log.f32 (/.f32 1/2 v))))
0.2b
(*.f32 (/.f32 1/2 v) (pow.f32 (exp.f32 (*.f32 (cbrt.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))) (cbrt.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))))) (cbrt.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))))
15.9b
(sqrt.f32 (*.f32 (pow.f32 (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))) 2) (pow.f32 (/.f32 1/2 v) 2)))
1.2b
(*.f32 (/.f32 1/2 v) (exp.f32 (/.f32 (-.f32 (*.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496)) (*.f32 (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))) (+.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))))
Compiler

Compiled 11393 to 6491 computations (43% saved)

localize60.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))
0.1b
(fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496)
0.1b
(exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))
0.6b
(cbrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))))

rewrite16.0ms (0%)

Algorithm
rewrite-expression-head
Rules
cbrt-div_binary32
frac-times_binary32
exp-diff_binary32
pow1/3_binary32
add-cube-cbrt_binary32
Counts
1 → 36
Calls

1 calls:

13.0ms
(cbrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))))

series2.6s (1.7%)

Counts
1 → 60
Calls

1 calls:

2.6s
(cbrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))))

simplify118.0ms (0.1%)

Algorithm
egg-herbie
Rules
512×associate-*r*_binary32
497×times-frac_binary32
301×associate-*l*_binary32
273×fma-def_binary32
269×associate-/l*_binary32
Counts
96 → 172
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03895852
112175687
251365687

prune508.0ms (0.3%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New5504554
Fresh527
Picked101
Done000
Total5566562
Error
0.1b
Counts
562 → 6
Alt Table
StatusErrorProgram
0.2b
(exp.f32 (+.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))) (log.f32 (/.f32 1/2 v))))
0.2b
(pow.f32 (cbrt.f32 (*.f32 (/.f32 1/2 v) (pow.f32 (exp.f32 (*.f32 (cbrt.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))) (cbrt.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))))) (cbrt.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))))) 3)
0.1b
(pow.f32 (exp.f32 (log.f32 (cbrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))))))) 3)
1.2b
(pow.f32 (cbrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (/.f32 (-.f32 (*.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496)) (*.f32 (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))) (+.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))))) 3)
2.7b
(/.f32 1/2 (/.f32 (*.f32 v (exp.f32 (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))) (exp.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496))))
28.8b
(pow.f32 (+.f32 (*.f32 1/162 (*.f32 (*.f32 (pow.f32 cosTheta_i 3) (*.f32 (cbrt.f32 1/2) (pow.f32 cosTheta_O 3))) (pow.f32 (/.f32 (exp.f32 (-.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 1 v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) (pow.f32 v 10)) 1/3))) (+.f32 (*.f32 1/3 (*.f32 (*.f32 cosTheta_i (*.f32 (cbrt.f32 1/2) cosTheta_O)) (pow.f32 (/.f32 (exp.f32 (-.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 1 v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) (pow.f32 v 4)) 1/3))) (+.f32 (*.f32 1/18 (*.f32 (*.f32 (pow.f32 cosTheta_i 2) (*.f32 (cbrt.f32 1/2) (pow.f32 cosTheta_O 2))) (pow.f32 (/.f32 (exp.f32 (-.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 1 v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) (pow.f32 v 7)) 1/3))) (*.f32 (pow.f32 (/.f32 (exp.f32 (-.f32 3121444901730491/4503599627370496 (+.f32 (/.f32 1 v) (/.f32 (*.f32 sinTheta_i sinTheta_O) v)))) v) 1/3) (cbrt.f32 1/2))))) 3)
Compiler

Compiled 13818 to 8824 computations (36.1% saved)

localize67.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))
0.1b
(exp.f32 (log.f32 (cbrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))))))
0.6b
(cbrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))))
4.9b
(log.f32 (cbrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))))))

rewrite32.0ms (0%)

Algorithm
rewrite-expression-head
Rules
16×add-cube-cbrt_binary32
15×exp-diff_binary32
10×log-div_binary32
10×cbrt-div_binary32
10×frac-times_binary32
Counts
2 → 76
Calls

2 calls:

13.0ms
(log.f32 (cbrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v)))))))
12.0ms
(exp.f32 (log.f32 (cbrt.f32 (*.f32 (/.f32 1/2 v) (exp.f32 (-.f32 (fma.f32 cosTheta_O (/.f32 cosTheta_i v) 3121444901730491/4503599627370496) (fma.f32 sinTheta_i (/.f32 sinTheta_O v) (/.f32 1 v))))))))

series2.4min (95.3%)

Profiling

Loading profile data...