Details

Time bar (total: 26.7s)

analyze158.0ms (0.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%12.3%87.7%0
0%12.3%87.7%1
6.2%6.2%87.7%2
6.2%6.2%87.7%3
9.2%3.1%87.7%4
9.2%3.1%87.7%5
10.8%1.5%87.7%6
10.8%1.5%87.7%7
11.5%0.8%87.7%8
11.5%0.8%87.7%9
11.9%0.4%87.7%10
11.9%0.4%87.7%11
12.1%0.2%87.7%12
12.1%0.2%87.7%13
12.1%0.1%87.8%14
Compiler

Compiled 36 to 28 computations (22.2% saved)

sample55.0ms (0.2%)

Algorithm
intervals
Results
31.0ms256×body128valid
6.0ms256×pre128true
Compiler

Compiled 65 to 51 computations (21.5% saved)

simplify89.0ms (0.3%)

Algorithm
egg-herbie
Rules
740×times-frac_binary32
384×unsub-neg_binary32
362×unswap-sqr_binary32
349×neg-mul-1_binary32
329×div-sub_binary32
Counts
1 → 1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01940
14537
210435
324035
456135
5238435
6315335
7405635
8487435
9498935
10479935

prune9.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.4b
Counts
2 → 2
Alt Table
StatusErrorProgram
0.4b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
0.6b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (*.f32 (/.f32 1 (sqrt.f32 PI.f32)) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) cosTheta)) (exp.f32 (*.f32 (neg.f32 cosTheta) cosTheta)))))
Compiler

Compiled 126 to 96 computations (23.8% saved)

localize74.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.1b
(-.f32 (-.f32 1 cosTheta) cosTheta)
0.3b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
0.3b
(/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))
0.3b
(*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))

rewrite282.0ms (1.1%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
57×*-un-lft-identity_binary32
32×add-exp-log_binary32
28×add-sqr-sqrt_binary32
24×times-frac_binary32
22×add-cube-cbrt_binary32
Counts
4 → 127
Calls

4 calls:

15.0ms
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
13.0ms
(/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))
10.0ms
(-.f32 (-.f32 1 cosTheta) cosTheta)
6.0ms
(*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
Compiler

Compiled 3651 to 1782 computations (51.2% saved)

series175.0ms (0.7%)

Error
0.2b
Counts
4 → 30
Calls

4 calls:

62.0ms
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
23.0ms
(*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
22.0ms
(/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))
15.0ms
(-.f32 (-.f32 1 cosTheta) cosTheta)
Compiler

Compiled 2302 to 1626 computations (29.4% saved)

simplify132.0ms (0.5%)

Algorithm
egg-herbie
Rules
458×distribute-rgt-in_binary32
357×cancel-sign-sub-inv_binary32
274×associate-*r*_binary32
234×associate-*l*_binary32
179×*-commutative_binary32
Counts
157 → 131
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03324982
18344638
228494497
351404497

prune353.0ms (1.3%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New12110131
Fresh101
Picked101
Done000
Total12310133
Error
0.0b
Counts
133 → 10
Alt Table
StatusErrorProgram
3.1b
(exp.f32 (neg.f32 (log.f32 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))))
0.7b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))) (sqrt.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (/.f32 (/.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta))) cosTheta) (sqrt.f32 PI.f32)))))
0.8b
(*.f32 (/.f32 1 (*.f32 (cbrt.f32 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))) (cbrt.f32 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))) (/.f32 1 (cbrt.f32 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))))
0.6b
(*.f32 (sqrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))) (sqrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))))
0.9b
(*.f32 (*.f32 (cbrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))) (cbrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))) (cbrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))))
0.7b
(/.f32 (/.f32 1 (sqrt.f32 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))) (sqrt.f32 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))
0.4b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (sqrt.f32 (cbrt.f32 PI.f32)))))))
14.4b
(*.f32 (/.f32 1 (-.f32 (*.f32 (+.f32 1 c) (+.f32 1 c)) (/.f32 (-.f32 1 (+.f32 cosTheta cosTheta)) (*.f32 (*.f32 PI.f32 (*.f32 cosTheta cosTheta)) (pow.f32 (exp.f32 cosTheta) (+.f32 cosTheta cosTheta)))))) (-.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
0.4b
(*.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))) (+.f32 1 (pow.f32 c 3))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (+.f32 1 (-.f32 (*.f32 c c) c))))) (*.f32 (+.f32 (*.f32 1 1) (-.f32 (*.f32 c c) (*.f32 1 c))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
Compiler

Compiled 3419 to 1843 computations (46.1% saved)

localize138.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.1b
(*.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))) (+.f32 1 (pow.f32 c 3))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (+.f32 1 (-.f32 (*.f32 c c) c))))) (*.f32 (+.f32 (*.f32 1 1) (-.f32 (*.f32 c c) (*.f32 1 c))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
0.1b
(/.f32 1 (+.f32 (*.f32 (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))) (+.f32 1 (pow.f32 c 3))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (+.f32 1 (-.f32 (*.f32 c c) c)))))
0.3b
(*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
0.3b
(*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))

