Details

Time bar (total: 6.9s)

analyze9.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.8s (40.8%)

Results
2.7s8256×body128valid
33.0ms106×body128invalid
Compiler

Compiled 318 to 211 computations (33.6% saved)

simplify68.0ms (1%)

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.5b
Counts
3 → 2
Alt Table
StatusErrorProgram
2.8b
(*.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.6b
(*.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)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64)))
0.4b
(/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x))
1.0b
(sqrt.f64 (PI.f64))
2.5b
(exp.f64 (*.f64 x x))

series17.0ms (0.2%)

Counts
4 → 36
Calls

4 calls:

10.0ms
(/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64)))
5.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))

rewrite69.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
232×expm1-udef_binary64
232×log1p-udef_binary64
212×log-pow_binary64
200×prod-diff_binary64
137×fma-def_binary64
Counts
4 → 114
Calls

4 calls:

67.0ms
(/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64)))
67.0ms
(/.f64 (+.f64 1/2 (/.f64 3/4 (*.f64 x x))) (*.f64 x x))
67.0ms
(sqrt.f64 (PI.f64))
67.0ms
(exp.f64 (*.f64 x x))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01238
126736
2344936
3488336

simplify55.0ms (0.8%)

Algorithm
egg-herbie
Rules
666×associate-*l/_binary64
544×associate-/l*_binary64
535×*-commutative_binary64
486×fma-def_binary64
442×distribute-rgt-out_binary64
Counts
150 → 136
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
040497
193473
2208449
3530440
41735440
53370440
65331440

prune196.0ms (2.8%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New12214136
Fresh011
Picked101
Done000
Total12315138
Error
0.7b
Counts
138 → 15
Alt Table
StatusErrorProgram
2.6b
(*.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)) (log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))))))))
2.8b
(*.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))))))
3.1b
(*.f64 (/.f64 (/.f64 (exp.f64 (*.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)))))
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
(*.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 (sqrt.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (cbrt.f64 (pow.f64 x 4))) (/.f64 (sqrt.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 (cbrt.f64 x) 2))))))
3.1b
(*.f64 (/.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 x) (sqrt.f64 x)) (sqrt.f64 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.7b
(*.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 (pow.f64 (cbrt.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) 2) (*.f64 (cbrt.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2))))))
4.5b
(*.f64 (/.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 x) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 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.5b
(*.f64 (/.f64 (exp.f64 (fma.f64 x x (*.f64 -1/2 (log.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.9b
(*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) 2) (*.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) (pow.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)))))
11.3b
(*.f64 (/.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 (*.f64 x x)) 3) 1/3) (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
(*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 1) (*.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.1b
(*.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.7b
(*.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.6b
(*.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (PI.f64)) (exp.f64 (*.f64 x x))) -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)))))
Compiler

Compiled 5866 to 3460 computations (41% saved)

localize20.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series13.0ms (0.2%)

Counts
2 → 24
Calls

2 calls:

10.0ms
(/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64)))
2.0ms
(pow.f64 (exp.f64 x) x)

rewrite49.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
665×log1p-expm1-u_binary64
665×expm1-log1p-u_binary64
353×log-prod_binary64
132×log-pow_binary64
127×expm1-udef_binary64
Counts
2 → 58
Calls

2 calls:

