Details

Time bar (total: 1.2min)

analyze2.6s (3.8%)

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)

sample58.9s (85%)

Results
54.6s4111×body8192exit
4.2s8256×body128valid
43.0ms84×body128invalid
Compiler

Compiled 378 to 334 computations (11.6% 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

prune13.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
1.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
1.7b
(*.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.7b
(*.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)

localize50.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z))) (exp.f64 (+.f64 z -15/2)))
1.0b
(*.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.0b
(sqrt.f64 (*.f64 (PI.f64) 2))
2.8b
(+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (/.f64 -3147848041806007/2500000000000 (-.f64 2 z)))

series82.0ms (0.1%)

Counts
4 → 36
Calls

4 calls:

53.0ms
(*.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))))
26.0ms
(*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z))) (exp.f64 (+.f64 z -15/2)))
3.0ms
(+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (/.f64 -3147848041806007/2500000000000 (-.f64 2 z)))
0.0ms
(sqrt.f64 (*.f64 (PI.f64) 2))

rewrite221.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
114×frac-add_binary64
58×*-un-lft-identity_binary64
40×distribute-lft-out_binary64
34×associate-*r/_binary64
22×add-exp-log_binary64
Counts
4 → 126
Calls

4 calls:

101.0ms
(*.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))))
20.0ms
(+.f64 (+.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (/.f64 -3147848041806007/2500000000000 (-.f64 2 z)))
16.0ms
(*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) 2)) (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z))) (exp.f64 (+.f64 z -15/2)))
2.0ms
(sqrt.f64 (*.f64 (PI.f64) 2))

simplify373.0ms (0.5%)

Algorithm
egg-herbie
Rules
663×fma-def_binary64
633×distribute-rgt-in_binary64
599×distribute-lft-in_binary64
345×*-commutative_binary64
149×associate-*l*_binary64
Counts
162 → 224
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
069820494
1239319568
2614519568

