Details

Time bar (total: 5.8s)

analyze8.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%25%75%0
0%25%75%1
0%12.5%87.5%2
0%6.3%93.7%3
0%3.1%96.9%4
0%1.6%98.4%5
0%0.8%99.2%6
0%0.4%99.6%7
0%0.2%99.8%8
0.1%0.1%99.8%9
0.1%0%99.9%10
0.1%0%99.9%11
0.1%0%99.9%12
0.1%0%99.9%13
0.1%0%99.9%14
Compiler

Compiled 107 to 71 computations (33.6% saved)

sample2.7s (45.9%)

Results
2.5s8256×body128valid
33.0ms113×body128invalid
Compiler

Compiled 318 to 211 computations (33.6% saved)

simplify69.0ms (1.2%)

Algorithm
egg-herbie
Rules
847×unswap-sqr_binary64
640×associate-*l/_binary64
462×associate-*r/_binary64
372×associate-/l*_binary64
366×distribute-rgt-out_binary64
Counts
1 → 2
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
035152
19182
227858
3116752
4337649
5396747
6472647
7567347

prune7.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
2.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
2.6b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (exp.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))) (+.f64 (+.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 (/.f64 1 2) (*.f64 (*.f64 (/.f64 1 (fabs.f64 x)) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))))) (*.f64 (/.f64 3 4) (*.f64 (*.f64 (*.f64 (*.f64 (/.f64 1 (fabs.f64 x)) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))))) (*.f64 (/.f64 15 8) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (/.f64 1 (fabs.f64 x)) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))))))
2.5b
(*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
Compiler

Compiled 404 to 266 computations (34.2% saved)

localize20.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x))
0.4b
(*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.0b
(sqrt.f64 (PI.f64))
2.3b
(exp.f64 (*.f64 x x))

series22.0ms (0.4%)

Counts
4 → 36
Calls

4 calls:

16.0ms
(*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
3.0ms
(/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x))
2.0ms
(exp.f64 (*.f64 x x))
0.0ms
(sqrt.f64 (PI.f64))

rewrite44.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
249×add-sqr-sqrt_binary64
244×log1p-expm1-u_binary64
244×expm1-log1p-u_binary64
238×add-log-exp_binary64
237×add-cbrt-cube_binary64
Counts
4 → 81
Calls

4 calls:

42.0ms
(/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x))
42.0ms
(*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
42.0ms
(sqrt.f64 (PI.f64))
42.0ms
(exp.f64 (*.f64 x x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02273
151567
2478767
000
100

simplify87.0ms (1.5%)

Algorithm
egg-herbie
Rules
691×associate-/l*_binary64
629×associate-+l+_binary64
514×distribute-rgt-out_binary64
259×*-commutative_binary64
258×associate-/r/_binary64
Counts
117 → 110
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
066998
1166910
2467752
31668661
43171651
53943651
64358651
75226651

prune149.0ms (2.6%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New9416110
Fresh011
Picked101
Done000
Total9517112
Error
0.7b
Counts
112 → 17
Alt Table
StatusErrorProgram
2.8b
(exp.f64 (+.f64 (log1p.f64 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))) (-.f64 (*.f64 x x) (log.f64 (*.f64 (fabs.f64 x) (sqrt.f64 (PI.f64)))))))
2.5b
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (*.f64 15/8 (/.f64 (exp.f64 (*.f64 x x)) (pow.f64 x 7))) (*.f64 (/.f64 (exp.f64 (*.f64 x x)) x) (+.f64 1 (+.f64 (/.f64 3/4 (pow.f64 x 4)) (/.f64 1/2 (*.f64 x x)))))))
2.7b
(*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (expm1.f64 (log1p.f64 (sqrt.f64 (PI.f64))))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.5b
(+.f64 (*.f64 15/8 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (*.f64 (fabs.f64 x) (pow.f64 x 6))) (sqrt.f64 (/.f64 1 (PI.f64))))) (+.f64 (*.f64 3/4 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (*.f64 (fabs.f64 x) (pow.f64 x 4))) (sqrt.f64 (/.f64 1 (PI.f64))))) (+.f64 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (fabs.f64 x)) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 1/2 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (*.f64 (fabs.f64 x) (pow.f64 x 2))) (sqrt.f64 (/.f64 1 (PI.f64))))))))
2.6b
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x))) 2) (cbrt.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x))) (*.f64 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))) (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x))))
2.6b
(*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (cbrt.f64 (pow.f64 (PI.f64) 3/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.8b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))) 3)
2.8b
(*.f64 (/.f64 (/.f64 (pow.f64 (E.f64) (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
10.6b
(pow.f64 (pow.f64 (*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))))) 3) 1/3)
1.2b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.6b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (exp.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))) (+.f64 (+.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 (/.f64 1 2) (*.f64 (*.f64 (/.f64 1 (fabs.f64 x)) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))))) (*.f64 (/.f64 3 4) (*.f64 (*.f64 (*.f64 (*.f64 (/.f64 1 (fabs.f64 x)) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))))) (*.f64 (/.f64 15 8) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (/.f64 1 (fabs.f64 x)) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))) (/.f64 1 (fabs.f64 x))))))
2.5b
(/.f64 (*.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))))) (fabs.f64 x))
2.8b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))))))) 1)
2.8b
(*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) 2) (cbrt.f64 (exp.f64 (*.f64 x x)))) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
4.1b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 x 4))) (pow.f64 (cbrt.f64 x) 2)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.6b
(pow.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))) 2)
2.6b
(*.f64 (/.f64 (/.f64 (expm1.f64 (log1p.f64 (exp.f64 (*.f64 x x)))) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
Compiler

Compiled 4971 to 3016 computations (39.3% saved)

localize20.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x))
0.4b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.0b
(pow.f64 (exp.f64 x) x)
1.0b
(sqrt.f64 (PI.f64))

series17.0ms (0.3%)

Counts
2 → 24
Calls

2 calls:

15.0ms
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.0ms
(pow.f64 (exp.f64 x) x)

rewrite55.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
259×add-sqr-sqrt_binary64
253×log1p-expm1-u_binary64
253×expm1-log1p-u_binary64
248×add-log-exp_binary64
246×add-cbrt-cube_binary64
Counts
2 → 39
Calls

2 calls:

54.0ms
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
54.0ms
(pow.f64 (exp.f64 x) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02353
153449
2499349
000
100

simplify80.0ms (1.4%)

Algorithm
egg-herbie
Rules
689×associate-/l*_binary64
627×associate-+l+_binary64
510×distribute-rgt-out_binary64
257×*-commutative_binary64
250×associate-/r/_binary64
Counts
63 → 63
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
059833
1153745
2444587
31642496
43125486
53887486
64290486
75152486

prune147.0ms (2.5%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New8916105
Fresh10616
Picked101
Done000
Total10022122
Error
0.3b
Counts
122 → 22
Alt Table
StatusErrorProgram
1.2b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (log.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2))))))
1.3b
(pow.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))) 2)
2.5b
(+.f64 (*.f64 15/8 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (*.f64 (fabs.f64 x) (pow.f64 x 6))) (sqrt.f64 (/.f64 1 (PI.f64))))) (+.f64 (*.f64 3/4 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (*.f64 (fabs.f64 x) (pow.f64 x 4))) (sqrt.f64 (/.f64 1 (PI.f64))))) (+.f64 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (fabs.f64 x)) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 1/2 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (*.f64 (fabs.f64 x) (pow.f64 x 2))) (sqrt.f64 (/.f64 1 (PI.f64))))))))
1.6b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))) 3)
4.1b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 x 4))) (pow.f64 (cbrt.f64 x) 2)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.0b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (pow.f64 (cbrt.f64 (sqrt.f64 (PI.f64))) 3)) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
10.6b
(pow.f64 (pow.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))))) 3) 1/3)
1.7b
(*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (pow.f64 (sqrt.f64 (exp.f64 x)) x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.6b
(*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (cbrt.f64 (pow.f64 (PI.f64) 3/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.3b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (cbrt.f64 (pow.f64 (PI.f64) 3/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.6b
(pow.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))) 2)
1.2b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.8b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))) 3)
2.8b
(*.f64 (/.f64 (/.f64 (pow.f64 (E.f64) (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.6b
(expm1.f64 (log1p.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))))
1.2b
(+.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (*.f64 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))) (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x))))
1.6b
(*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (cbrt.f64 (pow.f64 (exp.f64 x) x))) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.4b
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x))) 2) (cbrt.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x))) (*.f64 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))) (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x))))
1.2b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))) 3))))
2.6b
(*.f64 (/.f64 (/.f64 (expm1.f64 (log1p.f64 (pow.f64 (exp.f64 x) x))) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.5b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (expm1.f64 (log1p.f64 (sqrt.f64 (PI.f64))))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
9.8b
(cbrt.f64 (pow.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))))) 3))
Compiler

