Details

Time bar (total: 1.4min)

analyze2.6s (3.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%74.9%25.1%0
0%74.9%25.1%1
0%74.9%25.1%2
18.7%56.2%25.1%3
37.5%37.5%25.1%4
42.1%32.8%25.1%5
46.8%28.1%25.1%6
48%26.9%25.1%7
49.2%25.8%25.1%8
49.5%25.5%25.1%9
49.8%25.2%25.1%10
49.8%25.2%25.1%11
49.8%25.1%25.1%12
49.9%25%25.1%13
49.9%25%25.1%14
Compiler

Compiled 127 to 112 computations (11.8% saved)

sample2.0s (2.4%)

Algorithm
intervals
Results
1.8s139×body8192exit
145.0ms256×body128valid
8.0ms399×pre128true
2.0msbody128invalid
Compiler

Compiled 252 to 223 computations (11.5% saved)

simplify47.0ms (0.1%)

Algorithm
egg-herbie
Rules
388×associate-+l+_binary64
296×associate-+r+_binary64
271×distribute-rgt-in_binary64
266×distribute-lft-in_binary64
224×associate-*r*_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
061156
1160147
2606119
33454115
44863115
54787115

prune14.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
1.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
1.6b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z))) (exp.f64 (+.f64 z -15/2))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (/.f64 -3147848041806007/2500000000000 (-.f64 2 z))) (/.f64 7713234287776531/10000000000000 (-.f64 3 z))) (/.f64 -883075145810703/5000000000000 (-.f64 4 z))) (/.f64 2501468655737381/200000000000000 (-.f64 5 z))) (/.f64 -3464277381643003/25000000000000000 (-.f64 6 z))) (/.f64 2496092394504893/250000000000000000000 (-.f64 7 z))) (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)))))
1.6b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 1))) (/.f64 -3147848041806007/2500000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 2))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8)))))
Compiler

Compiled 596 to 508 computations (14.8% saved)

localize54.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 1))) (/.f64 -3147848041806007/2500000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 2))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8))))
1.0b
(sqrt.f64 (*.f64 (PI.f64) 2))
2.8b
(+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 1))) (/.f64 -3147848041806007/2500000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 2)))
7.8b
(-.f64 (-.f64 1 z) 1)

series47.0ms (0.1%)

Counts
4 → 36
Calls

4 calls:

42.0ms
(*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 1))) (/.f64 -3147848041806007/2500000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 2))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8))))
3.0ms
(+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 1))) (/.f64 -3147848041806007/2500000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 2)))
2.0ms
(-.f64 (-.f64 1 z) 1)
0.0ms
(sqrt.f64 (*.f64 (PI.f64) 2))

rewrite506.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
394×frac-add_binary64
130×frac-times_binary64
101×associate-*r/_binary64
93×*-un-lft-identity_binary64
58×flip-+_binary64
Counts
4 → 249
Calls

4 calls:

200.0ms
(*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 1))) (/.f64 -3147848041806007/2500000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 2))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8))))
29.0ms
(+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 1))) (/.f64 -3147848041806007/2500000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 2)))
7.0ms
(-.f64 (-.f64 1 z) 1)
2.0ms
(sqrt.f64 (*.f64 (PI.f64) 2))

simplify1.2s (1.4%)

Algorithm
egg-herbie
Rules
891×fma-def_binary64
392×*-commutative_binary64
250×associate-*l*_binary64
240×distribute-rgt-in_binary64
224×distribute-lft-in_binary64
Counts
285 → 390
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
083376191
1354671260
2493071260

