Details

Time bar (total: 8.2s)

analyze155.0ms (1.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%0.6%99.4%0
0%0.6%99.4%1
0%0.6%99.4%2
0.3%0.3%99.4%3
0.3%0.3%99.4%4
0.5%0.2%99.4%5
0.5%0.2%99.4%6
0.6%0.1%99.4%7
0.6%0.1%99.4%8
0.6%0%99.4%9
0.6%0%99.4%10
0.6%0%99.4%11
0.6%0%99.4%12
0.6%0%99.4%13
0.6%0%99.4%14
Compiler

Compiled 35 to 23 computations (34.3% saved)

sample40.0ms (0.5%)

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

Compiled 63 to 41 computations (34.9% saved)

simplify52.0ms (0.6%)

Algorithm
egg-herbie
Rules
608×associate-/l*_binary32
583×div-sub_binary32
462×associate-*l*_binary32
382×associate-*l/_binary32
363×associate-*r*_binary32
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01437
14437
215437
362837
4262037
5466537
6573537

prune6.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
0.5b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.5b
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (*.f32 PI.f32 (log.f32 (*.f32 alpha alpha))) (+.f32 1 (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta) cosTheta))))
Compiler

Compiled 78 to 48 computations (38.5% saved)

localize42.0ms (0.5%)

Local error

Found 4 expressions with local error:

0.1b
(*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta) cosTheta)
0.2b
(*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta)
0.3b
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (*.f32 PI.f32 (log.f32 (*.f32 alpha alpha))) (+.f32 1 (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta) cosTheta))))
0.4b
(*.f32 PI.f32 (log.f32 (*.f32 alpha alpha)))

rewrite238.0ms (2.9%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
22×add-cbrt-cube_binary32
22×add-exp-log_binary32
21×pow1_binary32
18×add-sqr-sqrt_binary32
15×associate-*r*_binary32
Counts
4 → 103
Calls

4 calls:

13.0ms
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (*.f32 PI.f32 (log.f32 (*.f32 alpha alpha))) (+.f32 1 (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta) cosTheta))))
9.0ms
(*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta) cosTheta)
7.0ms
(*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta)
7.0ms
(*.f32 PI.f32 (log.f32 (*.f32 alpha alpha)))
Compiler

Compiled 3092 to 1407 computations (54.5% saved)

series281.0ms (3.4%)

Error
0.3b
Counts
4 → 34
Calls

4 calls:

116.0ms
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (*.f32 PI.f32 (log.f32 (*.f32 alpha alpha))) (+.f32 1 (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta) cosTheta))))
37.0ms
(*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta) cosTheta)
35.0ms
(*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta)
18.0ms
(*.f32 PI.f32 (log.f32 (*.f32 alpha alpha)))
Compiler

Compiled 2964 to 2131 computations (28.1% saved)

simplify132.0ms (1.6%)

Algorithm
egg-herbie
Rules
544×times-frac_binary32
456×associate-*l*_binary32
398×associate-/r*_binary32
390×associate-*r*_binary32
289×associate-/l*_binary32
Counts
137 → 123
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02954077
19063600
246753600
350043600

prune227.0ms (2.8%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New11310123
Fresh000
Picked101
Done000
Total11410124
Error
0.0b
Counts
124 → 10
Alt Table
StatusErrorProgram
0.5b
(-.f32 (/.f32 (*.f32 alpha alpha) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta))))) (/.f32 (/.f32 1/2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))
0.6b
(/.f32 (-.f32 (pow.f32 (*.f32 alpha alpha) 3) (pow.f32 1 3)) (*.f32 (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))) (+.f32 (pow.f32 alpha 4) (+.f32 1 (*.f32 alpha alpha)))))
0.5b
(/.f32 1 (/.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (/.f32 (+.f32 (*.f32 alpha alpha) -1) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta))))))
0.5b
(*.f32 (/.f32 (+.f32 alpha 1) (*.f32 2 (*.f32 (log.f32 alpha) PI.f32))) (/.f32 (+.f32 alpha -1) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))
0.7b
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (*.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)) (*.f32 (*.f32 2 (log.f32 alpha)) (cbrt.f32 PI.f32))) (+.f32 1 (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta) cosTheta))))
0.4b
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (*.f32 PI.f32 (log.f32 (*.f32 alpha alpha))) (+.f32 1 (*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta))))
0.6b
(*.f32 (sqrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))) (sqrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))))
0.9b
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (*.f32 (*.f32 PI.f32 (*.f32 (cbrt.f32 (*.f32 2 (log.f32 alpha))) (cbrt.f32 (*.f32 2 (log.f32 alpha))))) (cbrt.f32 (log.f32 (*.f32 alpha alpha)))) (+.f32 1 (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta) cosTheta))))
0.9b
(*.f32 (*.f32 (cbrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))) (cbrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta))))))) (cbrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))))
0.8b
(exp.f32 (log.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))))
Compiler

