Details

Time bar (total: 28.2s)

analyze308.0ms (1.1%)

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)

sample140.0ms (0.5%)

Algorithm
intervals
Results
96.0ms256×body128valid
14.0ms256×pre128true
Compiler

Compiled 65 to 51 computations (21.5% saved)

simplify71.0ms (0.3%)

Algorithm
egg-herbie
Rules
940×fma-neg_binary32
929×fma-def_binary32
740×times-frac_binary32
329×div-sub_binary32
317×associate-*l*_binary32
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01940
14535
210735
326433
460533
5250033
6375433
7504933

prune10.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
0.7b
(/.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 148 to 113 computations (23.6% saved)

localize138.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f32 (fma.f32 cosTheta -2 1))
0.3b
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))
0.3b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.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)))

rewrite78.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
41×*-un-lft-identity_binary32
32×add-exp-log_binary32
22×add-sqr-sqrt_binary32
21×times-frac_binary32
21×add-cube-cbrt_binary32
Counts
4 → 117
Calls

4 calls:

32.0ms
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
15.0ms
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))
12.0ms
(*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
2.0ms
(sqrt.f32 (fma.f32 cosTheta -2 1))

series268.0ms (1%)

Counts
4 → 38
Calls

4 calls:

161.0ms
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
51.0ms
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))
42.0ms
(*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
13.0ms
(sqrt.f32 (fma.f32 cosTheta -2 1))

simplify352.0ms (1.2%)

Algorithm
egg-herbie
Rules
358×associate-*r*_binary32
305×associate-*l*_binary32
284×unswap-sqr_binary32
268×fma-def_binary32
206×sub-neg_binary32
Counts
155 → 254
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03645710
110115271
239065250
349655250

prune602.0ms (2.1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2468254
Fresh101
Picked101
Done000
Total2488256
Error
0.0b
Counts
256 → 8
Alt Table
StatusErrorProgram
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 1 (/.f32 (sqrt.f32 PI.f32) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))
14.1b
(*.f32 (/.f32 1 (-.f32 (*.f32 (+.f32 1 c) (+.f32 1 c)) (/.f32 (fma.f32 cosTheta -2 1) (*.f32 PI.f32 (*.f32 (*.f32 cosTheta cosTheta) (pow.f32 (exp.f32 cosTheta) (*.f32 cosTheta 2))))))) (-.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
0.9b
(*.f32 (/.f32 1 (sqrt.f32 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))) (/.f32 1 (sqrt.f32 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))))
1.0b
(-.f32 (+.f32 (*.f32 6 (*.f32 (*.f32 c (pow.f32 cosTheta 4)) (sqrt.f32 (pow.f32 PI.f32 3)))) (+.f32 (*.f32 7/2 (*.f32 (sqrt.f32 PI.f32) (pow.f32 cosTheta 4))) (+.f32 (*.f32 3 (*.f32 (sqrt.f32 (pow.f32 PI.f32 3)) (pow.f32 cosTheta 4))) (+.f32 (*.f32 (sqrt.f32 (pow.f32 PI.f32 3)) (pow.f32 cosTheta 3)) (+.f32 (*.f32 (*.f32 (pow.f32 c 2) (pow.f32 cosTheta 3)) (sqrt.f32 (pow.f32 PI.f32 3))) (+.f32 (*.f32 5/2 (*.f32 (sqrt.f32 PI.f32) (pow.f32 cosTheta 3))) (+.f32 (*.f32 (sqrt.f32 PI.f32) (pow.f32 cosTheta 2)) (+.f32 (*.f32 2 (*.f32 (*.f32 c (pow.f32 cosTheta 3)) (sqrt.f32 (pow.f32 PI.f32 3)))) (+.f32 (*.f32 (sqrt.f32 PI.f32) cosTheta) (*.f32 3 (*.f32 (*.f32 (pow.f32 c 2) (pow.f32 cosTheta 4)) (sqrt.f32 (pow.f32 PI.f32 3))))))))))))) (+.f32 (*.f32 6 (*.f32 PI.f32 (pow.f32 cosTheta 4))) (+.f32 (*.f32 PI.f32 (pow.f32 cosTheta 2)) (+.f32 (*.f32 2 (*.f32 PI.f32 (pow.f32 cosTheta 3))) (+.f32 (*.f32 (pow.f32 PI.f32 2) (pow.f32 cosTheta 4)) (+.f32 (*.f32 3 (*.f32 c (*.f32 (pow.f32 PI.f32 2) (pow.f32 cosTheta 4)))) (+.f32 (*.f32 (pow.f32 c 3) (*.f32 (pow.f32 PI.f32 2) (pow.f32 cosTheta 4))) (+.f32 (*.f32 3 (*.f32 (pow.f32 c 2) (*.f32 (pow.f32 PI.f32 2) (pow.f32 cosTheta 4)))) (+.f32 (*.f32 c (*.f32 PI.f32 (pow.f32 cosTheta 2))) (+.f32 (*.f32 2 (*.f32 c (*.f32 PI.f32 (pow.f32 cosTheta 3)))) (*.f32 6 (*.f32 c (*.f32 PI.f32 (pow.f32 cosTheta 4))))))))))))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (/.f32 (/.f32 (exp.f32 (neg.f32 (*.f32 cosTheta cosTheta))) cosTheta) (sqrt.f32 PI.f32)))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (*.f32 (*.f32 (cbrt.f32 (sqrt.f32 (fma.f32 cosTheta -2 1))) (cbrt.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)))) (cbrt.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)))) (*.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 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))) (cbrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))) (cbrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))
Compiler