Compiled 5027 to 3110 computations (38.1% saved)

localize21.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2)))
0.4b
(/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x))
0.4b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.0b
(pow.f64 (exp.f64 x) x)

series26.0ms (0.5%)

Counts
2 → 24
Calls

2 calls:

17.0ms
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
9.0ms
(/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2)))

rewrite100.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
269×log1p-expm1-u_binary64
269×expm1-log1p-u_binary64
264×add-log-exp_binary64
261×add-cbrt-cube_binary64
260×add-exp-log_binary64
Counts
2 → 39
Calls

2 calls:

99.0ms
(/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2)))
99.0ms
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02561
156955
2493555
3499055
000
100

simplify97.0ms (1.7%)

Algorithm
egg-herbie
Rules
652×distribute-rgt-out_binary64
318×*-commutative_binary64
298×distribute-lft-in_binary64
289×associate-/r/_binary64
282×fma-def_binary64
Counts
63 → 64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
062983
1160885
2483705
31883607
42861597
53771597
64288597
74553597
84901597

prune177.0ms (3.1%)

Pruning

23 alts after pruning (23 fresh and 0 done)

PrunedKeptTotal
New1037110
Fresh51621
Picked101
Done000
Total10923132
Error
0.3b
Counts
132 → 23
Alt Table
StatusErrorProgram
1.7b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64)))) 3) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.3b
(pow.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))) 2)
2.5b
(+.f64 (*.f64 15/8 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (*.f64 (fabs.f64 x) (pow.f64 x 6))) (sqrt.f64 (/.f64 1 (PI.f64))))) (+.f64 (*.f64 3/4 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (*.f64 (fabs.f64 x) (pow.f64 x 4))) (sqrt.f64 (/.f64 1 (PI.f64))))) (+.f64 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (fabs.f64 x)) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 1/2 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (*.f64 (fabs.f64 x) (pow.f64 x 2))) (sqrt.f64 (/.f64 1 (PI.f64))))))))
1.6b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))) 3)
1.7b
(*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (pow.f64 (sqrt.f64 (exp.f64 x)) x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.6b
(*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (cbrt.f64 (pow.f64 (PI.f64) 3/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.3b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (cbrt.f64 (pow.f64 (PI.f64) 3/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.5b
(*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 x)) 2) x) (pow.f64 (cbrt.f64 (exp.f64 x)) x)) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.6b
(*.f64 (/.f64 (-.f64 (exp.f64 (log1p.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))))) 1) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.5b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (expm1.f64 (log1p.f64 (sqrt.f64 (PI.f64))))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.5b
(*.f64 (/.f64 (/.f64 (expm1.f64 (log1p.f64 (pow.f64 (exp.f64 x) x))) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.6b
(pow.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))) 2)
2.8b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))) 3)
2.8b
(*.f64 (/.f64 (/.f64 (pow.f64 (E.f64) (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.6b
(expm1.f64 (log1p.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))))
1.2b
(+.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (*.f64 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))) (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x))))
2.0b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (pow.f64 (cbrt.f64 (sqrt.f64 (PI.f64))) 3)) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.5b
(*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (cbrt.f64 (pow.f64 (exp.f64 x) x))) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.6b
(*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (pow.f64 (sqrt.f64 (exp.f64 x)) x)) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.4b
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x))) 2) (cbrt.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x))) (*.f64 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))) (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x))))
9.8b
(cbrt.f64 (pow.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))))) 3))
1.2b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))) 3))))
1.2b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (log.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2))))))
Compiler