Compiled 3752 to 1759 computations (53.1% saved)

localize47.0ms (0.6%)

Local error

Found 4 expressions with local error:

0.1b
(*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta)
0.2b
(*.f32 cosTheta (*.f32 alpha alpha))
0.3b
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (*.f32 PI.f32 (log.f32 (*.f32 alpha alpha))) (+.f32 1 (*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta))))
0.4b
(*.f32 PI.f32 (log.f32 (*.f32 alpha alpha)))

rewrite210.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
22×add-cbrt-cube_binary32
22×add-exp-log_binary32
21×pow1_binary32
18×add-sqr-sqrt_binary32
13×associate-*r*_binary32
Counts
4 → 99
Calls

4 calls:

13.0ms
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (*.f32 PI.f32 (log.f32 (*.f32 alpha alpha))) (+.f32 1 (*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta))))
9.0ms
(*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta)
6.0ms
(*.f32 PI.f32 (log.f32 (*.f32 alpha alpha)))
6.0ms
(*.f32 cosTheta (*.f32 alpha alpha))
Compiler

Compiled 2954 to 908 computations (69.3% saved)

series261.0ms (3.2%)

Error
0.0b
Counts
4 → 31
Calls

4 calls:

114.0ms
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (*.f32 PI.f32 (log.f32 (*.f32 alpha alpha))) (+.f32 1 (*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta))))
41.0ms
(*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta)
27.0ms
(*.f32 cosTheta (*.f32 alpha alpha))
20.0ms
(*.f32 PI.f32 (log.f32 (*.f32 alpha alpha)))
Compiler

Compiled 2858 to 2051 computations (28.2% saved)

simplify120.0ms (1.5%)

Algorithm
egg-herbie
Rules
495×times-frac_binary32
392×associate-*l*_binary32
390×associate-/r*_binary32
368×associate-*r*_binary32
264×associate-/l*_binary32
Counts
130 → 108
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03043914
19163506
247403506
350033506

prune189.0ms (2.3%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1071108
Fresh189
Picked101
Done000
Total1099118
Error
0.0b
Counts
118 → 9
Alt Table
StatusErrorProgram
0.5b
(-.f32 (/.f32 (*.f32 alpha alpha) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta))))) (/.f32 (/.f32 1/2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))
0.6b
(/.f32 (-.f32 (pow.f32 (*.f32 alpha alpha) 3) (pow.f32 1 3)) (*.f32 (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))) (+.f32 (pow.f32 alpha 4) (+.f32 1 (*.f32 alpha alpha)))))
0.5b
(/.f32 1 (/.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (/.f32 (+.f32 (*.f32 alpha alpha) -1) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta))))))
0.5b
(*.f32 (/.f32 (+.f32 alpha 1) (*.f32 2 (*.f32 (log.f32 alpha) PI.f32))) (/.f32 (+.f32 alpha -1) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))
0.4b
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (log.f32 (pow.f32 (*.f32 alpha alpha) PI.f32)) (+.f32 1 (*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta))))
0.7b
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (*.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)) (*.f32 (*.f32 2 (log.f32 alpha)) (cbrt.f32 PI.f32))) (+.f32 1 (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta) cosTheta))))
0.6b
(*.f32 (sqrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))) (sqrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))))
0.9b
(*.f32 (*.f32 (cbrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))) (cbrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta))))))) (cbrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))))
0.8b
(exp.f32 (log.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))))
Compiler