47.0ms
(/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64)))
47.0ms
(pow.f64 (exp.f64 x) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0718
114318
2173818
3541918

simplify89.0ms (1.3%)

Algorithm
egg-herbie
Rules
533×*-commutative_binary64
498×distribute-rgt-out_binary64
482×fma-def_binary64
435×associate-*l*_binary64
346×distribute-lft-out_binary64
Counts
82 → 75
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
032332
179308
2182284
3477275
41574275
52582275
62857275
73812275
84974275
94963275

prune211.0ms (3%)

Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New12117138
Fresh7714
Picked101
Done000
Total12924153
Error
0.3b
Counts
153 → 24
Alt Table
StatusErrorProgram
1.6b
(*.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)))))
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)))))
1.1b
(*.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)) (exp.f64 (log.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))))
1.5b
(*.f64 (/.f64 (*.f64 (/.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (cbrt.f64 (PI.f64))) (/.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (cbrt.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.6b
(*.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 (sqrt.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (cbrt.f64 (pow.f64 x 4))) (/.f64 (sqrt.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 (cbrt.f64 x) 2))))))
3.1b
(*.f64 (/.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 x) (sqrt.f64 x)) (sqrt.f64 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 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (pow.f64 (PI.f64) 1/4)) (/.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (pow.f64 (PI.f64) 1/4))) (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.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.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.6b
(*.f64 (/.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) 1) (/.f64 (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)))))
2.7b
(*.f64 (/.f64 (/.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 x)) 2) x) (pow.f64 (cbrt.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 (/.f64 1 (cbrt.f64 (PI.f64))) (/.f64 (pow.f64 (exp.f64 x) x) (cbrt.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 (exp.f64 (fma.f64 x x (*.f64 -1/2 (log.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.9b
(*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) 2) (*.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) (pow.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.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.2b
(*.f64 (/.f64 (*.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (*.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (pow.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.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 (exp.f64 (log1p.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))) 1))))
1.1b
(*.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.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.1b
(*.f64 (/.f64 (pow.f64 (/.f64 (sqrt.f64 (PI.f64)) (pow.f64 (exp.f64 x) x)) -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)))))
2.8b
(*.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.7b
(*.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 (pow.f64 (cbrt.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) 2) (*.f64 (cbrt.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2))))))
1.6b
(*.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) 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)))))
1.5b
(*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (pow.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)))))
Compiler

Compiled 6709 to 3986 computations (40.6% saved)

localize24.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
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)))))
0.4b
(/.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))
1.0b
(pow.f64 (exp.f64 x) x)

series30.0ms (0.4%)

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)))))
13.0ms
(/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2)))

rewrite66.0ms (1%)

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:

65.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)))))
65.0ms
(/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2)))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02561
156955
2493555
3499055

simplify94.0ms (1.4%)

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
31884607
42861597
53771597
64288597
74553597
84901597

prune189.0ms (2.7%)

Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New1239132
Fresh81523
Picked101
Done000
Total13224156
Error
0.3b
Counts
156 → 24
Alt Table
StatusErrorProgram
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)))))
1.1b
(/.f64 (*.f64 (/.f64 (pow.f64 (exp.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))
1.5b
(*.f64 (/.f64 (*.f64 (/.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (cbrt.f64 (PI.f64))) (/.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (cbrt.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)))))
3.1b
(*.f64 (/.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 x) (sqrt.f64 x)) (sqrt.f64 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.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 (exp.f64 (log1p.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))) 1))))
1.5b
(*.f64 (/.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (pow.f64 (PI.f64) 1/4)) (/.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (pow.f64 (PI.f64) 1/4))) (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.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.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.6b
(*.f64 (/.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) 1) (/.f64 (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.5b
(*.f64 (/.f64 (*.f64 (/.f64 1 (cbrt.f64 (PI.f64))) (/.f64 (pow.f64 (exp.f64 x) x) (cbrt.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 (exp.f64 (fma.f64 x x (*.f64 -1/2 (log.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.9b
(*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) 2) (*.f64 (cbrt.f64 (exp.f64 (*.f64 x x))) (pow.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.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.2b
(*.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (sqrt.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 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
(*.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.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.1b
(*.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 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))))))))
2.7b
(*.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 (pow.f64 (cbrt.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) 2) (*.f64 (cbrt.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2)) (pow.f64 x -2))))))
1.6b
(*.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) 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)))))
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 (exp.f64 (log1p.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))) 1))))
1.6b
(*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64)))) 2) (cbrt.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.5b
(*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (pow.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)))))
Compiler

Compiled 6568 to 4160 computations (36.7% saved)

localize25.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (pow.f64 (exp.f64 x) x) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2)))
0.4b
(expm1.f64 (*.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 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))

series169.0ms (2.4%)

Counts
2 → 24
Calls

2 calls:

165.0ms
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))
3.0ms
(expm1.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))