Compiled 7248 to 4166 computations (42.5% saved)

localize168.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
0.3b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))
0.3b
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))
0.4b
(*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))

rewrite115.0ms (0.4%)

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

4 calls:

30.0ms
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
25.0ms
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))
22.0ms
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))
15.0ms
(*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))

series745.0ms (2.6%)

Counts
4 → 46
Calls

4 calls:

477.0ms
(*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
173.0ms
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))
51.0ms
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
44.0ms
(*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))

simplify391.0ms (1.4%)

Algorithm
egg-herbie
Rules
453×associate-*r*_binary32
367×associate-*l*_binary32
297×unswap-sqr_binary32
279×fma-def_binary32
247×*-commutative_binary32
Counts
178 → 342
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04017618
111046449
241716410
352826410

prune791.0ms (2.8%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New3384342
Fresh347
Picked101
Done000
Total3428350
Error
0.0b
Counts
350 → 8
Alt Table
StatusErrorProgram
0.7b
(/.f32 (/.f32 1 (sqrt.f32 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))) (sqrt.f32 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (/.f32 (/.f32 (exp.f32 (neg.f32 (*.f32 cosTheta cosTheta))) cosTheta) (sqrt.f32 PI.f32)))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 PI.f32))))))
14.1b
(*.f32 (/.f32 1 (-.f32 (*.f32 (+.f32 1 c) (+.f32 1 c)) (/.f32 (fma.f32 cosTheta -2 1) (*.f32 PI.f32 (*.f32 (*.f32 cosTheta cosTheta) (pow.f32 (exp.f32 cosTheta) (*.f32 cosTheta 2))))))) (-.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32))) (*.f32 (sqrt.f32 (cbrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)))) (*.f32 (sqrt.f32 (cbrt.f32 (cbrt.f32 PI.f32))) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))))
1.0b
(-.f32 (+.f32 (*.f32 6 (*.f32 (*.f32 c (pow.f32 cosTheta 4)) (sqrt.f32 (pow.f32 PI.f32 3)))) (+.f32 (*.f32 7/2 (*.f32 (sqrt.f32 PI.f32) (pow.f32 cosTheta 4))) (+.f32 (*.f32 3 (*.f32 (sqrt.f32 (pow.f32 PI.f32 3)) (pow.f32 cosTheta 4))) (+.f32 (*.f32 (sqrt.f32 (pow.f32 PI.f32 3)) (pow.f32 cosTheta 3)) (+.f32 (*.f32 (*.f32 (pow.f32 c 2) (pow.f32 cosTheta 3)) (sqrt.f32 (pow.f32 PI.f32 3))) (+.f32 (*.f32 5/2 (*.f32 (sqrt.f32 PI.f32) (pow.f32 cosTheta 3))) (+.f32 (*.f32 (sqrt.f32 PI.f32) (pow.f32 cosTheta 2)) (+.f32 (*.f32 2 (*.f32 (*.f32 c (pow.f32 cosTheta 3)) (sqrt.f32 (pow.f32 PI.f32 3)))) (+.f32 (*.f32 (sqrt.f32 PI.f32) cosTheta) (*.f32 3 (*.f32 (*.f32 (pow.f32 c 2) (pow.f32 cosTheta 4)) (sqrt.f32 (pow.f32 PI.f32 3))))))))))))) (+.f32 (*.f32 6 (*.f32 PI.f32 (pow.f32 cosTheta 4))) (+.f32 (*.f32 PI.f32 (pow.f32 cosTheta 2)) (+.f32 (*.f32 2 (*.f32 PI.f32 (pow.f32 cosTheta 3))) (+.f32 (*.f32 (pow.f32 PI.f32 2) (pow.f32 cosTheta 4)) (+.f32 (*.f32 3 (*.f32 c (*.f32 (pow.f32 PI.f32 2) (pow.f32 cosTheta 4)))) (+.f32 (*.f32 (pow.f32 c 3) (*.f32 (pow.f32 PI.f32 2) (pow.f32 cosTheta 4))) (+.f32 (*.f32 3 (*.f32 (pow.f32 c 2) (*.f32 (pow.f32 PI.f32 2) (pow.f32 cosTheta 4)))) (+.f32 (*.f32 c (*.f32 PI.f32 (pow.f32 cosTheta 2))) (+.f32 (*.f32 2 (*.f32 c (*.f32 PI.f32 (pow.f32 cosTheta 3)))) (*.f32 6 (*.f32 c (*.f32 PI.f32 (pow.f32 cosTheta 4))))))))))))))
0.9b
(*.f32 (*.f32 (cbrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))) (cbrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))) (cbrt.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
Compiler

Compiled 11103 to 5354 computations (51.8% saved)

localize161.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32))
0.3b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
0.4b
(/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))
0.4b
(*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))