rewrite633.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
120×add-exp-log_binary32
86×prod-exp_binary32
48×add-cbrt-cube_binary32
43×associate-*l*_binary32
42×associate-*r/_binary32
Counts
4 → 173
Calls

4 calls:

33.0ms
(*.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))) (+.f32 1 (pow.f32 c 3))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (+.f32 1 (-.f32 (*.f32 c c) c))))) (*.f32 (+.f32 (*.f32 1 1) (-.f32 (*.f32 c c) (*.f32 1 c))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
16.0ms
(/.f32 1 (+.f32 (*.f32 (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))) (+.f32 1 (pow.f32 c 3))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (+.f32 1 (-.f32 (*.f32 c c) c)))))
9.0ms
(*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
6.0ms
(*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
Compiler

Compiled 14399 to 6673 computations (53.7% saved)

series1.8s (6.6%)

Error
0.0b
Counts
4 → 34
Calls

4 calls:

1.0s
(*.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))) (+.f32 1 (pow.f32 c 3))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (+.f32 1 (-.f32 (*.f32 c c) c))))) (*.f32 (+.f32 (*.f32 1 1) (-.f32 (*.f32 c c) (*.f32 1 c))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
339.0ms
(/.f32 1 (+.f32 (*.f32 (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))) (+.f32 1 (pow.f32 c 3))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (+.f32 1 (-.f32 (*.f32 c c) c)))))
30.0ms
(*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
29.0ms
(*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
Compiler

Compiled 16442 to 10955 computations (33.4% saved)

simplify336.0ms (1.3%)

Algorithm
egg-herbie
Rules
532×distribute-rgt-in_binary32
435×*-commutative_binary32
331×+-commutative_binary32
284×associate-+r+_binary32
196×associate-*r*_binary32
Counts
207 → 177
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0111222269
1358620517
2531020517

prune667.0ms (2.5%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1761177
Fresh369
Picked011
Done000
Total1798187
Error
0b
Counts
187 → 8
Alt Table
StatusErrorProgram
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (/.f32 (/.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta))) cosTheta) (sqrt.f32 PI.f32)))))
0.6b
(*.f32 (sqrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))) (sqrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))))
0.9b
(*.f32 (*.f32 (cbrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))) (cbrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))) (cbrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))))
0.7b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (sqrt.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))) (sqrt.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))))
0.6b
(*.f32 (log.f32 (exp.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))) (+.f32 1 (pow.f32 c 3))) (*.f32 (-.f32 (+.f32 1 (*.f32 c c)) c) (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta)))))))) (*.f32 (+.f32 (*.f32 1 1) (-.f32 (*.f32 c c) (*.f32 1 c))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
0.7b
(/.f32 (/.f32 1 (sqrt.f32 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))) (sqrt.f32 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))
14.4b
(*.f32 (/.f32 1 (-.f32 (*.f32 (+.f32 1 c) (+.f32 1 c)) (/.f32 (-.f32 1 (+.f32 cosTheta cosTheta)) (*.f32 (*.f32 PI.f32 (*.f32 cosTheta cosTheta)) (pow.f32 (exp.f32 cosTheta) (+.f32 cosTheta cosTheta)))))) (-.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
0.4b
(*.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))) (+.f32 1 (pow.f32 c 3))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (+.f32 1 (-.f32 (*.f32 c c) c))))) (*.f32 (+.f32 (*.f32 1 1) (-.f32 (*.f32 c c) (*.f32 1 c))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
Compiler

Compiled 15964 to 8223 computations (48.5% saved)

localize79.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.1b
(*.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (/.f32 (/.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta))) cosTheta) (sqrt.f32 PI.f32)))
0.1b
(-.f32 (-.f32 1 cosTheta) cosTheta)
0.3b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (/.f32 (/.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta))) cosTheta) (sqrt.f32 PI.f32)))))
0.4b
(/.f32 (/.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta))) cosTheta) (sqrt.f32 PI.f32))