prune879.0ms (1.3%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2186224
Fresh101
Picked101
Done000
Total2206226
Error
0.3b
Counts
226 → 6
Alt Table
StatusErrorProgram
0.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z)) (sqrt.f64 (*.f64 2 (PI.f64))))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (-.f64 7 z) (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))))) (*.f64 (-.f64 8 z) (fma.f64 2496092394504893/250000000000000000000 (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))))) (*.f64 (-.f64 7 z) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))) (*.f64 (-.f64 6 z) (fma.f64 2501468655737381/200000000000000 (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))) (*.f64 (-.f64 5 z) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))) (-.f64 3 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000))))))))))))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (-.f64 2 z)) (-.f64 3 z)) (-.f64 4 z)) (-.f64 5 z)) (-.f64 6 z)) (-.f64 7 z)) (-.f64 8 z))))
1.6b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (cbrt.f64 (pow.f64 (*.f64 (*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z)) (sqrt.f64 (*.f64 2 (PI.f64))))) (+.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)))) 3)))
0.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (sqrt.f64 (-.f64 15/2 z)))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (-.f64 7 z) (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))))) (*.f64 (-.f64 8 z) (fma.f64 2496092394504893/250000000000000000000 (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))))) (*.f64 (-.f64 7 z) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))) (*.f64 (-.f64 6 z) (fma.f64 2501468655737381/200000000000000 (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))) (*.f64 (-.f64 5 z) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))) (-.f64 3 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000))))))))))))) (*.f64 (pow.f64 (-.f64 15/2 z) z) (*.f64 (-.f64 8 z) (*.f64 (-.f64 7 z) (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 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 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 (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (sqrt.f64 15/2))) (sqrt.f64 (PI.f64))) (fma.f64 2408637854869972117504576098451/7056000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (log.f64 15/2) 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2)))))) (*.f64 395971232097753800969862781701012907/276595200000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2))))))))))) (fma.f64 1944029913035397434001281633671/3528000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (log.f64 15/2) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2)))))) (fma.f64 1631243975133691160969814893647763/2963520000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (log.f64 15/2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2)))))) (+.f64 (*.f64 (*.f64 1106209385320415913103082059/4200000000000000000000000 (sqrt.f64 (PI.f64))) (+.f64 (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z (sqrt.f64 15/2)) (log.f64 15/2)))) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (log.f64 15/2) (*.f64 (*.f64 z z) (sqrt.f64 15/2))))))) (fma.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)))))) (*.f64 1106209385320415913103082059/25200000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2))) (pow.f64 (log.f64 15/2) 3)))))))))))
1.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (sqrt.f64 (-.f64 15/2 z)))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (-.f64 7 z) (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (*.f64 (-.f64 2 z) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (-.f64 3 z) (-.f64 4 z)))))) (*.f64 (-.f64 8 z) (fma.f64 2496092394504893/250000000000000000000 (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (*.f64 (-.f64 2 z) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (-.f64 3 z) (-.f64 4 z))))) (*.f64 (-.f64 7 z) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (-.f64 5 z) (*.f64 (*.f64 (-.f64 2 z) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (-.f64 3 z) (-.f64 4 z)))) (*.f64 (-.f64 6 z) (fma.f64 2501468655737381/200000000000000 (*.f64 (*.f64 (-.f64 2 z) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (-.f64 3 z) (-.f64 4 z))) (*.f64 (-.f64 5 z) (fma.f64 (*.f64 (-.f64 2 z) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (-.f64 3 z) -883075145810703/5000000000000) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000) (*.f64 (-.f64 2 z) 7713234287776531/10000000000000) (*.f64 (fma.f64 -3147848041806007/2500000000000 (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000) (*.f64 (-.f64 2 z) (+.f64 999999999999429700000000108414029999993130164299/1000000000000000000000000000000000000000000000000 (pow.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) 3)))) (-.f64 3 z)))))))))))))) (*.f64 (pow.f64 (-.f64 15/2 z) z) (*.f64 (-.f64 8 z) (*.f64 (-.f64 7 z) (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (*.f64 (-.f64 2 z) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (-.f64 3 z) (-.f64 4 z))))))))))
1.7b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (sqrt.f64 (-.f64 15/2 z)))) (+.f64 (pow.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))) 3) (pow.f64 (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)) 3))) (*.f64 (pow.f64 (-.f64 15/2 z) z) (fma.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 (+.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 (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)) (-.f64 (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)) (+.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)))))))))
Compiler

Compiled 38195 to 30435 computations (20.3% saved)

localize93.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))) (-.f64 3 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000))))
1.0b
(*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z)) (sqrt.f64 (*.f64 2 (PI.f64)))))
1.0b
(sqrt.f64 (*.f64 2 (PI.f64)))
2.8b
(fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))))

series33.0ms (0%)

Counts
4 → 36
Calls

4 calls:

26.0ms
(*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z)) (sqrt.f64 (*.f64 2 (PI.f64)))))
4.0ms
(fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))) (-.f64 3 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000))))
3.0ms
(fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))))
0.0ms
(sqrt.f64 (*.f64 2 (PI.f64)))

rewrite23.0ms (0%)

Algorithm
rewrite-expression-head
Rules
10×add-exp-log_binary64
add-cbrt-cube_binary64
pow1_binary64
prod-exp_binary64
*-un-lft-identity_binary64
Counts
4 → 56
Calls

4 calls:

14.0ms
(*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z)) (sqrt.f64 (*.f64 2 (PI.f64)))))
5.0ms
(sqrt.f64 (*.f64 2 (PI.f64)))
0.0ms
(fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))) (-.f64 3 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000))))
0.0ms
(fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))))

simplify127.0ms (0.2%)

