Details

Time bar (total: 10.1s)

analyze98.0ms (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 42 to 32 computations (23.8% saved)

sample2.0s (19.4%)

Results
1.9s8256×body128valid
Compiler

Compiled 111 to 85 computations (23.4% saved)

simplify45.0ms (0.4%)

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

prune5.0ms (0.1%)

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.4b
(/.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)

localize56.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))
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)))

series126.0ms (1.2%)

Counts
4 → 46
Calls

4 calls:

80.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))))))
30.0ms
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))
10.0ms
(*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
6.0ms
(*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))

rewrite38.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
43×*-un-lft-identity_binary32
36×add-exp-log_binary32
28×add-sqr-sqrt_binary32
23×add-cube-cbrt_binary32
22×add-cbrt-cube_binary32
Counts
4 → 129
Calls

4 calls:

9.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))))))
9.0ms
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))
8.0ms
(*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
4.0ms
(*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))

simplify133.0ms (1.3%)

Algorithm
egg-herbie
Rules
396×associate-*r*_binary32
336×associate-*l*_binary32
295×fma-def_binary32
272×unswap-sqr_binary32
226×*-commutative_binary32
Counts
175 → 228
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03916018
110725539
240235523
349865523

prune335.0ms (3.3%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New21711228
Fresh011
Picked101
Done000
Total21812230
Error
0.0b
Counts
230 → 12
Alt Table
StatusErrorProgram
13.6b
(*.f32 (/.f32 1 (-.f32 (*.f32 (+.f32 1 c) (+.f32 1 c)) (*.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))))) (-.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 (sqrt.f32 (PI.f32)) cosTheta) (+.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 cosTheta 2)) (+.f32 (*.f32 5/2 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 cosTheta 3))) (+.f32 (*.f32 (*.f32 (pow.f32 c 2) (pow.f32 cosTheta 3)) (sqrt.f32 (pow.f32 (PI.f32) 3))) (+.f32 (*.f32 2 (*.f32 (*.f32 c (pow.f32 cosTheta 3)) (sqrt.f32 (pow.f32 (PI.f32) 3)))) (*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3)) (pow.f32 cosTheta 3))))))) (+.f32 (*.f32 c (*.f32 (PI.f32) (pow.f32 cosTheta 2))) (+.f32 (*.f32 2 (*.f32 (PI.f32) (pow.f32 cosTheta 3))) (+.f32 (*.f32 2 (*.f32 c (*.f32 (PI.f32) (pow.f32 cosTheta 3)))) (*.f32 (PI.f32) (pow.f32 cosTheta 2))))))
20.2b
(*.f32 (/.f32 1 (+.f32 (pow.f32 (+.f32 1 c) 3) (pow.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) 3))) (+.f32 (*.f32 (+.f32 1 c) (+.f32 1 c)) (-.f32 (*.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))) (*.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 (sqrt.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))))))) (sqrt.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.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)))))
0.6b
(/.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 (*.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.7b
(/.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))))))) (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)))))))
0.8b
(/.f32 (/.f32 1 (*.f32 (cbrt.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)))))) (cbrt.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)))))))) (cbrt.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)))))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 (*.f32 cosTheta (*.f32 (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (*.f32 (cbrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 (fma.f32 cosTheta -2 1)))) (/.f32 (sqrt.f32 (PI.f32)) (/.f32 (sqrt.f32 (cbrt.f32 (fma.f32 cosTheta -2 1))) (*.f32 cosTheta (exp.f32 (*.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))))))))
Compiler

Compiled 9278 to 5281 computations (43.1% saved)

localize69.0ms (0.7%)

Local error

Found 4 expressions with local error:

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

series125.0ms (1.2%)

Counts
4 → 46
Calls

4 calls:

81.0ms
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 (*.f32 cosTheta (*.f32 (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))))))
26.0ms
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 (*.f32 cosTheta (*.f32 (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))))
11.0ms
(*.f32 (sqrt.f32 (PI.f32)) (*.f32 (*.f32 cosTheta (*.f32 (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta))))
6.0ms
(*.f32 (*.f32 cosTheta (*.f32 (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))

rewrite71.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
51×add-exp-log_binary32
43×*-un-lft-identity_binary32
34×add-cbrt-cube_binary32
28×pow1_binary32
26×cbrt-unprod_binary32
Counts
4 → 139
Calls

4 calls:

16.0ms
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 (*.f32 cosTheta (*.f32 (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))))
14.0ms
(*.f32 (sqrt.f32 (PI.f32)) (*.f32 (*.f32 cosTheta (*.f32 (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta))))
13.0ms
(*.f32 (*.f32 cosTheta (*.f32 (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))
11.0ms
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 (*.f32 cosTheta (*.f32 (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))))))

simplify176.0ms (1.7%)

Algorithm
egg-herbie
Rules
494×associate-*r*_binary32
465×associate-*l*_binary32
289×fma-def_binary32
257×*-commutative_binary32
207×associate-/r*_binary32
Counts
185 → 235
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04126487
111455929
244115883
349965883
449665883

prune325.0ms (3.2%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New2341235
Fresh11011
Picked011
Done000
Total23512247
Error
0.0b
Counts
247 → 12
Alt Table
StatusErrorProgram
20.2b
(*.f32 (/.f32 1 (+.f32 (pow.f32 (+.f32 1 c) 3) (pow.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) 3))) (+.f32 (*.f32 (+.f32 1 c) (+.f32 1 c)) (-.f32 (*.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))) (*.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 (sqrt.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))))))) (sqrt.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.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)))))
0.6b
(/.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 (*.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.7b
(/.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))))))) (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)))))))
0.8b
(/.f32 (/.f32 1 (*.f32 (cbrt.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)))))) (cbrt.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)))))))) (cbrt.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)))))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 (*.f32 cosTheta (*.f32 (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))))))
0.4b
(expm1.f32 (log1p.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta)))))))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (*.f32 (cbrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 (fma.f32 cosTheta -2 1)))) (/.f32 (sqrt.f32 (PI.f32)) (/.f32 (sqrt.f32 (cbrt.f32 (fma.f32 cosTheta -2 1))) (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta))))))))
1.0b
(-.f32 (+.f32 (*.f32 (sqrt.f32 (PI.f32)) cosTheta) (+.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 cosTheta 2)) (+.f32 (*.f32 5/2 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 cosTheta 3))) (+.f32 (*.f32 (*.f32 (pow.f32 c 2) (pow.f32 cosTheta 3)) (sqrt.f32 (pow.f32 (PI.f32) 3))) (+.f32 (*.f32 2 (*.f32 (*.f32 c (pow.f32 cosTheta 3)) (sqrt.f32 (pow.f32 (PI.f32) 3)))) (*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3)) (pow.f32 cosTheta 3))))))) (+.f32 (*.f32 c (*.f32 (PI.f32) (pow.f32 cosTheta 2))) (+.f32 (*.f32 2 (*.f32 (PI.f32) (pow.f32 cosTheta 3))) (+.f32 (*.f32 2 (*.f32 c (*.f32 (PI.f32) (pow.f32 cosTheta 3)))) (*.f32 (PI.f32) (pow.f32 cosTheta 2))))))
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))))))))
Compiler

Compiled 11882 to 5356 computations (54.9% saved)

localize58.0ms (0.6%)

Local error

Found 4 expressions with local error:

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

series194.0ms (1.9%)

Counts
4 → 52
Calls

4 calls:

80.0ms
(expm1.f32 (log1p.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta)))))))))
79.0ms
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta)))))))
25.0ms
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta)))))
9.0ms
(*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta))))

rewrite32.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
40×*-un-lft-identity_binary32
21×times-frac_binary32
20×add-sqr-sqrt_binary32
20×add-cube-cbrt_binary32
20×add-cbrt-cube_binary32
Counts
4 → 110
Calls

4 calls:

8.0ms
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta)))))))
7.0ms
(/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta)))))
6.0ms
(*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta))))
0.0ms
(expm1.f32 (log1p.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta)))))))))

simplify149.0ms (1.5%)

Algorithm
egg-herbie
Rules
419×cancel-sign-sub-inv_binary32
343×associate-*r*_binary32
301×associate-*l*_binary32
277×fma-def_binary32
237×unswap-sqr_binary32
Counts
162 → 155
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03547844
110037159
238397127
352387127

prune286.0ms (2.8%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New1550155
Fresh01010
Picked011
Done011
Total15512167
Error
0.0b
Counts
167 → 12
Alt Table
StatusErrorProgram
20.2b
(*.f32 (/.f32 1 (+.f32 (pow.f32 (+.f32 1 c) 3) (pow.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) 3))) (+.f32 (*.f32 (+.f32 1 c) (+.f32 1 c)) (-.f32 (*.f32 (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta))))) (*.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 (sqrt.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))))))) (sqrt.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.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)))))
0.6b
(/.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 (*.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.7b
(/.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))))))) (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)))))))
0.8b
(/.f32 (/.f32 1 (*.f32 (cbrt.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)))))) (cbrt.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)))))))) (cbrt.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)))))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 (*.f32 cosTheta (*.f32 (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))) (cbrt.f32 (pow.f32 (exp.f32 cosTheta) cosTheta)))))))
0.4b
(expm1.f32 (log1p.f32 (/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (*.f32 (sqrt.f32 (PI.f32)) (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta)))))))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (*.f32 (cbrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 (fma.f32 cosTheta -2 1)))) (/.f32 (sqrt.f32 (PI.f32)) (/.f32 (sqrt.f32 (cbrt.f32 (fma.f32 cosTheta -2 1))) (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta))))))))
1.0b
(-.f32 (+.f32 (*.f32 (sqrt.f32 (PI.f32)) cosTheta) (+.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 cosTheta 2)) (+.f32 (*.f32 5/2 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 cosTheta 3))) (+.f32 (*.f32 (*.f32 (pow.f32 c 2) (pow.f32 cosTheta 3)) (sqrt.f32 (pow.f32 (PI.f32) 3))) (+.f32 (*.f32 2 (*.f32 (*.f32 c (pow.f32 cosTheta 3)) (sqrt.f32 (pow.f32 (PI.f32) 3)))) (*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3)) (pow.f32 cosTheta 3))))))) (+.f32 (*.f32 c (*.f32 (PI.f32) (pow.f32 cosTheta 2))) (+.f32 (*.f32 2 (*.f32 (PI.f32) (pow.f32 cosTheta 3))) (+.f32 (*.f32 2 (*.f32 c (*.f32 (PI.f32) (pow.f32 cosTheta 3)))) (*.f32 (PI.f32) (pow.f32 cosTheta 2))))))
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))))))))
Compiler