rewrite653.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
294×times-frac_binary32
198×add-sqr-sqrt_binary32
172×*-un-lft-identity_binary32
162×add-cube-cbrt_binary32
96×sqrt-prod_binary32
Counts
4 → 299
Calls

4 calls:

32.0ms
(*.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (/.f32 (/.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta))) cosTheta) (sqrt.f32 PI.f32)))
9.0ms
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (/.f32 (/.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta))) cosTheta) (sqrt.f32 PI.f32)))))
7.0ms
(/.f32 (/.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta))) cosTheta) (sqrt.f32 PI.f32))
6.0ms
(-.f32 (-.f32 1 cosTheta) cosTheta)
Compiler

Compiled 10049 to 4129 computations (58.9% saved)

series204.0ms (0.8%)

Error
0b
Counts
4 → 30
Calls

4 calls:

71.0ms
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (/.f32 (/.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta))) cosTheta) (sqrt.f32 PI.f32)))))
26.0ms
(/.f32 (/.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta))) cosTheta) (sqrt.f32 PI.f32))
23.0ms
(*.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (/.f32 (/.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta))) cosTheta) (sqrt.f32 PI.f32)))
17.0ms
(-.f32 (-.f32 1 cosTheta) cosTheta)
Compiler

Compiled 2556 to 1985 computations (22.3% saved)

simplify502.0ms (1.9%)

Algorithm
egg-herbie
Rules
349×associate-*r*_binary32
329×associate-*l*_binary32
287×*-commutative_binary32
205×associate-/l/_binary32
191×associate-/l*_binary32
Counts
329 → 313
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
053012260
1134711542
2433811373
3476311368
4495811368
5499611368
6493611368