Algorithm
egg-herbie
Rules
385×associate-*r*_binary64
377×fma-neg_binary64
316×cancel-sign-sub-inv_binary64
280×associate-*l*_binary64
279×distribute-rgt-in_binary64
Counts
92 → 111
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02613667
17033210
225303079
349843067
451293067

prune710.0ms (1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1101111
Fresh235
Picked011
Done000
Total1125117
Error
0.3b
Counts
117 → 5
Alt Table
StatusErrorProgram
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 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 (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (sqrt.f64 15/2))) (sqrt.f64 (PI.f64))) (fma.f64 2408637854869972117504576098451/7056000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (log.f64 15/2) 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2)))))) (*.f64 395971232097753800969862781701012907/276595200000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2))))))))))) (fma.f64 1944029913035397434001281633671/3528000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (log.f64 15/2) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2)))))) (fma.f64 1631243975133691160969814893647763/2963520000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (log.f64 15/2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2)))))) (+.f64 (*.f64 (*.f64 1106209385320415913103082059/4200000000000000000000000 (sqrt.f64 (PI.f64))) (+.f64 (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z (sqrt.f64 15/2)) (log.f64 15/2)))) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (log.f64 15/2) (*.f64 (*.f64 z z) (sqrt.f64 15/2))))))) (fma.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)))))) (*.f64 1106209385320415913103082059/25200000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2))) (pow.f64 (log.f64 15/2) 3)))))))))))
1.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (sqrt.f64 (-.f64 15/2 z)))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (-.f64 7 z) (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (*.f64 (-.f64 2 z) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (-.f64 3 z) (-.f64 4 z)))))) (*.f64 (-.f64 8 z) (fma.f64 2496092394504893/250000000000000000000 (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (*.f64 (-.f64 2 z) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (-.f64 3 z) (-.f64 4 z))))) (*.f64 (-.f64 7 z) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (-.f64 5 z) (*.f64 (*.f64 (-.f64 2 z) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (-.f64 3 z) (-.f64 4 z)))) (*.f64 (-.f64 6 z) (fma.f64 2501468655737381/200000000000000 (*.f64 (*.f64 (-.f64 2 z) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (-.f64 3 z) (-.f64 4 z))) (*.f64 (-.f64 5 z) (fma.f64 (*.f64 (-.f64 2 z) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (-.f64 3 z) -883075145810703/5000000000000) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000) (*.f64 (-.f64 2 z) 7713234287776531/10000000000000) (*.f64 (fma.f64 -3147848041806007/2500000000000 (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000) (*.f64 (-.f64 2 z) (+.f64 999999999999429700000000108414029999993130164299/1000000000000000000000000000000000000000000000000 (pow.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) 3)))) (-.f64 3 z)))))))))))))) (*.f64 (pow.f64 (-.f64 15/2 z) z) (*.f64 (-.f64 8 z) (*.f64 (-.f64 7 z) (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (*.f64 (-.f64 2 z) (fma.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (+.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) -9999999999998099/10000000000000000) 99999999999961980000000003613801/100000000000000000000000000000000)) (*.f64 (-.f64 3 z) (-.f64 4 z))))))))))
0.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z)) (sqrt.f64 (*.f64 2 (PI.f64))))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (-.f64 7 z) (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))))) (*.f64 (-.f64 8 z) (fma.f64 2496092394504893/250000000000000000000 (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))))) (*.f64 (-.f64 7 z) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))) (*.f64 (-.f64 6 z) (fma.f64 2501468655737381/200000000000000 (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))) (*.f64 (-.f64 5 z) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))) (-.f64 3 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000))))))))))))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (-.f64 2 z)) (-.f64 3 z)) (-.f64 4 z)) (-.f64 5 z)) (-.f64 6 z)) (-.f64 7 z)) (-.f64 8 z))))
0.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z)) (*.f64 (sqrt.f64 2) (sqrt.f64 (PI.f64))))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (-.f64 7 z) (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))))) (*.f64 (-.f64 8 z) (fma.f64 2496092394504893/250000000000000000000 (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))))) (*.f64 (-.f64 7 z) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))) (*.f64 (-.f64 6 z) (fma.f64 2501468655737381/200000000000000 (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))) (*.f64 (-.f64 5 z) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))) (-.f64 3 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000))))))))))))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (-.f64 2 z)) (-.f64 3 z)) (-.f64 4 z)) (-.f64 5 z)) (-.f64 6 z)) (-.f64 7 z)) (-.f64 8 z))))
1.7b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (sqrt.f64 (-.f64 15/2 z)))) (+.f64 (pow.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))) 3) (pow.f64 (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)) 3))) (*.f64 (pow.f64 (-.f64 15/2 z) z) (fma.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 (+.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 (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)) (-.f64 (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)) (+.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)))))))))
Compiler

