Details

Time bar (total: 8.5s)

analyze153.0ms (1.8%)

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)

sample49.0ms (0.6%)

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

Compiled 65 to 51 computations (21.5% saved)

simplify91.0ms (1.1%)

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

prune5.0ms (0.1%)

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)

localize62.0ms (0.7%)

Local error

Found 4 expressions with local error:

0.1b
(-.f32 (-.f32 1 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 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.4b
(*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))

rewrite210.0ms (2.5%)

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:

18.0ms
(/.f32 (sqrt.f32 (-.f32 (-.f32 1 cosTheta) cosTheta)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))
14.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))))))
9.0ms
(*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
8.0ms
(-.f32 (-.f32 1 cosTheta) cosTheta)
Compiler

Compiled 3651 to 1782 computations (51.2% saved)

series112.0ms (1.3%)

Error
0.2b
Counts
4 → 30
Calls

4 calls:

43.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))))))
15.0ms
(*.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))))
9.0ms
(-.f32 (-.f32 1 cosTheta) cosTheta)
Compiler

Compiled 2302 to 1626 computations (29.4% saved)

simplify135.0ms (1.6%)

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

prune114.0ms (1.3%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1229131
Fresh101
Picked101
Done000
Total1249133
Error
0.0b
Counts
133 → 9
Alt Table
StatusErrorProgram
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.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.9b
(/.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)))))))) (cbrt.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)))))))
12.8b
(*.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 (*.f32 c c))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (-.f32 1 c)))) (*.f32 (-.f32 1 c) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
0.8b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (*.f32 (cbrt.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))) (cbrt.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))) (cbrt.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.7b
(*.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))))))))
Compiler

Compiled 3377 to 1799 computations (46.7% saved)

localize75.0ms (0.9%)

Local error

Found 4 expressions with local error:

0.3b
(/.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)))))
0.3b
(/.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)))))))
0.3b
(*.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))))
0.5b
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (sqrt.f32 (cbrt.f32 PI.f32)))

rewrite226.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
54×add-exp-log_binary32
52×*-un-lft-identity_binary32
34×add-cbrt-cube_binary32
31×prod-exp_binary32
26×add-sqr-sqrt_binary32
Counts
4 → 132
Calls

4 calls:

25.0ms
(/.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)))))
15.0ms
(/.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.0ms
(*.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))))
7.0ms
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (sqrt.f32 (cbrt.f32 PI.f32)))
Compiler

Compiled 5164 to 1858 computations (64% saved)

series131.0ms (1.5%)

Error
0.0b
Counts
4 → 30
Calls

4 calls:

46.0ms
(/.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)))))))
23.0ms
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (sqrt.f32 (cbrt.f32 PI.f32)))
16.0ms
(*.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))))
13.0ms
(/.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)))))
Compiler

Compiled 2518 to 1768 computations (29.8% saved)

simplify296.0ms (3.5%)

Algorithm
egg-herbie
Rules
398×associate-*r*_binary32
377×associate-*l*_binary32
315×cancel-sign-sub-inv_binary32
225×*-commutative_binary32
187×unswap-sqr_binary32
Counts
162 → 139
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03576723
19145677
232465621
347575621
449405621
550005621
650005621
749335621

prune139.0ms (1.6%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1363139
Fresh358
Picked101
Done000
Total1408148
Error
0b
Counts
148 → 8
Alt Table
StatusErrorProgram
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.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.4b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (/.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (cbrt.f32 PI.f32)) (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (sqrt.f32 (cbrt.f32 PI.f32))))))
12.8b
(*.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 (*.f32 c c))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (-.f32 1 c)))) (*.f32 (-.f32 1 c) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
0.4b
(*.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3)) (-.f32 1 (*.f32 c c))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (-.f32 1 c)))) (*.f32 (-.f32 1 c) (*.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))))))
0.5b
(/.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 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (fabs.f32 (cbrt.f32 (cbrt.f32 PI.f32)))) (sqrt.f32 (cbrt.f32 (cbrt.f32 PI.f32))))))))
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)))))
Compiler

Compiled 3778 to 2018 computations (46.6% saved)

localize119.0ms (1.4%)

Local error

Found 4 expressions with local error:

0.3b
(*.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))))
0.4b
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3))
0.5b
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (sqrt.f32 (cbrt.f32 PI.f32)))
1.0b
(pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3)

rewrite204.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
0b
Rules
52×add-exp-log_binary32
40×prod-exp_binary32
34×associate-*r*_binary32
31×sqrt-prod_binary32
24×add-cbrt-cube_binary32
Counts
4 → 134
Calls

4 calls:

15.0ms
(*.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))))
9.0ms
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3))
8.0ms
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (sqrt.f32 (cbrt.f32 PI.f32)))
3.0ms
(pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3)
Compiler

Compiled 6332 to 2326 computations (63.3% saved)

series91.0ms (1.1%)

Error
0b
Counts
4 → 18
Calls

4 calls:

24.0ms
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (sqrt.f32 (cbrt.f32 PI.f32)))
19.0ms
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3))
16.0ms
(*.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))))
0.0ms
(pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3)
Compiler