prune479.0ms (1.8%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New3103313
Fresh426
Picked011
Done011
Total3147321
Error
0b
Counts
321 → 7
Alt Table
StatusErrorProgram
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (/.f32 (/.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta))) cosTheta) (sqrt.f32 PI.f32)))))
0.5b
(*.f32 (/.f32 1 (+.f32 (-.f32 1 (*.f32 c c)) (*.f32 (/.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (pow.f32 (exp.f32 cosTheta) cosTheta)) (*.f32 cosTheta (sqrt.f32 PI.f32))) (-.f32 1 c)))) (*.f32 (-.f32 1 c) (sqrt.f32 (+.f32 (-.f32 1 cosTheta) cosTheta))))
0.7b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (*.f32 (sqrt.f32 (/.f32 (exp.f32 (neg.f32 (*.f32 cosTheta cosTheta))) (*.f32 cosTheta (sqrt.f32 PI.f32)))) (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta)))) (sqrt.f32 (/.f32 (/.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta))) cosTheta) (sqrt.f32 PI.f32))))))
0.6b
(*.f32 (log.f32 (exp.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))) (+.f32 1 (pow.f32 c 3))) (*.f32 (-.f32 (+.f32 1 (*.f32 c c)) c) (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta)))))))) (*.f32 (+.f32 (*.f32 1 1) (-.f32 (*.f32 c c) (*.f32 1 c))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (*.f32 (/.f32 (sqrt.f32 (exp.f32 (neg.f32 (*.f32 cosTheta cosTheta)))) (fabs.f32 (cbrt.f32 PI.f32))) (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta)))) (/.f32 (/.f32 (sqrt.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta)))) cosTheta) (sqrt.f32 (cbrt.f32 PI.f32))))))
14.4b
(*.f32 (/.f32 1 (-.f32 (*.f32 (+.f32 1 c) (+.f32 1 c)) (/.f32 (-.f32 1 (+.f32 cosTheta cosTheta)) (*.f32 (*.f32 PI.f32 (*.f32 cosTheta cosTheta)) (pow.f32 (exp.f32 cosTheta) (+.f32 cosTheta cosTheta)))))) (-.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
0.4b
(*.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))) (+.f32 1 (pow.f32 c 3))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (+.f32 1 (-.f32 (*.f32 c c) c))))) (*.f32 (+.f32 (*.f32 1 1) (-.f32 (*.f32 c c) (*.f32 1 c))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
Compiler

Compiled 8158 to 3493 computations (57.2% saved)

localize125.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.1b
(*.f32 (/.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (pow.f32 (exp.f32 cosTheta) cosTheta)) (*.f32 cosTheta (sqrt.f32 PI.f32))) (-.f32 1 c))
0.3b
(/.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (pow.f32 (exp.f32 cosTheta) cosTheta)) (*.f32 cosTheta (sqrt.f32 PI.f32)))
0.3b
(/.f32 1 (+.f32 (-.f32 1 (*.f32 c c)) (*.f32 (/.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (pow.f32 (exp.f32 cosTheta) cosTheta)) (*.f32 cosTheta (sqrt.f32 PI.f32))) (-.f32 1 c))))
0.3b
(*.f32 cosTheta (sqrt.f32 PI.f32))

rewrite1.2s (4.3%)

Algorithm
rewrite-expression-head
Error
0b
Rules
370×times-frac_binary32
258×*-un-lft-identity_binary32
197×add-sqr-sqrt_binary32
151×sqrt-prod_binary32
125×add-cube-cbrt_binary32
Counts
4 → 362
Calls

4 calls:

35.0ms
(*.f32 (/.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (pow.f32 (exp.f32 cosTheta) cosTheta)) (*.f32 cosTheta (sqrt.f32 PI.f32))) (-.f32 1 c))
23.0ms
(/.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (pow.f32 (exp.f32 cosTheta) cosTheta)) (*.f32 cosTheta (sqrt.f32 PI.f32)))
10.0ms
(/.f32 1 (+.f32 (-.f32 1 (*.f32 c c)) (*.f32 (/.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (pow.f32 (exp.f32 cosTheta) cosTheta)) (*.f32 cosTheta (sqrt.f32 PI.f32))) (-.f32 1 c))))
4.0ms
(*.f32 cosTheta (sqrt.f32 PI.f32))
Compiler

Compiled 16265 to 8659 computations (46.8% saved)

series621.0ms (2.3%)

Error
0b
Counts
4 → 35
Calls

4 calls:

313.0ms
(/.f32 1 (+.f32 (-.f32 1 (*.f32 c c)) (*.f32 (/.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (pow.f32 (exp.f32 cosTheta) cosTheta)) (*.f32 cosTheta (sqrt.f32 PI.f32))) (-.f32 1 c))))
95.0ms
(*.f32 (/.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (pow.f32 (exp.f32 cosTheta) cosTheta)) (*.f32 cosTheta (sqrt.f32 PI.f32))) (-.f32 1 c))
29.0ms
(/.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (pow.f32 (exp.f32 cosTheta) cosTheta)) (*.f32 cosTheta (sqrt.f32 PI.f32)))
18.0ms
(*.f32 cosTheta (sqrt.f32 PI.f32))
Compiler