Compiled 30449 to 23826 computations (21.8% saved)

localize81.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))) (-.f64 3 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000))))
1.0b
(*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z)) (*.f64 (sqrt.f64 2) (sqrt.f64 (PI.f64)))))
1.0b
(sqrt.f64 (PI.f64))
2.8b
(fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))))

series29.0ms (0%)

Counts
2 → 12
Calls

2 calls:

29.0ms
(*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z)) (*.f64 (sqrt.f64 2) (sqrt.f64 (PI.f64)))))
0.0ms
(sqrt.f64 (PI.f64))

rewrite27.0ms (0%)

Algorithm
rewrite-expression-head
Rules
16×prod-exp_binary64
16×add-exp-log_binary64
11×add-cbrt-cube_binary64
cbrt-unprod_binary64
add-sqr-sqrt_binary64
Counts
2 → 42
Calls

2 calls:

24.0ms
(*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z)) (*.f64 (sqrt.f64 2) (sqrt.f64 (PI.f64)))))
1.0ms
(sqrt.f64 (PI.f64))

simplify83.0ms (0.1%)

Algorithm
egg-herbie
Rules
826×fma-neg_binary64
823×fma-def_binary64
441×associate-*r*_binary64
313×associate-*l*_binary64
258×cancel-sign-sub-inv_binary64
Counts
54 → 62
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01721855
14901722
219601613
346791613
453721613

prune847.0ms (1.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1261127
Fresh123
Picked101
Done011
Total1284132
Error
0.3b
Counts
132 → 4
Alt Table
StatusErrorProgram
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 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 (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (sqrt.f64 15/2))) (sqrt.f64 (PI.f64))) (fma.f64 2408637854869972117504576098451/7056000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (log.f64 15/2) 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2)))))) (*.f64 395971232097753800969862781701012907/276595200000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2))))))))))) (fma.f64 1944029913035397434001281633671/3528000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (log.f64 15/2) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2)))))) (fma.f64 1631243975133691160969814893647763/2963520000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (log.f64 15/2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2)))))) (+.f64 (*.f64 (*.f64 1106209385320415913103082059/4200000000000000000000000 (sqrt.f64 (PI.f64))) (+.f64 (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z (sqrt.f64 15/2)) (log.f64 15/2)))) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (log.f64 15/2) (*.f64 (*.f64 z z) (sqrt.f64 15/2))))))) (fma.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)))))) (*.f64 1106209385320415913103082059/25200000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2))) (pow.f64 (log.f64 15/2) 3)))))))))))
0.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z)) (sqrt.f64 (*.f64 2 (PI.f64))))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (-.f64 7 z) (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))))) (*.f64 (-.f64 8 z) (fma.f64 2496092394504893/250000000000000000000 (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))))) (*.f64 (-.f64 7 z) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))) (*.f64 (-.f64 6 z) (fma.f64 2501468655737381/200000000000000 (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))) (*.f64 (-.f64 5 z) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))) (-.f64 3 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000))))))))))))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (-.f64 2 z)) (-.f64 3 z)) (-.f64 4 z)) (-.f64 5 z)) (-.f64 6 z)) (-.f64 7 z)) (-.f64 8 z))))
1.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (exp.f64 (+.f64 z -15/2))) (cbrt.f64 (exp.f64 (+.f64 z -15/2)))) (*.f64 (cbrt.f64 (exp.f64 (+.f64 z -15/2))) (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z)) (*.f64 (sqrt.f64 2) (sqrt.f64 (PI.f64)))))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (-.f64 7 z) (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))))) (*.f64 (-.f64 8 z) (fma.f64 2496092394504893/250000000000000000000 (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))))) (*.f64 (-.f64 7 z) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))) (*.f64 (-.f64 6 z) (fma.f64 2501468655737381/200000000000000 (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))) (*.f64 (-.f64 5 z) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))) (-.f64 3 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000))))))))))))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (-.f64 2 z)) (-.f64 3 z)) (-.f64 4 z)) (-.f64 5 z)) (-.f64 6 z)) (-.f64 7 z)) (-.f64 8 z))))
1.7b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (sqrt.f64 (-.f64 15/2 z)))) (+.f64 (pow.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))) 3) (pow.f64 (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)) 3))) (*.f64 (pow.f64 (-.f64 15/2 z) z) (fma.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 (+.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 (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)) (-.f64 (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)) (+.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)))))))))
Compiler