rewrite128.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
163×times-frac_binary32
111×*-un-lft-identity_binary32
91×add-sqr-sqrt_binary32
91×add-cube-cbrt_binary32
57×sqrt-prod_binary32
Counts
3 → 217
Calls

3 calls:

43.0ms
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
30.0ms
(/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))
8.0ms
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32))

series274.0ms (1%)

Counts
3 → 26
Calls

3 calls:

181.0ms
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
53.0ms
(/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))
40.0ms
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32))

simplify612.0ms (2.2%)

Algorithm
egg-herbie
Rules
348×associate-*r*_binary32
305×associate-*l*_binary32
303×associate-/r*_binary32
253×fma-def_binary32
223×*-commutative_binary32
Counts
243 → 445
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
045510440
112359634
246169597
349419597
449629597

prune1.1s (4%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New5154519
Fresh527
Picked101
Done000
Total5216527
Error
0.0b
Counts
527 → 6
Alt Table
StatusErrorProgram
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (*.f32 (/.f32 (*.f32 (cbrt.f32 (sqrt.f32 (fma.f32 cosTheta -2 1))) (cbrt.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)))) (cbrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)))) (/.f32 (cbrt.f32 (sqrt.f32 (fma.f32 cosTheta -2 1))) (cbrt.f32 (cbrt.f32 PI.f32)))) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
0.7b
(/.f32 (/.f32 1 (sqrt.f32 (+.f32 (+.f32 1 c) (/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))) (sqrt.f32 (+.f32 (+.f32 1 c) (/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))
0.4b
(*.f32 (/.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 1 1) (*.f32 c c)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) (*.f32 (-.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32))))) (*.f32 (-.f32 1 c) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
14.1b
(*.f32 (/.f32 1 (-.f32 (*.f32 (+.f32 1 c) (+.f32 1 c)) (/.f32 (fma.f32 cosTheta -2 1) (*.f32 PI.f32 (*.f32 (*.f32 cosTheta cosTheta) (pow.f32 (exp.f32 cosTheta) (*.f32 cosTheta 2))))))) (-.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
1.0b
(-.f32 (+.f32 (*.f32 6 (*.f32 (*.f32 c (pow.f32 cosTheta 4)) (sqrt.f32 (pow.f32 PI.f32 3)))) (+.f32 (*.f32 7/2 (*.f32 (sqrt.f32 PI.f32) (pow.f32 cosTheta 4))) (+.f32 (*.f32 3 (*.f32 (sqrt.f32 (pow.f32 PI.f32 3)) (pow.f32 cosTheta 4))) (+.f32 (*.f32 (sqrt.f32 (pow.f32 PI.f32 3)) (pow.f32 cosTheta 3)) (+.f32 (*.f32 (*.f32 (pow.f32 c 2) (pow.f32 cosTheta 3)) (sqrt.f32 (pow.f32 PI.f32 3))) (+.f32 (*.f32 5/2 (*.f32 (sqrt.f32 PI.f32) (pow.f32 cosTheta 3))) (+.f32 (*.f32 (sqrt.f32 PI.f32) (pow.f32 cosTheta 2)) (+.f32 (*.f32 2 (*.f32 (*.f32 c (pow.f32 cosTheta 3)) (sqrt.f32 (pow.f32 PI.f32 3)))) (+.f32 (*.f32 (sqrt.f32 PI.f32) cosTheta) (*.f32 3 (*.f32 (*.f32 (pow.f32 c 2) (pow.f32 cosTheta 4)) (sqrt.f32 (pow.f32 PI.f32 3))))))))))))) (+.f32 (*.f32 6 (*.f32 PI.f32 (pow.f32 cosTheta 4))) (+.f32 (*.f32 PI.f32 (pow.f32 cosTheta 2)) (+.f32 (*.f32 2 (*.f32 PI.f32 (pow.f32 cosTheta 3))) (+.f32 (*.f32 (pow.f32 PI.f32 2) (pow.f32 cosTheta 4)) (+.f32 (*.f32 3 (*.f32 c (*.f32 (pow.f32 PI.f32 2) (pow.f32 cosTheta 4)))) (+.f32 (*.f32 (pow.f32 c 3) (*.f32 (pow.f32 PI.f32 2) (pow.f32 cosTheta 4))) (+.f32 (*.f32 3 (*.f32 (pow.f32 c 2) (*.f32 (pow.f32 PI.f32 2) (pow.f32 cosTheta 4)))) (+.f32 (*.f32 c (*.f32 PI.f32 (pow.f32 cosTheta 2))) (+.f32 (*.f32 2 (*.f32 c (*.f32 PI.f32 (pow.f32 cosTheta 3)))) (*.f32 6 (*.f32 c (*.f32 PI.f32 (pow.f32 cosTheta 4))))))))))))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (sqrt.f32 (cbrt.f32 PI.f32))) (/.f32 (/.f32 (exp.f32 (neg.f32 (*.f32 cosTheta cosTheta))) cosTheta) (cbrt.f32 PI.f32)))))
Compiler

Compiled 15630 to 8303 computations (46.9% saved)

localize198.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 1 1) (*.f32 c c)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) (*.f32 (-.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)))))
0.3b
(*.f32 (/.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 1 1) (*.f32 c c)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) (*.f32 (-.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32))))) (*.f32 (-.f32 1 c) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
0.4b
(*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
0.4b
(*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))

rewrite124.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
100×add-exp-log_binary32
72×prod-exp_binary32
36×add-cbrt-cube_binary32
33×associate-*l/_binary32
25×associate-*l*_binary32
Counts
2 → 121
Calls

2 calls:

56.0ms
(*.f32 (/.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 1 1) (*.f32 c c)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) (*.f32 (-.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32))))) (*.f32 (-.f32 1 c) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
30.0ms
(/.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 1 1) (*.f32 c c)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) (*.f32 (-.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)))))