prune6.3s (7.6%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New123461240
Fresh011
Picked101
Done000
Total123571242
Error
0.2b
Counts
1242 → 7
Alt Table
StatusErrorProgram
0.5b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (pow.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2) (-.f64 1 z))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))) (*.f64 (+.f64 (-.f64 1 z) 7) (fma.f64 (+.f64 (-.f64 1 z) 6) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))) (*.f64 (+.f64 (-.f64 1 z) 5) (fma.f64 2501468655737381/200000000000000 (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))) (*.f64 (+.f64 (-.f64 1 z) 4) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)) (*.f64 (+.f64 (-.f64 1 z) 3) (fma.f64 (fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (+.f64 (-.f64 1 z) 2) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000)))))))) (*.f64 2496092394504893/250000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))))))) (*.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2)) (exp.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2))) (*.f64 (+.f64 (-.f64 1 z) 7) (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))))))))))
1.6b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z))) (exp.f64 (+.f64 z -15/2))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (/.f64 -3147848041806007/2500000000000 (-.f64 2 z))) (/.f64 7713234287776531/10000000000000 (-.f64 3 z))) (/.f64 -883075145810703/5000000000000 (-.f64 4 z))) (/.f64 2501468655737381/200000000000000 (-.f64 5 z))) (/.f64 -3464277381643003/25000000000000000 (-.f64 6 z))) (/.f64 2496092394504893/250000000000000000000 (-.f64 7 z))) (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)))))
1.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (pow.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2) (-.f64 1 z))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (+.f64 (-.f64 1 z) 2) (+.f64 (-.f64 1 z) 3)))))) (*.f64 (+.f64 (-.f64 1 z) 7) (fma.f64 (+.f64 (-.f64 1 z) 6) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (+.f64 (-.f64 1 z) 2) (+.f64 (-.f64 1 z) 3)))) (*.f64 (+.f64 (-.f64 1 z) 5) (fma.f64 2501468655737381/200000000000000 (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (+.f64 (-.f64 1 z) 2) (+.f64 (-.f64 1 z) 3))) (*.f64 (+.f64 (-.f64 1 z) 4) (fma.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (+.f64 (-.f64 1 z) 2) -883075145810703/5000000000000) (*.f64 (+.f64 (-.f64 1 z) 3) (fma.f64 (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000) (*.f64 (+.f64 1 (-.f64 1 z)) 7713234287776531/10000000000000) (*.f64 (fma.f64 (+.f64 1 (-.f64 1 z)) (+.f64 999999999999429700000000108414029999993130164299/1000000000000000000000000000000000000000000000000 (pow.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) 3)) (*.f64 -3147848041806007/2500000000000 (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000))) (+.f64 (-.f64 1 z) 2))))))))) (*.f64 2496092394504893/250000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (+.f64 (-.f64 1 z) 2) (+.f64 (-.f64 1 z) 3)))))))))) (*.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2)) (exp.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2))) (*.f64 (+.f64 (-.f64 1 z) 7) (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (+.f64 (-.f64 1 z) 2) (+.f64 (-.f64 1 z) 3))))))))))
1.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (-.f64 (fma.f64 3264229102083425005530891465931403/2963520000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z z) (sqrt.f64 15/2))))) (fma.f64 1106209385320415913103082059/8400000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z z) (sqrt.f64 15/2))) (pow.f64 (log.f64 15/2) 2)))) (fma.f64 1106209385320415913103082059/4200000000000000000000000 (*.f64 (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (sqrt.f64 15/2))) (sqrt.f64 (PI.f64))) (*.f64 2408637854869972117504576098451/3528000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 z (sqrt.f64 15/2))))))))) (fma.f64 1106209385320415913103082059/4200000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z (sqrt.f64 15/2)) (log.f64 15/2))))) (fma.f64 1106209385320415913103082059/4200000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (log.f64 15/2) (*.f64 (*.f64 z z) (sqrt.f64 15/2)))))) (*.f64 1479421971200822750497987168891/3528000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (log.f64 15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z z) (sqrt.f64 15/2)))))))))))
0.9b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 -3147848041806007/2500000000000 (+.f64 1 (-.f64 1 z))))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8)))))
2.0b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (PI.f64) 2))) (cbrt.f64 (sqrt.f64 (*.f64 (PI.f64) 2)))) (cbrt.f64 (sqrt.f64 (*.f64 (PI.f64) 2)))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 1))) (/.f64 -3147848041806007/2500000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 2))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8)))))
1.6b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (/.f64 (fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8)))))
Compiler

Compiled 234364 to 200535 computations (14.4% saved)

localize75.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (pow.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2) (-.f64 1 z)))
1.0b
(sqrt.f64 (*.f64 2 (PI.f64)))
2.6b
(fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))
7.8b
(+.f64 (-.f64 1 z) -1)