Compiled 34100 to 26540 computations (22.2% saved)

localize82.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))) (-.f64 3 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000))))
1.0b
(*.f64 (cbrt.f64 (exp.f64 (+.f64 z -15/2))) (cbrt.f64 (exp.f64 (+.f64 z -15/2))))
1.0b
(sqrt.f64 (PI.f64))
2.8b
(fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z))))))

series252.0ms (0.4%)

Counts
1 → 12
Calls

1 calls:

252.0ms
(*.f64 (cbrt.f64 (exp.f64 (+.f64 z -15/2))) (cbrt.f64 (exp.f64 (+.f64 z -15/2))))

rewrite11.0ms (0%)

Algorithm
rewrite-expression-head
Rules
20×cbrt-prod_binary64
17×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
pow1_binary64
Counts
1 → 45
Calls

1 calls:

9.0ms
(*.f64 (cbrt.f64 (exp.f64 (+.f64 z -15/2))) (cbrt.f64 (exp.f64 (+.f64 z -15/2))))

simplify87.0ms (0.1%)

Algorithm
egg-herbie
Rules
628×log-div_binary64
616×fma-def_binary64
388×associate-/l*_binary64
379×*-commutative_binary64
278×associate-/r*_binary64
Counts
57 → 71
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0771020
1153954
2404818
31192711
42699596
54184596
65021596