Compiled 5500 to 3500 computations (36.4% saved)

localize27.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2)))
0.4b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (log.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2))))))
1.0b
(pow.f64 (exp.f64 x) x)
3.2b
(log.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2)))

series297.0ms (5.1%)

Counts
2 → 24
Calls

2 calls:

278.0ms
(log.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2)))
19.0ms
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (log.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2))))))

rewrite36.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
274×log1p-expm1-u_binary64
274×expm1-log1p-u_binary64
269×add-log-exp_binary64
265×add-exp-log_binary64
264×add-cbrt-cube_binary64
Counts
2 → 41
Calls

2 calls:

35.0ms
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (log.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2))))))
35.0ms
(log.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02760
158757
2480257
000
100

simplify72.0ms (1.2%)

Algorithm
egg-herbie
Rules
689×distribute-rgt-out_binary64
391×associate-+l+_binary64
306×distribute-lft-in_binary64
283×fma-def_binary64
276×associate-/r/_binary64
Counts
65 → 62
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
065933
1172842
2497689
31803584
42865574
53849568
64955568

prune172.0ms (3%)

Pruning

25 alts after pruning (24 fresh and 1 done)

PrunedKeptTotal
New1076113
Fresh41822
Picked011
Done000
Total11125136
Error
0.2b
Counts
136 → 25
Alt Table
StatusErrorProgram
1.7b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64)))) 3) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.3b
(pow.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))) 2)
2.5b
(+.f64 (*.f64 15/8 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (*.f64 (fabs.f64 x) (pow.f64 x 6))) (sqrt.f64 (/.f64 1 (PI.f64))))) (+.f64 (*.f64 3/4 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (*.f64 (fabs.f64 x) (pow.f64 x 4))) (sqrt.f64 (/.f64 1 (PI.f64))))) (+.f64 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (fabs.f64 x)) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 1/2 (*.f64 (/.f64 (exp.f64 (pow.f64 x 2)) (*.f64 (fabs.f64 x) (pow.f64 x 2))) (sqrt.f64 (/.f64 1 (PI.f64))))))))
1.6b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))) 3)
2.6b
(*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (cbrt.f64 (pow.f64 (PI.f64) 3/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.6b
(*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (pow.f64 (sqrt.f64 (exp.f64 x)) x)) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (log.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2))))))
1.7b
(*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (pow.f64 (sqrt.f64 (exp.f64 x)) x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.3b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (cbrt.f64 (pow.f64 (PI.f64) 3/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.5b
(*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (cbrt.f64 (pow.f64 (exp.f64 x) x))) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.5b
(*.f64 (/.f64 (/.f64 (expm1.f64 (log1p.f64 (pow.f64 (exp.f64 x) x))) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (log.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2))))))
2.5b
(*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 x)) 2) x) (pow.f64 (cbrt.f64 (exp.f64 x)) x)) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.6b
(*.f64 (/.f64 (-.f64 (exp.f64 (log1p.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))))) 1) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.2b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2))))))))
1.5b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (expm1.f64 (log1p.f64 (sqrt.f64 (PI.f64))))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
2.8b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))) 3)
2.8b
(*.f64 (/.f64 (/.f64 (pow.f64 (E.f64) (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
9.8b
(cbrt.f64 (pow.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 (pow.f64 x -2) (fma.f64 3/4 (pow.f64 x -2) 1/2) (/.f64 15/8 (pow.f64 x 6))))) 3))
1.4b
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x))) 2) (cbrt.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x))) (*.f64 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))) (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x))))
2.0b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (pow.f64 (cbrt.f64 (sqrt.f64 (PI.f64))) 3)) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x)))))
1.3b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2))))))))
2.6b
(pow.f64 (sqrt.f64 (*.f64 (/.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))) 2)
2.6b
(expm1.f64 (log1p.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (fma.f64 15/8 (pow.f64 x -6) (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))))
1.2b
(fma.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (/.f64 1 (fabs.f64 x)) (*.f64 (fma.f64 (pow.f64 x -2) (fma.f64 3/4 (pow.f64 x -2) 1/2) (/.f64 15/8 (pow.f64 x 6))) (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x))))
1.2b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))) 3))))
1.2b
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))) (fabs.f64 x)) (+.f64 1 (+.f64 (/.f64 15/8 (pow.f64 x 6)) (log.f64 (pow.f64 (exp.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2))))))
Compiler

Compiled 4984 to 3378 computations (32.2% saved)

regimes702.0ms (12.1%)

Accuracy

Total 0.9b remaining (69.8%)

Threshold costs 0.9b (69.8%)

Counts
157 → 1
Compiler

Compiled 16781 to 12450 computations (25.8% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0294294967295
1354294967295
2344294967295

end675.0ms (11.7%)

Compiler

Compiled 1033 to 775 computations (25% saved)

Profiling

Loading profile data...