Compiled 2184 to 1347 computations (38.3% saved)

simplify151.0ms (1.8%)

Algorithm
egg-herbie
Rules
604×unswap-sqr_binary32
489×log-prod_binary32
419×exp-prod_binary32
413×associate-*r*_binary32
389×associate-*l*_binary32
Counts
152 → 120
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01842883
14302587
216612465
329072435
446332432
549352432

prune103.0ms (1.2%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1182120
Fresh257
Picked011
Done000
Total1208128
Error
0b
Counts
128 → 8
Alt Table
StatusErrorProgram
0.4b
(*.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3)) (-.f32 1 (*.f32 c c))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (-.f32 1 c)))) (*.f32 (-.f32 1 c) (*.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))))))
0.5b
(*.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3)) (-.f32 1 (*.f32 c c))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (-.f32 1 c)))) (*.f32 (-.f32 1 c) (*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 (cbrt.f32 PI.f32))) (cbrt.f32 (sqrt.f32 (cbrt.f32 PI.f32)))))))
12.8b
(*.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 (*.f32 c c))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (-.f32 1 c)))) (*.f32 (-.f32 1 c) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
0.4b
(*.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3)) (-.f32 1 (*.f32 c c))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (-.f32 1 c)))) (*.f32 (-.f32 1 c) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 PI.f32)))))
0.5b
(/.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 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (fabs.f32 (cbrt.f32 (cbrt.f32 PI.f32)))) (sqrt.f32 (cbrt.f32 (cbrt.f32 PI.f32))))))))
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.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)))))))
Compiler

Compiled 3299 to 1543 computations (53.2% saved)

localize109.0ms (1.3%)

Local error

Found 4 expressions with local error:

0.2b
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 PI.f32))
0.4b
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3))
0.4b
(*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 PI.f32)))
1.0b
(pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3)

rewrite231.0ms (2.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
52×add-exp-log_binary32
40×prod-exp_binary32
31×associate-*r*_binary32
30×sqrt-prod_binary32
23×*-un-lft-identity_binary32
Counts
4 → 136
Calls

4 calls:

11.0ms
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3))
8.0ms
(*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 PI.f32)))
6.0ms
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 PI.f32))
3.0ms
(pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3)
Compiler

Compiled 5940 to 2359 computations (60.3% saved)

series87.0ms (1%)

Error
0b
Counts
4 → 18
Calls

4 calls:

23.0ms
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 PI.f32))
19.0ms
(*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 PI.f32)))
17.0ms
(*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3))
0.0ms
(pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3)
Compiler

Compiled 2093 to 1313 computations (37.3% saved)

simplify150.0ms (1.8%)

Algorithm
egg-herbie
Rules
497×log-prod_binary32
453×associate-*l*_binary32
452×associate-*r*_binary32
393×exp-prod_binary32
345×cube-prod_binary32
Counts
154 → 134
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01793089
14142640
220152416
328242354
445612354
549792354

prune149.0ms (1.7%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1340134
Fresh066
Picked011
Done011
Total1348142
Error
0b
Counts
142 → 8
Alt Table
StatusErrorProgram
0.4b
(*.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3)) (-.f32 1 (*.f32 c c))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (-.f32 1 c)))) (*.f32 (-.f32 1 c) (*.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))))))
0.5b
(*.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3)) (-.f32 1 (*.f32 c c))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (-.f32 1 c)))) (*.f32 (-.f32 1 c) (*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 (cbrt.f32 PI.f32))) (cbrt.f32 (sqrt.f32 (cbrt.f32 PI.f32)))))))
12.8b
(*.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 (*.f32 c c))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (-.f32 1 c)))) (*.f32 (-.f32 1 c) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
0.4b
(*.f32 (/.f32 1 (+.f32 (*.f32 (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (pow.f32 (sqrt.f32 (cbrt.f32 PI.f32)) 3)) (-.f32 1 (*.f32 c c))) (*.f32 (sqrt.f32 (-.f32 1 (+.f32 cosTheta cosTheta))) (-.f32 1 c)))) (*.f32 (-.f32 1 c) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 PI.f32)))))
0.5b
(/.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 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (fabs.f32 (cbrt.f32 (cbrt.f32 PI.f32)))) (sqrt.f32 (cbrt.f32 (cbrt.f32 PI.f32))))))))
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.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)))))))
Compiler

Compiled 3776 to 1799 computations (52.4% saved)

regimes3.6s (42.3%)

Accuracy

Total 0.4b remaining (93.1%)

Threshold costs 0.4b (93.1%)

Compiler

Compiled 84907 to 58864 computations (30.7% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02799
14699
25799
36399
46699
56499

end1.0ms (0%)

Compiler

Compiled 60 to 30 computations (50% saved)

sample1.7s (20.3%)

Algorithm
intervals
Results
895.0ms8000×body128valid
185.0ms8000×pre128true
Compiler

Compiled 469 to 292 computations (37.7% saved)

Profiling

Loading profile data...