series23.0ms (0%)

Counts
4 → 36
Calls

4 calls:

18.0ms
(*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (pow.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2) (-.f64 1 z)))
3.0ms
(fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))
2.0ms
(+.f64 (-.f64 1 z) -1)
0.0ms
(sqrt.f64 (*.f64 2 (PI.f64)))

rewrite39.0ms (0%)

Algorithm
rewrite-expression-head
Rules
39×*-un-lft-identity_binary64
31×add-sqr-sqrt_binary64
23×associate-*r*_binary64
22×add-cube-cbrt_binary64
18×prod-diff_binary64
Counts
4 → 105
Calls

4 calls:

20.0ms
(*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (pow.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2) (-.f64 1 z)))
8.0ms
(+.f64 (-.f64 1 z) -1)
2.0ms
(sqrt.f64 (*.f64 2 (PI.f64)))
0.0ms
(fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))

simplify117.0ms (0.1%)

Algorithm
egg-herbie
Rules
294×cancel-sign-sub-inv_binary64
261×distribute-rgt-in_binary64
243×associate-*r*_binary64
210×associate-*l*_binary64
198×fma-neg_binary64
Counts
141 → 179
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02592712
16022281
220032122
344942122
448182122

prune3.0s (3.6%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2932295
Fresh156
Picked101
Done000
Total2957302
Error
0.2b
Counts
302 → 7
Alt Table
StatusErrorProgram
1.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (PI.f64))) (pow.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2) (-.f64 1 z))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))) (*.f64 (+.f64 (-.f64 1 z) 7) (fma.f64 (+.f64 (-.f64 1 z) 6) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))) (*.f64 (+.f64 (-.f64 1 z) 5) (fma.f64 2501468655737381/200000000000000 (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))) (*.f64 (+.f64 (-.f64 1 z) 4) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)) (*.f64 (+.f64 (-.f64 1 z) 3) (fma.f64 (fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (+.f64 (-.f64 1 z) 2) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000)))))))) (*.f64 2496092394504893/250000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))))))) (*.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2)) (exp.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2))) (*.f64 (+.f64 (-.f64 1 z) 7) (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))))))))))
1.6b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z))) (exp.f64 (+.f64 z -15/2))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (/.f64 -3147848041806007/2500000000000 (-.f64 2 z))) (/.f64 7713234287776531/10000000000000 (-.f64 3 z))) (/.f64 -883075145810703/5000000000000 (-.f64 4 z))) (/.f64 2501468655737381/200000000000000 (-.f64 5 z))) (/.f64 -3464277381643003/25000000000000000 (-.f64 6 z))) (/.f64 2496092394504893/250000000000000000000 (-.f64 7 z))) (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)))))
1.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (-.f64 (fma.f64 3264229102083425005530891465931403/2963520000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z z) (sqrt.f64 15/2))))) (fma.f64 1106209385320415913103082059/8400000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z z) (sqrt.f64 15/2))) (pow.f64 (log.f64 15/2) 2)))) (fma.f64 1106209385320415913103082059/4200000000000000000000000 (*.f64 (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (sqrt.f64 15/2))) (sqrt.f64 (PI.f64))) (*.f64 2408637854869972117504576098451/3528000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 z (sqrt.f64 15/2))))))))) (fma.f64 1106209385320415913103082059/4200000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z (sqrt.f64 15/2)) (log.f64 15/2))))) (fma.f64 1106209385320415913103082059/4200000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (log.f64 15/2) (*.f64 (*.f64 z z) (sqrt.f64 15/2)))))) (*.f64 1479421971200822750497987168891/3528000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (log.f64 15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z z) (sqrt.f64 15/2)))))))))))
0.9b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 -3147848041806007/2500000000000 (+.f64 1 (-.f64 1 z))))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8)))))
2.0b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (PI.f64) 2))) (cbrt.f64 (sqrt.f64 (*.f64 (PI.f64) 2)))) (cbrt.f64 (sqrt.f64 (*.f64 (PI.f64) 2)))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 1))) (/.f64 -3147848041806007/2500000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 2))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8)))))
1.6b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (/.f64 (fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8)))))
0.5b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (pow.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2) (-.f64 1 z))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))) (*.f64 (+.f64 (-.f64 1 z) 7) (fma.f64 (+.f64 (-.f64 1 z) 6) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))) (*.f64 (+.f64 (-.f64 1 z) 5) (fma.f64 2501468655737381/200000000000000 (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))) (*.f64 (+.f64 (-.f64 1 z) 4) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)) (*.f64 (+.f64 (-.f64 1 z) 3) (fma.f64 (fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (+.f64 (-.f64 1 z) 2) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000)))))))) (*.f64 2496092394504893/250000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))))))) (*.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2)) (exp.f64 (+.f64 (neg.f64 z) 15/2))) (*.f64 (+.f64 (-.f64 1 z) 7) (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))))))))))
Compiler