series3.4s (11.9%)

Counts
2 → 36
Calls

2 calls:

2.4s
(*.f32 (/.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 1 1) (*.f32 c c)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) (*.f32 (-.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32))))) (*.f32 (-.f32 1 c) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
959.0ms
(/.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 1 1) (*.f32 c c)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) (*.f32 (-.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)))))

simplify1.1s (3.7%)

Algorithm
egg-herbie
Rules
629×times-frac_binary32
381×*-commutative_binary32
254×+-commutative_binary32
216×fma-def_binary32
213×associate-+r+_binary32
Counts
157 → 306
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
092221702
1324719482
2491519377
3499719377
4496919377

prune2.0s (7%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New7482750
Fresh235
Picked011
Done000
Total7506756
Error
0b
Counts
756 → 6
Alt Table
StatusErrorProgram
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (*.f32 (/.f32 (*.f32 (cbrt.f32 (sqrt.f32 (fma.f32 cosTheta -2 1))) (cbrt.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)))) (cbrt.f32 (*.f32 (cbrt.f32 PI.f32) (cbrt.f32 PI.f32)))) (/.f32 (cbrt.f32 (sqrt.f32 (fma.f32 cosTheta -2 1))) (cbrt.f32 (cbrt.f32 PI.f32)))) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
0.7b
(/.f32 (/.f32 1 (sqrt.f32 (+.f32 (+.f32 1 c) (/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))) (sqrt.f32 (+.f32 (+.f32 1 c) (/.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))))
0.4b
(*.f32 (/.f32 1 (+.f32 (*.f32 (-.f32 (*.f32 1 1) (*.f32 c c)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) (*.f32 (-.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32))))) (*.f32 (-.f32 1 c) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))))
0.4b
(*.f32 (pow.f32 PI.f32 1/6) (/.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (fma.f32 (pow.f32 PI.f32 1/6) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (*.f32 (cbrt.f32 (/.f32 1 PI.f32)) (sqrt.f32 (-.f32 1 (*.f32 cosTheta 2)))))))
14.1b
(*.f32 (/.f32 1 (-.f32 (*.f32 (+.f32 1 c) (+.f32 1 c)) (/.f32 (fma.f32 cosTheta -2 1) (*.f32 PI.f32 (*.f32 (*.f32 cosTheta cosTheta) (pow.f32 (exp.f32 cosTheta) (*.f32 cosTheta 2))))))) (-.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 PI.f32) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))
0.5b
(*.f32 (/.f32 1 (-.f32 (*.f32 (*.f32 (-.f32 (*.f32 1 1) (*.f32 c c)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) (*.f32 (-.f32 (*.f32 1 1) (*.f32 c c)) (*.f32 (sqrt.f32 (cbrt.f32 PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))) (*.f32 (*.f32 (-.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32))) (*.f32 (-.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32)))))) (*.f32 (*.f32 (-.f32 1 c) (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (sqrt.f32 (cbrt.f32 PI.f32)))) (-.f32 (*.f32 (-.f32 1 (*.f32 c c)) (*.f32 (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)) (sqrt.f32 (cbrt.f32 PI.f32)))) (*.f32 (-.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 PI.f32))))))
Compiler

Compiled 34885 to 18988 computations (45.6% saved)

regimes13.2s (46.6%)

Accuracy

Total 0.4b remaining (87.6%)

Threshold costs 0.4b (87.6%)

Compiler

Compiled 165238 to 115854 computations (29.9% saved)

simplify6.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
02797
14397
25097
35497
45697
55497

end1.0ms (0%)

Compiler

Compiled 59 to 30 computations (49.2% saved)

sample1.9s (6.7%)

Algorithm
intervals
Results
1.0s8000×body128valid
198.0ms8000×pre128true
Compiler

Compiled 445 to 275 computations (38.2% saved)

Profiling

Loading profile data...