prune915.0ms (1.3%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1520152
Fresh022
Picked011
Done011
Total1524156
Error
0.3b
Counts
156 → 4
Alt Table
StatusErrorProgram
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 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 (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (sqrt.f64 15/2))) (sqrt.f64 (PI.f64))) (fma.f64 2408637854869972117504576098451/7056000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 (log.f64 15/2) 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2)))))) (*.f64 395971232097753800969862781701012907/276595200000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2))))))))))) (fma.f64 1944029913035397434001281633671/3528000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (log.f64 15/2) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2)))))) (fma.f64 1631243975133691160969814893647763/2963520000000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (log.f64 15/2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2)))))) (+.f64 (*.f64 (*.f64 1106209385320415913103082059/4200000000000000000000000 (sqrt.f64 (PI.f64))) (+.f64 (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 z (sqrt.f64 15/2)) (log.f64 15/2)))) (*.f64 (exp.f64 -15/2) (*.f64 (sqrt.f64 2) (*.f64 (log.f64 15/2) (*.f64 (*.f64 z z) (sqrt.f64 15/2))))))) (fma.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)))))) (*.f64 1106209385320415913103082059/25200000000000000000000000 (*.f64 (sqrt.f64 (PI.f64)) (*.f64 (exp.f64 -15/2) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 z 3) (sqrt.f64 15/2))) (pow.f64 (log.f64 15/2) 3)))))))))))
0.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z)) (sqrt.f64 (*.f64 2 (PI.f64))))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (-.f64 7 z) (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))))) (*.f64 (-.f64 8 z) (fma.f64 2496092394504893/250000000000000000000 (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))))) (*.f64 (-.f64 7 z) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))) (*.f64 (-.f64 6 z) (fma.f64 2501468655737381/200000000000000 (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))) (*.f64 (-.f64 5 z) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))) (-.f64 3 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000))))))))))))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (-.f64 2 z)) (-.f64 3 z)) (-.f64 4 z)) (-.f64 5 z)) (-.f64 6 z)) (-.f64 7 z)) (-.f64 8 z))))
1.4b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (exp.f64 (+.f64 z -15/2))) (cbrt.f64 (exp.f64 (+.f64 z -15/2)))) (*.f64 (cbrt.f64 (exp.f64 (+.f64 z -15/2))) (*.f64 (pow.f64 (-.f64 15/2 z) (-.f64 1/2 z)) (*.f64 (sqrt.f64 2) (sqrt.f64 (PI.f64)))))) (fma.f64 3764081837873279/25000000000000000000000 (*.f64 (-.f64 7 z) (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))))) (*.f64 (-.f64 8 z) (fma.f64 2496092394504893/250000000000000000000 (*.f64 (-.f64 6 z) (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))))) (*.f64 (-.f64 7 z) (fma.f64 -3464277381643003/25000000000000000 (*.f64 (-.f64 5 z) (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)))) (*.f64 (-.f64 6 z) (fma.f64 2501468655737381/200000000000000 (*.f64 (-.f64 4 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z))) (*.f64 (-.f64 5 z) (fma.f64 -883075145810703/5000000000000 (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) (-.f64 3 z)) (*.f64 (-.f64 4 z) (fma.f64 (fma.f64 -3147848041806007/2500000000000 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (*.f64 (-.f64 2 z) (-.f64 99999999999961980000000003613801/100000000000000000000000000000000 (*.f64 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)) (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))))) (-.f64 3 z) (*.f64 (*.f64 (-.f64 2 z) (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z)))) 7713234287776531/10000000000000))))))))))))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (-.f64 9999999999998099/10000000000000000 (/.f64 6765203681218851/10000000000000 (-.f64 1 z))) (-.f64 2 z)) (-.f64 3 z)) (-.f64 4 z)) (-.f64 5 z)) (-.f64 6 z)) (-.f64 7 z)) (-.f64 8 z))))
1.7b
(*.f64 (/.f64 (PI.f64) (sin.f64 (*.f64 (PI.f64) z))) (/.f64 (*.f64 (*.f64 (exp.f64 (+.f64 z -15/2)) (*.f64 (sqrt.f64 (*.f64 2 (PI.f64))) (sqrt.f64 (-.f64 15/2 z)))) (+.f64 (pow.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))) 3) (pow.f64 (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)) 3))) (*.f64 (pow.f64 (-.f64 15/2 z) z) (fma.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 (+.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 (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)) (-.f64 (/.f64 3764081837873279/25000000000000000000000 (-.f64 8 z)) (+.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)))))))))
Compiler

Compiled 41062 to 32057 computations (21.9% saved)

regimes1.7s (2.5%)

Accuracy

Total 0.2b remaining (36.9%)

Threshold costs 0.2b (36.9%)

Counts
178 → 1
Compiler

Compiled 56640 to 45668 computations (19.4% saved)

simplify10.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
084388
1116388
2138388
3144388
4147388
5145388

end914.0ms (1.3%)

Compiler

Compiled 1487 to 1200 computations (19.3% saved)

Profiling

Loading profile data...