Compiled 7346 to 4433 computations (39.7% saved)

localize72.0ms (0.7%)

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

series268.0ms (2.6%)

Counts
4 → 46
Calls

4 calls:

149.0ms
(*.f32 (sqrt.f32 (cbrt.f32 (PI.f32))) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))
81.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)))))))
26.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)))))
10.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))))

rewrite57.0ms (0.6%)

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:

13.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)))))
12.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)))))))
12.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))))
6.0ms
(*.f32 (sqrt.f32 (cbrt.f32 (PI.f32))) (*.f32 cosTheta (pow.f32 (exp.f32 cosTheta) cosTheta)))

simplify198.0ms (2%)

Algorithm
egg-herbie
Rules
445×associate-*r*_binary32
372×associate-*l*_binary32
300×unswap-sqr_binary32
298×fma-def_binary32
258×*-commutative_binary32
Counts
178 → 233
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04047630
111286450
241636415
352276415

prune523.0ms (5.2%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2303233
Fresh459
Picked101
Done202
Total2378245
Error
0.0b
Counts
245 → 8
Alt Table
StatusErrorProgram
0.6b
(/.f32 1 (+.f32 (+.f32 1 c) (*.f32 (/.f32 (fabs.f32 (cbrt.f32 (fma.f32 cosTheta -2 1))) (cbrt.f32 (PI.f32))) (/.f32 (sqrt.f32 (cbrt.f32 (fma.f32 cosTheta -2 1))) (*.f32 (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta))) (sqrt.f32 (cbrt.f32 (PI.f32))))))))
0.7b
(/.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))))))) (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)))))))
0.8b
(/.f32 (/.f32 1 (*.f32 (cbrt.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)))))) (cbrt.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)))))))) (cbrt.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)))))))
0.5b
(/.f32 1 (+.f32 (+.f32 1 c) (/.f32 (sqrt.f32 (*.f32 (cbrt.f32 (fma.f32 cosTheta -2 1)) (cbrt.f32 (fma.f32 cosTheta -2 1)))) (/.f32 (sqrt.f32 (PI.f32)) (/.f32 (sqrt.f32 (cbrt.f32 (fma.f32 cosTheta -2 1))) (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta))))))))
1.0b
(-.f32 (+.f32 (*.f32 (sqrt.f32 (PI.f32)) cosTheta) (+.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 cosTheta 2)) (+.f32 (*.f32 5/2 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 cosTheta 3))) (+.f32 (*.f32 (*.f32 (pow.f32 c 2) (pow.f32 cosTheta 3)) (sqrt.f32 (pow.f32 (PI.f32) 3))) (+.f32 (*.f32 2 (*.f32 (*.f32 c (pow.f32 cosTheta 3)) (sqrt.f32 (pow.f32 (PI.f32) 3)))) (*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3)) (pow.f32 cosTheta 3))))))) (+.f32 (*.f32 c (*.f32 (PI.f32) (pow.f32 cosTheta 2))) (+.f32 (*.f32 2 (*.f32 (PI.f32) (pow.f32 cosTheta 3))) (+.f32 (*.f32 2 (*.f32 c (*.f32 (PI.f32) (pow.f32 cosTheta 3)))) (*.f32 (PI.f32) (pow.f32 cosTheta 2))))))
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))))))))
13.6b
(*.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 (*.f32 cosTheta cosTheta)) 2)))))) (-.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.4b
(*.f32 (/.f32 1 (fma.f32 (*.f32 (*.f32 cosTheta (exp.f32 (*.f32 cosTheta cosTheta))) (pow.f32 (sqrt.f32 (cbrt.f32 (PI.f32))) 3)) (-.f32 1 (*.f32 c c)) (*.f32 (sqrt.f32 (fma.f32 cosTheta -2 1)) (-.f32 1 c)))) (*.f32 (-.f32 1 c) (*.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 10495 to 5058 computations (51.8% saved)

regimes4.5s (44%)

Accuracy

Total 0.4b remaining (91.4%)

Threshold costs 0.4b (91.4%)

Counts
406 → 1
Compiler

Compiled 100231 to 71283 computations (28.9% 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
02367
13667
24367
34767
44967
54867

end261.0ms (2.6%)

Compiler

Compiled 540 to 360 computations (33.3% saved)

Profiling

Loading profile data...