rewrite60.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
419×log-prod_binary64
264×pow2_binary64
194×fma-def_binary64
185×expm1-udef_binary64
184×log1p-udef_binary64
Counts
2 → 94
Calls

2 calls:

58.0ms
(expm1.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))
58.0ms
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01230
122730
2243630
3485230

simplify75.0ms (1.1%)

Algorithm
egg-herbie
Rules
724×associate-/l*_binary64
563×fma-def_binary64
540×associate-*l/_binary64
455×associate-*r/_binary64
434×unswap-sqr_binary64
Counts
118 → 107
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
039394
195394
2184394
3396370
41225370
54133368
64347362
74869362
84914362

prune272.0ms (3.9%)

Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New1567163
Fresh61723
Picked101
Done000
Total16324187
Error
0.2b
Counts
187 → 24
Alt Table
StatusErrorProgram
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)))))
1.1b
(/.f64 (*.f64 (/.f64 (pow.f64 (exp.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))
30.0b
(*.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 (+.f64 1 (+.f64 (fma.f64 (pow.f64 x -2) (fma.f64 (pow.f64 x -2) 7/8 1/2) (/.f64 19/48 (pow.f64 x 6))) (/.f64 145/384 (pow.f64 x 8))))))))
1.5b
(*.f64 (/.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (pow.f64 (PI.f64) 1/4)) (/.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (pow.f64 (PI.f64) 1/4))) (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.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.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 (+.f64 1 (fma.f64 (+.f64 1 (pow.f64 (expm1.f64 (*.f64 (pow.f64 x -2) (fma.f64 3/4 (pow.f64 x -2) 1/2))) 3)) (/.f64 1 (fma.f64 (expm1.f64 (*.f64 (pow.f64 x -2) (fma.f64 3/4 (pow.f64 x -2) 1/2))) (-.f64 (expm1.f64 (*.f64 (pow.f64 x -2) (fma.f64 3/4 (pow.f64 x -2) 1/2))) 1) 1)) -1))))))
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.6b
(*.f64 (/.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) 1) (/.f64 (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.1b
(*.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 (+.f64 1 (fma.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 x -2) (fma.f64 3/4 (pow.f64 x -2) 1/2)))) (sqrt.f64 (exp.f64 (*.f64 (pow.f64 x -2) (fma.f64 3/4 (pow.f64 x -2) 1/2)))) -1))))))
1.5b
(*.f64 (/.f64 (*.f64 (/.f64 1 (cbrt.f64 (PI.f64))) (/.f64 (pow.f64 (exp.f64 x) x) (cbrt.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 (exp.f64 (fma.f64 x x (*.f64 -1/2 (log.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.6b
(*.f64 (/.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) 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)))))
1.2b
(*.f64 (/.f64 (/.f64 (*.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (sqrt.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 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))))))))
1.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 (+.f64 1 (fma.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 x -2) (fma.f64 3/4 (pow.f64 x -2) 1/2)))) (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 x -2) (fma.f64 3/4 (pow.f64 x -2) 1/2)))) 2) -1))))))
1.5b
(*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (pow.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 (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)) (log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2))))))))
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.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.6b
(*.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 (+.f64 1 (+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 x -2) (fma.f64 3/4 (pow.f64 x -2) 1/2))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (expm1.f64 (*.f64 (pow.f64 x -2) (fma.f64 3/4 (pow.f64 x -2) 1/2))))))))))))
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 (exp.f64 (log1p.f64 (*.f64 (fma.f64 3/4 (pow.f64 x -2) 1/2) (pow.f64 x -2)))) 1))))
1.6b
(*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 (exp.f64 x) x) (sqrt.f64 (PI.f64)))) 2) (cbrt.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.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))))))))
Compiler

Compiled 7864 to 5661 computations (28% saved)

regimes1.4s (20.9%)

Accuracy

Total 0.9b remaining (70.9%)

Threshold costs 0.9b (70.9%)

Counts
272 → 1
Compiler

Compiled 30848 to 23610 computations (23.5% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02753
13553
23453

end837.0ms (12.1%)

Compiler

Compiled 1112 to 831 computations (25.3% saved)

Profiling

Loading profile data...