Compiled 3375 to 1569 computations (53.5% saved)

localize48.0ms (0.6%)

Local error

Found 4 expressions with local error:

0.1b
(*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta)
0.2b
(*.f32 cosTheta (*.f32 alpha alpha))
0.3b
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (log.f32 (pow.f32 (*.f32 alpha alpha) PI.f32)) (+.f32 1 (*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta))))
3.0b
(pow.f32 (*.f32 alpha alpha) PI.f32)

rewrite208.0ms (2.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
19×add-exp-log_binary32
19×pow1_binary32
16×add-cbrt-cube_binary32
15×add-sqr-sqrt_binary32
12×*-un-lft-identity_binary32
Counts
4 → 92
Calls

4 calls:

13.0ms
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (log.f32 (pow.f32 (*.f32 alpha alpha) PI.f32)) (+.f32 1 (*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta))))
9.0ms
(*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta)
6.0ms
(*.f32 cosTheta (*.f32 alpha alpha))
4.0ms
(pow.f32 (*.f32 alpha alpha) PI.f32)
Compiler

Compiled 2737 to 875 computations (68% saved)

series284.0ms (3.5%)

Error
0.0b
Counts
4 → 31
Calls

4 calls:

125.0ms
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (log.f32 (pow.f32 (*.f32 alpha alpha) PI.f32)) (+.f32 1 (*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta))))
38.0ms
(*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta)
27.0ms
(*.f32 cosTheta (*.f32 alpha alpha))
21.0ms
(pow.f32 (*.f32 alpha alpha) PI.f32)
Compiler

Compiled 3110 to 2287 computations (26.5% saved)

simplify115.0ms (1.4%)

Algorithm
egg-herbie
Rules
333×unswap-sqr_binary32
329×times-frac_binary32
316×associate-*l*_binary32
302×associate-*r*_binary32
245×associate-/r*_binary32
Counts
123 → 100
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02873680
17563363
239223335
352323335

prune181.0ms (2.2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1000100
Fresh088
Picked011
Done000
Total1009109
Error
0.0b
Counts
109 → 9
Alt Table
StatusErrorProgram
0.5b
(-.f32 (/.f32 (*.f32 alpha alpha) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta))))) (/.f32 (/.f32 1/2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))
0.6b
(/.f32 (-.f32 (pow.f32 (*.f32 alpha alpha) 3) (pow.f32 1 3)) (*.f32 (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))) (+.f32 (pow.f32 alpha 4) (+.f32 1 (*.f32 alpha alpha)))))
0.5b
(/.f32 1 (/.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (/.f32 (+.f32 (*.f32 alpha alpha) -1) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta))))))
0.5b
(*.f32 (/.f32 (+.f32 alpha 1) (*.f32 2 (*.f32 (log.f32 alpha) PI.f32))) (/.f32 (+.f32 alpha -1) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))
0.4b
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (log.f32 (pow.f32 (*.f32 alpha alpha) PI.f32)) (+.f32 1 (*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta))))
0.7b
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (*.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)) (*.f32 (*.f32 2 (log.f32 alpha)) (cbrt.f32 PI.f32))) (+.f32 1 (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta) cosTheta))))
0.6b
(*.f32 (sqrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))) (sqrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))))
0.9b
(*.f32 (*.f32 (cbrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))) (cbrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta))))))) (cbrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))))
0.8b
(exp.f32 (log.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))))
Compiler

Compiled 3087 to 1471 computations (52.3% saved)

localize62.0ms (0.8%)

Local error

Found 4 expressions with local error:

0.3b
(/.f32 1/2 (*.f32 (log.f32 alpha) PI.f32))
0.4b
(*.f32 (log.f32 alpha) PI.f32)
0.4b
(*.f32 (log.f32 alpha) PI.f32)
0.4b
(/.f32 (*.f32 alpha alpha) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))

rewrite222.0ms (2.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
45×add-cbrt-cube_binary32
45×add-exp-log_binary32
19×cbrt-unprod_binary32
19×prod-exp_binary32
14×add-sqr-sqrt_binary32
Counts
4 → 90
Calls

4 calls:

12.0ms
(/.f32 (*.f32 alpha alpha) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))
8.0ms
(*.f32 (log.f32 alpha) PI.f32)
4.0ms
(*.f32 (log.f32 alpha) PI.f32)
4.0ms
(/.f32 1/2 (*.f32 (log.f32 alpha) PI.f32))
Compiler