Compiled 104084 to 86103 computations (17.3% saved)

localize99.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (pow.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2) (-.f64 1 z)))
1.0b
(sqrt.f64 (*.f64 2 (PI.f64)))
2.6b
(fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))
7.8b
(+.f64 (-.f64 1 z) -1)

prune2.2s (2.7%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2352237
Fresh246
Picked011
Done000
Total2377244
Error
0.2b
Counts
244 → 7
Alt Table
StatusErrorProgram
1.6b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (/.f64 (fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8)))))
1.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (PI.f64))) (pow.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2) (-.f64 1 z))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))) (*.f64 (+.f64 (-.f64 1 z) 7) (fma.f64 (+.f64 (-.f64 1 z) 6) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))) (*.f64 (+.f64 (-.f64 1 z) 5) (fma.f64 2501468655737381/200000000000000 (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))) (*.f64 (+.f64 (-.f64 1 z) 4) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)) (*.f64 (+.f64 (-.f64 1 z) 3) (fma.f64 (fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (+.f64 (-.f64 1 z) 2) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000)))))))) (*.f64 2496092394504893/250000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))))))) (*.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2)) (exp.f64 (+.f64 (neg.f64 z) 15/2))) (*.f64 (+.f64 (-.f64 1 z) 7) (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))))))))))
0.5b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (expm1.f64 (log1p.f64 (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1 z)) (sqrt.f64 (*.f64 2 (PI.f64)))))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))) (*.f64 (+.f64 (-.f64 1 z) 7) (fma.f64 (+.f64 (-.f64 1 z) 6) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))) (*.f64 (+.f64 (-.f64 1 z) 5) (fma.f64 2501468655737381/200000000000000 (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))) (*.f64 (+.f64 (-.f64 1 z) 4) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)) (*.f64 (+.f64 (-.f64 1 z) 3) (fma.f64 (fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (+.f64 (-.f64 1 z) 2) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000)))))))) (*.f64 2496092394504893/250000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))))))) (*.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2)) (exp.f64 (+.f64 (neg.f64 z) 15/2))) (*.f64 (+.f64 (-.f64 1 z) 7) (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))))))))))
1.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (-.f64 (fma.f64 3264229102083425005530891465931403/2963520000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z z) (sqrt.f64 15/2))))) (fma.f64 1106209385320415913103082059/8400000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z z) (sqrt.f64 15/2))) (pow.f64 (log.f64 15/2) 2)))) (fma.f64 1106209385320415913103082059/4200000000000000000000000 (*.f64 (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (sqrt.f64 15/2))) (sqrt.f64 (PI.f64))) (*.f64 2408637854869972117504576098451/3528000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 z (sqrt.f64 15/2))))))))) (fma.f64 1106209385320415913103082059/4200000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z (sqrt.f64 15/2)) (log.f64 15/2))))) (fma.f64 1106209385320415913103082059/4200000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (log.f64 15/2) (*.f64 (*.f64 z z) (sqrt.f64 15/2)))))) (*.f64 1479421971200822750497987168891/3528000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (log.f64 15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z z) (sqrt.f64 15/2)))))))))))
0.9b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 -3147848041806007/2500000000000 (+.f64 1 (-.f64 1 z))))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8)))))
2.0b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (PI.f64) 2))) (cbrt.f64 (sqrt.f64 (*.f64 (PI.f64) 2)))) (cbrt.f64 (sqrt.f64 (*.f64 (PI.f64) 2)))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 1))) (/.f64 -3147848041806007/2500000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 2))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8)))))
0.5b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (pow.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2) (-.f64 1 z))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))) (*.f64 (+.f64 (-.f64 1 z) 7) (fma.f64 (+.f64 (-.f64 1 z) 6) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))) (*.f64 (+.f64 (-.f64 1 z) 5) (fma.f64 2501468655737381/200000000000000 (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))) (*.f64 (+.f64 (-.f64 1 z) 4) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)) (*.f64 (+.f64 (-.f64 1 z) 3) (fma.f64 (fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (+.f64 (-.f64 1 z) 2) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000)))))))) (*.f64 2496092394504893/250000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))))))) (*.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2)) (exp.f64 (+.f64 (neg.f64 z) 15/2))) (*.f64 (+.f64 (-.f64 1 z) 7) (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))))))))))
Compiler