Compiled 7489 to 5338 computations (28.7% saved)

simplify299.0ms (1.1%)

Algorithm
egg-herbie
Rules
532×associate-/l*_binary32
498×times-frac_binary32
220×distribute-rgt-in_binary32
217×distribute-lft-in_binary32
209×*-commutative_binary32
Counts
397 → 348
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
077218228
1208417075
2529617075

prune1.0s (3.8%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New3471348
Fresh134
Picked011
Done022
Total3487355
Error
0b
Counts
355 → 7
Alt Table
StatusErrorProgram
0.6b
(*.f32 (log.f32 (exp.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))) (+.f32 1 (pow.f32 c 3))) (*.f32 (-.f32 (+.f32 1 (*.f32 c c)) c) (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta)))))))) (*.f32 (+.f32 (*.f32 1 1) (-.f32 (*.f32 c c) (*.f32 1 c))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
0.5b
(*.f32 (/.f32 1 (+.f32 (-.f32 1 (*.f32 c c)) (*.f32 (*.f32 (/.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (pow.f32 (exp.f32 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) cosTheta)) (*.f32 (cbrt.f32 (-.f32 1 c)) (cbrt.f32 (-.f32 1 c)))) (cbrt.f32 (-.f32 1 c))))) (*.f32 (-.f32 1 c) (sqrt.f32 (+.f32 (-.f32 1 cosTheta) cosTheta))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (/.f32 (/.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta))) cosTheta) (sqrt.f32 PI.f32)))))
0.5b
(*.f32 (/.f32 1 (+.f32 (-.f32 1 (*.f32 c c)) (*.f32 (/.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (pow.f32 (exp.f32 cosTheta) cosTheta)) (*.f32 cosTheta (sqrt.f32 PI.f32))) (-.f32 1 c)))) (*.f32 (-.f32 1 c) (sqrt.f32 (+.f32 (-.f32 1 cosTheta) cosTheta))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (*.f32 (/.f32 (sqrt.f32 (exp.f32 (neg.f32 (*.f32 cosTheta cosTheta)))) (fabs.f32 (cbrt.f32 PI.f32))) (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta)))) (/.f32 (/.f32 (sqrt.f32 (exp.f32 (*.f32 cosTheta (neg.f32 cosTheta)))) cosTheta) (sqrt.f32 (cbrt.f32 PI.f32))))))
14.4b
(*.f32 (/.f32 1 (-.f32 (*.f32 (+.f32 1 c) (+.f32 1 c)) (/.f32 (-.f32 1 (+.f32 cosTheta cosTheta)) (*.f32 (*.f32 PI.f32 (*.f32 cosTheta cosTheta)) (pow.f32 (exp.f32 cosTheta) (+.f32 cosTheta cosTheta)))))) (-.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
0.4b
(*.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))) (+.f32 1 (pow.f32 c 3))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (+.f32 1 (-.f32 (*.f32 c c) c))))) (*.f32 (+.f32 (*.f32 1 1) (-.f32 (*.f32 c c) (*.f32 1 c))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
Compiler

Compiled 13806 to 7821 computations (43.4% saved)

regimes14.5s (54.4%)

Accuracy

Total 0.4b remaining (92.9%)

Threshold costs 0.4b (92.9%)

Compiler

Compiled 189281 to 127407 computations (32.7% saved)

simplify5.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
02476
13876
24776
35476
45876
55976
65876

end2.0ms (0%)

Compiler

Compiled 50 to 28 computations (44% saved)

sample2.2s (8.1%)

Algorithm
intervals
Results
954.0ms8000×body128valid
181.0ms8001×pre128true
0.0msbody128nan
Compiler

Compiled 409 to 277 computations (32.3% saved)

Profiling

Loading profile data...