Compiled 4314 to 1334 computations (69.1% saved)

series263.0ms (3.2%)

Error
0.0b
Counts
4 → 22
Calls

4 calls:

136.0ms
(/.f32 (*.f32 alpha alpha) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))
25.0ms
(/.f32 1/2 (*.f32 (log.f32 alpha) PI.f32))
22.0ms
(*.f32 (log.f32 alpha) PI.f32)
20.0ms
(*.f32 (log.f32 alpha) PI.f32)
Compiler

Compiled 3165 to 1906 computations (39.8% saved)

simplify138.0ms (1.7%)

Algorithm
egg-herbie
Rules
445×times-frac_binary32
344×associate-/r*_binary32
298×associate-*l*_binary32
291×associate-/l*_binary32
288×cancel-sign-sub-inv_binary32
Counts
112 → 72
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02603513
17932747
238502720
348122720
449412720

prune134.0ms (1.6%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New69372
Fresh167
Picked101
Done011
Total711081
Error
0b
Counts
81 → 10
Alt Table
StatusErrorProgram
0.6b
(/.f32 (-.f32 (pow.f32 (*.f32 alpha alpha) 3) (pow.f32 1 3)) (*.f32 (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))) (+.f32 (pow.f32 alpha 4) (+.f32 1 (*.f32 alpha alpha)))))
0.5b
(/.f32 1 (/.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (/.f32 (+.f32 (*.f32 alpha alpha) -1) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta))))))
0.5b
(-.f32 (/.f32 (*.f32 alpha alpha) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta))))) (/.f32 (/.f32 (*.f32 (cbrt.f32 1/2) (cbrt.f32 1/2)) (/.f32 (log.f32 alpha) (/.f32 (cbrt.f32 1/2) PI.f32))) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))
0.5b
(-.f32 (/.f32 (*.f32 alpha alpha) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta))))) (/.f32 (/.f32 1/2 (log.f32 (pow.f32 alpha PI.f32))) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))
0.4b
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (log.f32 (pow.f32 (*.f32 alpha alpha) PI.f32)) (+.f32 1 (*.f32 (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta) cosTheta))))
0.7b
(/.f32 (-.f32 (*.f32 alpha alpha) 1) (*.f32 (*.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)) (*.f32 (*.f32 2 (log.f32 alpha)) (cbrt.f32 PI.f32))) (+.f32 1 (*.f32 (*.f32 (-.f32 (*.f32 alpha alpha) 1) cosTheta) cosTheta))))
0.5b
(-.f32 (/.f32 (*.f32 alpha alpha) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta))))) (/.f32 (/.f32 (sqrt.f32 1/2) (/.f32 (log.f32 alpha) (/.f32 (sqrt.f32 1/2) PI.f32))) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))
0.6b
(*.f32 (sqrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))) (sqrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))))
0.9b
(*.f32 (*.f32 (cbrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))) (cbrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta))))))) (cbrt.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))))
0.8b
(exp.f32 (log.f32 (/.f32 (+.f32 (*.f32 alpha alpha) -1) (*.f32 (*.f32 2 (*.f32 (log.f32 alpha) PI.f32)) (+.f32 1 (*.f32 cosTheta (-.f32 (*.f32 cosTheta (*.f32 alpha alpha)) cosTheta)))))))
Compiler

Compiled 2708 to 1087 computations (59.9% saved)

regimes2.7s (32.8%)

Accuracy

Total 0.4b remaining (94.5%)

Threshold costs 0.4b (94.5%)

Compiler

Compiled 32322 to 19597 computations (39.4% saved)

simplify4.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
01737
12937
23337
33537
43637
53437

end2.0ms (0%)

Compiler

Compiled 26 to 17 computations (34.6% saved)

sample1.9s (22.6%)

Algorithm
intervals
Results
597.0ms8000×body128valid
165.0ms8000×pre128true
Compiler

Compiled 490 to 287 computations (41.4% saved)

Profiling

Loading profile data...