Compiled 83624 to 68873 computations (17.6% saved)

localize76.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1 z)) (sqrt.f64 (*.f64 2 (PI.f64))))
1.0b
(sqrt.f64 (*.f64 2 (PI.f64)))
2.6b
(fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))
7.8b
(+.f64 (-.f64 1 z) -1)

series18.0ms (0%)

Counts
1 → 12
Calls

1 calls:

18.0ms
(*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1 z)) (sqrt.f64 (*.f64 2 (PI.f64))))

rewrite15.0ms (0%)

Algorithm
rewrite-expression-head
Rules
22×associate-*l*_binary64
18×add-sqr-sqrt_binary64
13×unpow-prod-up_binary64
13×*-un-lft-identity_binary64
11×add-cube-cbrt_binary64
Counts
1 → 44
Calls

1 calls:

11.0ms
(*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1 z)) (sqrt.f64 (*.f64 2 (PI.f64))))

simplify116.0ms (0.1%)

Algorithm
egg-herbie
Rules
740×fma-def_binary64
469×*-commutative_binary64
383×sub-neg_binary64
274×unswap-sqr_binary64
242×cancel-sign-sub-inv_binary64
Counts
56 → 81
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01581631
13981458
213691279
339911279
447991279
549471279
648711279

prune1.9s (2.2%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1850185
Fresh055
Picked011
Done011
Total1857192
Error
0.2b
Counts
192 → 7
Alt Table
StatusErrorProgram
1.6b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (/.f64 (fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8)))))
1.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (PI.f64))) (pow.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2) (-.f64 1 z))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))) (*.f64 (+.f64 (-.f64 1 z) 7) (fma.f64 (+.f64 (-.f64 1 z) 6) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))) (*.f64 (+.f64 (-.f64 1 z) 5) (fma.f64 2501468655737381/200000000000000 (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))) (*.f64 (+.f64 (-.f64 1 z) 4) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)) (*.f64 (+.f64 (-.f64 1 z) 3) (fma.f64 (fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (+.f64 (-.f64 1 z) 2) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000)))))))) (*.f64 2496092394504893/250000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))))))) (*.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2)) (exp.f64 (+.f64 (neg.f64 z) 15/2))) (*.f64 (+.f64 (-.f64 1 z) 7) (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))))))))))
0.5b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (expm1.f64 (log1p.f64 (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1 z)) (sqrt.f64 (*.f64 2 (PI.f64)))))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))) (*.f64 (+.f64 (-.f64 1 z) 7) (fma.f64 (+.f64 (-.f64 1 z) 6) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))) (*.f64 (+.f64 (-.f64 1 z) 5) (fma.f64 2501468655737381/200000000000000 (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))) (*.f64 (+.f64 (-.f64 1 z) 4) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)) (*.f64 (+.f64 (-.f64 1 z) 3) (fma.f64 (fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (+.f64 (-.f64 1 z) 2) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000)))))))) (*.f64 2496092394504893/250000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))))))) (*.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2)) (exp.f64 (+.f64 (neg.f64 z) 15/2))) (*.f64 (+.f64 (-.f64 1 z) 7) (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))))))))))
1.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (-.f64 (fma.f64 3264229102083425005530891465931403/2963520000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z z) (sqrt.f64 15/2))))) (fma.f64 1106209385320415913103082059/8400000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z z) (sqrt.f64 15/2))) (pow.f64 (log.f64 15/2) 2)))) (fma.f64 1106209385320415913103082059/4200000000000000000000000 (*.f64 (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (sqrt.f64 15/2))) (sqrt.f64 (PI.f64))) (*.f64 2408637854869972117504576098451/3528000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 z (sqrt.f64 15/2))))))))) (fma.f64 1106209385320415913103082059/4200000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z (sqrt.f64 15/2)) (log.f64 15/2))))) (fma.f64 1106209385320415913103082059/4200000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (log.f64 15/2) (*.f64 (*.f64 z z) (sqrt.f64 15/2)))))) (*.f64 1479421971200822750497987168891/3528000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (log.f64 15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z z) (sqrt.f64 15/2)))))))))))
0.9b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 -3147848041806007/2500000000000 (+.f64 1 (-.f64 1 z))))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8)))))
2.0b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (PI.f64) 2))) (cbrt.f64 (sqrt.f64 (*.f64 (PI.f64) 2)))) (cbrt.f64 (sqrt.f64 (*.f64 (PI.f64) 2)))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2) (+.f64 (-.f64 (-.f64 1 z) 1) 1/2))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 1 z) 1) 7) 1/2)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 1))) (/.f64 -3147848041806007/2500000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 2))) (/.f64 7713234287776531/10000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 3))) (/.f64 -883075145810703/5000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 4))) (/.f64 2501468655737381/200000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 5))) (/.f64 -3464277381643003/25000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 6))) (/.f64 2496092394504893/250000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 7))) (/.f64 3764081837873279/25000000000000000000000 (+.f64 (-.f64 (-.f64 1 z) 1) 8)))))
0.5b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (pow.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2) (-.f64 1 z))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))) (*.f64 (+.f64 (-.f64 1 z) 7) (fma.f64 (+.f64 (-.f64 1 z) 6) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))) (*.f64 (+.f64 (-.f64 1 z) 5) (fma.f64 2501468655737381/200000000000000 (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))) (*.f64 (+.f64 (-.f64 1 z) 4) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)) (*.f64 (+.f64 (-.f64 1 z) 3) (fma.f64 (fma.f64 (+.f64 1 (-.f64 1 z)) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (*.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))) (+.f64 (-.f64 1 z) 2) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000)))))))) (*.f64 2496092394504893/250000000000000000000 (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2)))))))))) (*.f64 (*.f64 (sqrt.f64 (+.f64 (+.f64 (-.f64 1 z) -1) 15/2)) (exp.f64 (+.f64 (neg.f64 z) 15/2))) (*.f64 (+.f64 (-.f64 1 z) 7) (*.f64 (+.f64 (-.f64 1 z) 6) (*.f64 (+.f64 (-.f64 1 z) 5) (*.f64 (+.f64 (-.f64 1 z) 4) (*.f64 (+.f64 (-.f64 1 z) 3) (*.f64 (*.f64 (+.f64 1 (-.f64 1 z)) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (+.f64 (-.f64 1 z) 2))))))))))
Compiler

Compiled 64298 to 52934 computations (17.7% saved)

regimes5.3s (6.4%)

Accuracy

Total 0.2b remaining (41.9%)

Threshold costs 0.2b (41.9%)

Counts
491 → 1
Compiler

Compiled 155486 to 135768 computations (12.7% saved)

simplify15.0ms (0%)

Algorithm
egg-herbie
Rules
24×*-commutative_binary64
16×+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
075495
1117495
2129495
3134495
4136495
5134495

end6.0ms (0%)

Compiler

Compiled 330 to 278 computations (15.8% saved)

sample57.2s (69%)

Algorithm
intervals
Results
51.5s3855×body8192exit
3.4s8000×body128valid
247.0ms11941×pre128true
67.0ms86×body128invalid
Compiler

Compiled 1993 to 1694 computations (15% saved)

Profiling

Loading profile data...