Details

Time bar (total: 5.9s)

analyze15.0ms (0.3%)

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

Compiled 107 to 71 computations (33.6% saved)

sample2.8s (47.9%)

Results
2.7s8256×body128valid
102.0ms310×body128invalid

preprocess69.0ms (1.2%)

Algorithm
egg-herbie
Rules
305×rule-*a*bc-*b*ac_binary64
269×rule-*a/cb-/a/bc_binary64
264×fma-def_binary64
184×fma-neg_binary64
181×rule-*a-bc-*nega-cb_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035118
121774
280268
3490868
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(*.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))))))
Outputs
(*.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))))))
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (exp.f64 (fabs.f64 (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 1/2 (/.f64 (/.f64 (/.f64 1 (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 3/4 (/.f64 (/.f64 (/.f64 (/.f64 (/.f64 1 (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 15/8 (/.f64 (/.f64 (/.f64 (/.f64 (/.f64 (/.f64 (/.f64 1 (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))
(*.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fma.f64 15/8 (/.f64 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 3) (*.f64 x x)) (*.f64 x x)) (fma.f64 3/4 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 3) (*.f64 x x)) (fma.f64 1/2 (pow.f64 (/.f64 1 (fabs.f64 x)) 3) (/.f64 1 (fabs.f64 x))))))
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
Compiler

Compiled 104 to 69 computations (33.7% saved)

simplify47.0ms (0.8%)

Algorithm
egg-herbie
Rules
305×rule-*a*bc-*b*ac_binary64
269×rule-*a/cb-/a/bc_binary64
264×fma-def_binary64
184×fma-neg_binary64
181×rule-*a-bc-*nega-cb_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
035118
121774
280268
3490868
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(*.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))))))
Outputs
(*.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))))))
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (PI.f64))) (exp.f64 (fabs.f64 (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 1/2 (/.f64 (/.f64 (/.f64 1 (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 3/4 (/.f64 (/.f64 (/.f64 (/.f64 (/.f64 1 (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))) (*.f64 15/8 (/.f64 (/.f64 (/.f64 (/.f64 (/.f64 (/.f64 (/.f64 1 (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)) (fabs.f64 x)))))
(*.f64 (/.f64 (exp.f64 (*.f64 x x)) (sqrt.f64 (PI.f64))) (fma.f64 15/8 (/.f64 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 3) (*.f64 x x)) (*.f64 x x)) (fma.f64 3/4 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 3) (*.f64 x x)) (fma.f64 1/2 (pow.f64 (/.f64 1 (fabs.f64 x)) 3) (/.f64 1 (fabs.f64 x))))))
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))

prune8.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
1.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
2.7b
(*.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))))))
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
Compiler

Compiled 443 to 293 computations (33.9% saved)

localize25.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))
0.9b
(pow.f64 (/.f64 1 (fabs.f64 x)) 4)
1.0b
(sqrt.f64 (PI.f64))
1.0b
(pow.f64 (exp.f64 x) x)

series14.0ms (0.2%)

Counts
4 → 36
Calls

9 calls:

TimeVariablePointExpression
3.0ms
x
@inf
(pow.f64 (exp.f64 x) x)
3.0ms
x
@-inf
(/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))
2.0ms
x
@-inf
(pow.f64 (/.f64 1 (fabs.f64 x)) 4)
1.0ms
x
@0
(/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))
1.0ms
x
@inf
(/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))

rewrite54.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
254×rule-*aa-fabs*aa_binary64
198×rule-nega-/a-1_binary64
197×rule-nega--0a_binary64
197×rule-nega-*a-1_binary64
135×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01334
132921
2418921
Stop Event
node limit
Counts
4 → 142
Calls
Call 1
Inputs
(pow.f64 (exp.f64 x) x)
(sqrt.f64 (PI.f64))
(pow.f64 (/.f64 1 (fabs.f64 x)) 4)
(/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (exp.f64 x) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (exp.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (log1p.f64 (pow.f64 (exp.f64 x) x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 (exp.f64 x) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (pow.f64 (exp.f64 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (exp.f64 x) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 (exp.f64 x) x) (pow.f64 (exp.f64 x) x)) (pow.f64 (exp.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (exp.f64 x) x) (pow.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (exp.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (exp.f64 x) x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (cbrt.f64 (pow.f64 (exp.f64 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (sqrt.f64 (pow.f64 (exp.f64 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (exp.f64 x) x) (pow.f64 (exp.f64 x) x)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 x)) 2) x) (pow.f64 (cbrt.f64 (exp.f64 x)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (pow.f64 (sqrt.f64 (exp.f64 x)) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (exp.f64 x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (exp.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (exp.f64 x) x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 3) (pow.f64 (exp.f64 x) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 (exp.f64 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 (exp.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (exp.f64 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (exp.f64 x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (exp.f64 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (exp.f64 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (exp.f64 x) x) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (cbrt.f64 (pow.f64 (exp.f64 x) x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (sqrt.f64 (pow.f64 (exp.f64 x) x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 x x))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (PI.f64)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (log1p.f64 (sqrt.f64 (PI.f64)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (PI.f64)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sqrt.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (PI.f64)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (sqrt.f64 (PI.f64)) (sqrt.f64 (PI.f64))) (sqrt.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (PI.f64)) (pow.f64 1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (PI.f64))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (PI.f64)) (cbrt.f64 (sqrt.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (PI.f64))) (cbrt.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (PI.f64) 1/4) (pow.f64 (PI.f64) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (PI.f64)) 2)) (sqrt.f64 (cbrt.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (PI.f64)) (sqrt.f64 (PI.f64))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (PI.f64)) 2) 1/2) (pow.f64 (cbrt.f64 (PI.f64)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 (PI.f64))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (PI.f64) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (PI.f64)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (PI.f64) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (PI.f64))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (PI.f64) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (PI.f64)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (PI.f64)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (PI.f64) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (PI.f64)) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (PI.f64)) (cbrt.f64 (sqrt.f64 (PI.f64))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (PI.f64) 1/4) (pow.f64 (PI.f64) 1/4) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 x -4) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (log1p.f64 (pow.f64 x -4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (pow.f64 x -4) (neg.f64 (*.f64 -2 (neg.f64 (pow.f64 x -4))))) (*.f64 (pow.f64 x -4) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 x -4) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (pow.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -2 (neg.f64 (pow.f64 x -4))) (pow.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 x -4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 x -4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 16 (pow.f64 (/.f64 1/2 x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 x -4)) (pow.f64 (cbrt.f64 (pow.f64 x -4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 x -4)) 2) (cbrt.f64 (pow.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (neg.f64 (pow.f64 x -4))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -2) (pow.f64 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 x -2)) 4) (pow.f64 (/.f64 1 (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 x -1/2) 4) (pow.f64 (pow.f64 x -1/2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 x -4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 x -4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (pow.f64 x -4) 3) (pow.f64 (/.f64 1 x) 8))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 1 x) 8))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 x -4))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 x -4) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 x -4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x -4) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (pow.f64 x -4)) 2) (cbrt.f64 (pow.f64 x -4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x -2) (pow.f64 x -2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 x -4)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (pow.f64 x -2) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (pow.f64 x -2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (log1p.f64 (pow.f64 (pow.f64 x -2) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 (pow.f64 x -2) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (pow.f64 (pow.f64 x -2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (pow.f64 x -2) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 (pow.f64 x -2) 3) (pow.f64 (pow.f64 x -2) 3)) (pow.f64 (pow.f64 x -2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (pow.f64 x -2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -4) (pow.f64 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -4) (/.f64 1 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 x -2) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (pow.f64 x -2) 3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 x -4)) (/.f64 (pow.f64 (cbrt.f64 (pow.f64 x -4)) 2) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 x -2) x) (/.f64 (pow.f64 x -2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2 (neg.f64 (pow.f64 x -4))) (/.f64 1/2 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 x x)) (*.f64 -2 (neg.f64 (pow.f64 x -4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 x -4) x) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -2) (pow.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -2) (/.f64 (pow.f64 x -2) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (pow.f64 x -2) 3) (pow.f64 (pow.f64 x -2) 3)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (pow.f64 x -4) x) (/.f64 (pow.f64 x -4) x)) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 x -2) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (pow.f64 x -2) 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 x -2) x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x -2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 (pow.f64 x -2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 x -4) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 (pow.f64 x -2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (pow.f64 x -2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (pow.f64 x -2) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (pow.f64 x -2) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (pow.f64 x -4) 3) (pow.f64 (*.f64 x x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (pow.f64 x -2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (pow.f64 x -2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x -4) (pow.f64 x -2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (pow.f64 x -2) 3) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 x -2) x) (/.f64 (pow.f64 x -2) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 (neg.f64 (pow.f64 x -4))) (/.f64 1/2 (*.f64 x x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (pow.f64 x -2) 3)))))))

simplify38.0ms (0.6%)

Algorithm
egg-herbie
Rules
377×rule-a-*a1_binary64
377×rule-a--a0_binary64
377×rule-a-+a0_binary64
377×rule-a-/a1_binary64
336×rule-/ab-*+aa/1/2b_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
024383
1155377
2485253
32252253
Stop Event
node limit
Counts
178 → 155
Calls
Call 1
Inputs
1
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (+.f64 (pow.f64 x 2) (*.f64 1/2 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (*.f64 1/2 (pow.f64 x 4)))))
(exp.f64 (pow.f64 x 2))
(exp.f64 (pow.f64 x 2))
(exp.f64 (pow.f64 x 2))
(exp.f64 (pow.f64 x 2))
(exp.f64 (pow.f64 x 2))
(exp.f64 (pow.f64 x 2))
(exp.f64 (pow.f64 x 2))
(exp.f64 (pow.f64 x 2))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
Outputs
1
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (*.f64 x x))
(fma.f64 x x 1)
(+.f64 1 (+.f64 (pow.f64 x 2) (*.f64 1/2 (pow.f64 x 4))))
(+.f64 1 (+.f64 (*.f64 x x) (*.f64 1/2 (pow.f64 x 4))))
(+.f64 (*.f64 1/2 (pow.f64 x 4)) (fma.f64 x x 1))
(fma.f64 x x (fma.f64 1/2 (pow.f64 x 4) 1))
(+.f64 1 (+.f64 (*.f64 1/6 (pow.f64 x 6)) (+.f64 (pow.f64 x 2) (*.f64 1/2 (pow.f64 x 4)))))
(+.f64 1 (fma.f64 1/6 (pow.f64 x 6) (+.f64 (*.f64 x x) (*.f64 1/2 (pow.f64 x 4)))))
(fma.f64 1/6 (pow.f64 x 6) (+.f64 (*.f64 1/2 (pow.f64 x 4)) (fma.f64 x x 1)))
(fma.f64 x x (fma.f64 1/6 (pow.f64 x 6) (fma.f64 1/2 (pow.f64 x 4) 1)))
(exp.f64 (pow.f64 x 2))
(exp.f64 (*.f64 x x))
(pow.f64 (exp.f64 x) x)
(exp.f64 (pow.f64 x 2))
(exp.f64 (*.f64 x x))
(pow.f64 (exp.f64 x) x)
(exp.f64 (pow.f64 x 2))
(exp.f64 (*.f64 x x))
(pow.f64 (exp.f64 x) x)
(exp.f64 (pow.f64 x 2))
(exp.f64 (*.f64 x x))
(pow.f64 (exp.f64 x) x)
(exp.f64 (pow.f64 x 2))
(exp.f64 (*.f64 x x))
(pow.f64 (exp.f64 x) x)
(exp.f64 (pow.f64 x 2))
(exp.f64 (*.f64 x x))
(pow.f64 (exp.f64 x) x)
(exp.f64 (pow.f64 x 2))
(exp.f64 (*.f64 x x))
(pow.f64 (exp.f64 x) x)
(exp.f64 (pow.f64 x 2))
(exp.f64 (*.f64 x x))
(pow.f64 (exp.f64 x) x)
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 x 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 x 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 x 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 x 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 x 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 x 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 x 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 x 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 x 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 x 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 x 4))
(/.f64 1 (pow.f64 (fabs.f64 x) 4))
(/.f64 1 (pow.f64 x 4))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (*.f64 x x) (pow.f64 (fabs.f64 x) 4)))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (*.f64 x x) (pow.f64 (fabs.f64 x) 4)))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (*.f64 x x) (pow.f64 (fabs.f64 x) 4)))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (*.f64 x x) (pow.f64 (fabs.f64 x) 4)))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (*.f64 x x) (pow.f64 (fabs.f64 x) 4)))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (*.f64 x x) (pow.f64 (fabs.f64 x) 4)))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (*.f64 x x) (pow.f64 (fabs.f64 x) 4)))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (*.f64 x x) (pow.f64 (fabs.f64 x) 4)))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (*.f64 x x) (pow.f64 (fabs.f64 x) 4)))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (*.f64 x x) (pow.f64 (fabs.f64 x) 4)))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (*.f64 x x) (pow.f64 (fabs.f64 x) 4)))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (*.f64 (pow.f64 (fabs.f64 x) 4) (pow.f64 x 2)))
(/.f64 1 (*.f64 (*.f64 x x) (pow.f64 (fabs.f64 x) 4)))
(/.f64 1 (pow.f64 x 6))

prune477.0ms (8%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New17515190
Fresh011
Picked101
Done000
Total17616192
Error
0.4b
Counts
192 → 16
Alt Table
StatusErrorProgram
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (log.f64 (exp.f64 (pow.f64 (pow.f64 x -2) 3)))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.6b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.5b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (*.f64 (cbrt.f64 (PI.f64)) (cbrt.f64 (sqrt.f64 (PI.f64))))))
2.6b
(*.f64 (exp.f64 (pow.f64 x 2)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.7b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (pow.f64 (sqrt.f64 (exp.f64 x)) x)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
5.3b
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 x x))) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
8.1b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 3)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
2.7b
(*.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.8b
(*.f64 (+.f64 (exp.f64 (log1p.f64 (pow.f64 (exp.f64 x) x))) -1) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.4b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (cbrt.f64 (pow.f64 (PI.f64) 3/2))))
1.9b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (pow.f64 (cbrt.f64 (sqrt.f64 (PI.f64))) 3)))
1.2b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (/.f64 (pow.f64 (pow.f64 x -4) 3) (pow.f64 (/.f64 1 x) 8)) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
2.7b
(*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 x)) 2) x) (pow.f64 (cbrt.f64 (exp.f64 x)) x)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (expm1.f64 (log1p.f64 (pow.f64 x -4))) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.3b
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (exp.f64 x) x)) (sqrt.f64 (pow.f64 (exp.f64 x) x))) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
Compiler

Compiled 10149 to 5932 computations (41.6% saved)

localize26.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series7.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
3.0ms
x
@0
(/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64)))
2.0ms
x
@-inf
(/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64)))
2.0ms
x
@inf
(/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64)))

rewrite32.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
285×add-log-exp_binary64
285×pow1_binary64
285×log1p-expm1-u_binary64
285×expm1-log1p-u_binary64
285×rules-30_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02558
169158
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))) (/.f64 (/.f64 (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4)) (fabs.f64 x)) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))) (sqrt.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x))) (/.f64 1/2 (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))) (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))) (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))))))))

simplify41.0ms (0.7%)

Algorithm
egg-herbie
Rules
567×rule-a-*a1_binary64
567×rule-a--a0_binary64
567×rule-a-+a0_binary64
565×rule-a-/a1_binary64
179×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
025606
1165543
2581459
33277459
Stop Event
node limit
Counts
27 → 21
Calls
Call 1
Inputs
(*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
Outputs
(*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64))))
(*.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (sqrt.f64 (/.f64 1 (PI.f64))))
(/.f64 (+.f64 (/.f64 1/2 x) (/.f64 15/8 (pow.f64 x 5))) (/.f64 (*.f64 x x) (sqrt.f64 (/.f64 1 (PI.f64)))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(fma.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5))) (sqrt.f64 (/.f64 1 (PI.f64))) (*.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 (+.f64 (/.f64 1/2 x) (/.f64 15/8 (pow.f64 x 5))) (*.f64 x x)) (/.f64 3/4 (pow.f64 x 5)))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(fma.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5))) (sqrt.f64 (/.f64 1 (PI.f64))) (*.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 (+.f64 (/.f64 1/2 x) (/.f64 15/8 (pow.f64 x 5))) (*.f64 x x)) (/.f64 3/4 (pow.f64 x 5)))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(fma.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5))) (sqrt.f64 (/.f64 1 (PI.f64))) (*.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 (+.f64 (/.f64 1/2 x) (/.f64 15/8 (pow.f64 x 5))) (*.f64 x x)) (/.f64 3/4 (pow.f64 x 5)))))
(*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 1 x) (/.f64 3/4 (pow.f64 x 5))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(fma.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5))) (sqrt.f64 (/.f64 1 (PI.f64))) (*.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 (+.f64 (/.f64 1/2 x) (/.f64 15/8 (pow.f64 x 5))) (*.f64 x x)) (/.f64 3/4 (pow.f64 x 5)))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(fma.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5))) (sqrt.f64 (/.f64 1 (PI.f64))) (*.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 (+.f64 (/.f64 1/2 x) (/.f64 15/8 (pow.f64 x 5))) (*.f64 x x)) (/.f64 3/4 (pow.f64 x 5)))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(fma.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5))) (sqrt.f64 (/.f64 1 (PI.f64))) (*.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 (+.f64 (/.f64 1/2 x) (/.f64 15/8 (pow.f64 x 5))) (*.f64 x x)) (/.f64 3/4 (pow.f64 x 5)))))
(*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 1 x) (/.f64 3/4 (pow.f64 x 5))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(fma.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5))) (sqrt.f64 (/.f64 1 (PI.f64))) (*.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 (+.f64 (/.f64 1/2 x) (/.f64 15/8 (pow.f64 x 5))) (*.f64 x x)) (/.f64 3/4 (pow.f64 x 5)))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(fma.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5))) (sqrt.f64 (/.f64 1 (PI.f64))) (*.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 (+.f64 (/.f64 1/2 x) (/.f64 15/8 (pow.f64 x 5))) (*.f64 x x)) (/.f64 3/4 (pow.f64 x 5)))))
(+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(fma.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5))) (sqrt.f64 (/.f64 1 (PI.f64))) (*.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (sqrt.f64 (/.f64 1 (PI.f64)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 (+.f64 (/.f64 1/2 (fabs.f64 x)) (/.f64 15/8 (pow.f64 (fabs.f64 x) 5))) (*.f64 x x)) (+.f64 (/.f64 1 (fabs.f64 x)) (/.f64 3/4 (pow.f64 (fabs.f64 x) 5)))))
(*.f64 (sqrt.f64 (/.f64 1 (PI.f64))) (+.f64 (/.f64 1 x) (+.f64 (/.f64 (+.f64 (/.f64 1/2 x) (/.f64 15/8 (pow.f64 x 5))) (*.f64 x x)) (/.f64 3/4 (pow.f64 x 5)))))

prune426.0ms (7.2%)

Pruning

20 alts after pruning (19 fresh and 1 done)

PrunedKeptTotal
New1659174
Fresh51015
Picked011
Done000
Total17020190
Error
0.3b
Counts
190 → 20
Alt Table
StatusErrorProgram
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (log.f64 (exp.f64 (pow.f64 (pow.f64 x -2) 3)))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.6b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
2.6b
(*.f64 (exp.f64 (*.f64 x x)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.2b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (cbrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))) (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))) (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))))))
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (/.f64 (pow.f64 (pow.f64 x -4) 3) (pow.f64 (/.f64 1 x) 8)) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.7b
(*.f64 (pow.f64 (exp.f64 x) x) (log.f64 (exp.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))))))
1.5b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (*.f64 (cbrt.f64 (PI.f64)) (cbrt.f64 (sqrt.f64 (PI.f64))))))
1.7b
(*.f64 (pow.f64 (exp.f64 x) x) (*.f64 (*.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))))))
2.6b
(*.f64 (exp.f64 (pow.f64 x 2)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.7b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (pow.f64 (sqrt.f64 (exp.f64 x)) x)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
5.3b
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 x x))) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
8.1b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 3)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.5b
(*.f64 (fma.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (cbrt.f64 (pow.f64 (exp.f64 x) x)) 0) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.4b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (cbrt.f64 (pow.f64 (PI.f64) 3/2))))
1.9b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (pow.f64 (cbrt.f64 (sqrt.f64 (PI.f64))) 3)))
2.7b
(*.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 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 x)) 2) x) (pow.f64 (cbrt.f64 (exp.f64 x)) x)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.7b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (pow.f64 (sqrt.f64 (exp.f64 x)) x)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (pow.f64 x -2) 3))) 1)) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
Compiler

Compiled 10620 to 6523 computations (38.6% saved)

localize30.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.9b
(pow.f64 (/.f64 1 (fabs.f64 x)) 4)
1.0b
(sqrt.f64 (PI.f64))
1.0b
(pow.f64 (exp.f64 x) x)
1.5b
(pow.f64 (/.f64 1 x) 8)

series3.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(pow.f64 (/.f64 1 x) 8)
1.0ms
x
@-inf
(pow.f64 (/.f64 1 x) 8)
1.0ms
x
@inf
(pow.f64 (/.f64 1 x) 8)

rewrite34.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
594×rules-30_binary64
594×rules-31_binary64
594×rules-32_binary64
594×rules-33_binary64
547×rules-27_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
067
11554
218464
Stop Event
node limit
Counts
1 → 32
Calls
Call 1
Inputs
(pow.f64 (/.f64 1 x) 8)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 x -8) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 x -8))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 x -8) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (pow.f64 x -8)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 x -8))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 x -8) (pow.f64 x -8)) (pow.f64 x -8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 x -8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -8) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 x -8)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 x -8)) (cbrt.f64 (pow.f64 (pow.f64 x -2) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (pow.f64 x -2) 8)) (cbrt.f64 (pow.f64 x -8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -4) (pow.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x -8) (pow.f64 x -8)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 x -2)) 8) (pow.f64 (/.f64 1 (cbrt.f64 x)) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 x -1/2) 8) (pow.f64 (pow.f64 x -1/2) 8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 256 (pow.f64 (/.f64 1/2 x) 8))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 x -8) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 x -8)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (pow.f64 x -8) 3) (+.f64 (pow.f64 (pow.f64 x -2) 8) (+.f64 0 (*.f64 (pow.f64 x -8) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (pow.f64 x -8) 3) (+.f64 (pow.f64 (pow.f64 x -2) 8) (-.f64 0 (*.f64 (pow.f64 x -8) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 x -8)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (pow.f64 x -2) 8))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 x -8))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 x -8)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 x -8))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 x -8) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 x -8)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 x -8)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x -8) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (pow.f64 x -2) 8)) (cbrt.f64 (pow.f64 x -8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x -4) (pow.f64 x -4) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 x -8)))))))

simplify30.0ms (0.5%)

Algorithm
egg-herbie
Rules
333×rule-/ab-*+aa/1/2b_binary64
296×rule-a--a0_binary64
296×rule-a-+a0_binary64
295×rule-a-*a1_binary64
293×rule-a-/a1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0684
14184
211684
342984
4229084
Stop Event
node limit
Counts
44 → 33
Calls
Call 1
Inputs
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
Outputs
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))
(/.f64 1 (pow.f64 x 8))

prune273.0ms (4.6%)

Pruning

21 alts after pruning (19 fresh and 2 done)

PrunedKeptTotal
New1452147
Fresh11718
Picked011
Done011
Total14621167
Error
0.3b
Counts
167 → 21
Alt Table
StatusErrorProgram
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (log.f64 (exp.f64 (pow.f64 (pow.f64 x -2) 3)))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.6b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
2.6b
(*.f64 (exp.f64 (*.f64 x x)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.2b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (cbrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))) (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))) (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))))))
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (/.f64 (pow.f64 (pow.f64 x -4) 3) (pow.f64 (/.f64 1 x) 8)) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.7b
(*.f64 (pow.f64 (exp.f64 x) x) (log.f64 (exp.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))))))
1.5b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (*.f64 (cbrt.f64 (PI.f64)) (cbrt.f64 (sqrt.f64 (PI.f64))))))
1.7b
(*.f64 (pow.f64 (exp.f64 x) x) (*.f64 (*.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))))))
2.6b
(*.f64 (exp.f64 (pow.f64 x 2)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.7b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (pow.f64 (sqrt.f64 (exp.f64 x)) x)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
5.3b
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 x x))) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
8.0b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 3)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (/.f64 (pow.f64 (pow.f64 x -4) 3) (pow.f64 (/.f64 1 x) 8)) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.7b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (pow.f64 (sqrt.f64 (exp.f64 x)) x)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.4b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (/.f64 (pow.f64 (pow.f64 x -4) 3) (pow.f64 (/.f64 1 x) 8)) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (cbrt.f64 (pow.f64 (PI.f64) 3/2))))
8.1b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 3)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.5b
(*.f64 (fma.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (cbrt.f64 (pow.f64 (exp.f64 x) x)) 0) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.9b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (pow.f64 (cbrt.f64 (sqrt.f64 (PI.f64))) 3)))
2.7b
(*.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 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 x)) 2) x) (pow.f64 (cbrt.f64 (exp.f64 x)) x)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (-.f64 (exp.f64 (log1p.f64 (pow.f64 (pow.f64 x -2) 3))) 1)) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
Compiler

Compiled 9850 to 6101 computations (38.1% saved)

localize29.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.9b
(pow.f64 (/.f64 1 (fabs.f64 x)) 4)
1.0b
(sqrt.f64 (PI.f64))
1.0b
(pow.f64 (exp.f64 x) x)
10.1b
(log.f64 (exp.f64 (pow.f64 (pow.f64 x -2) 3)))

series3.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(log.f64 (exp.f64 (pow.f64 (pow.f64 x -2) 3)))
1.0ms
x
@0
(log.f64 (exp.f64 (pow.f64 (pow.f64 x -2) 3)))
1.0ms
x
@inf
(log.f64 (exp.f64 (pow.f64 (pow.f64 x -2) 3)))

rewrite38.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
716×rules-30_binary64
716×rules-31_binary64
716×rules-32_binary64
716×rules-33_binary64
657×rules-27_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
084
12034
222494
Stop Event
node limit
Counts
1 → 47
Calls
Call 1
Inputs
(log.f64 (exp.f64 (pow.f64 (pow.f64 x -2) 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 x -6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 x -6) (*.f64 (pow.f64 x -4) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 x -6))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x -6)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x -6)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x -6)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 x -6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 x -6) (*.f64 (pow.f64 x -4) 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (pow.f64 x -6)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 x -6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (pow.f64 x -6) (pow.f64 x -6)) (pow.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -2) (pow.f64 x -4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 x -6)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -4) (pow.f64 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 x -4)) (*.f64 (pow.f64 x -4) (cbrt.f64 (pow.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -3) (pow.f64 x -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) (*.f64 (pow.f64 x -4) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 x -4)) (neg.f64 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x -6) (pow.f64 x -6)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) -6) (pow.f64 (cbrt.f64 x) -6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 x) -6) (pow.f64 (sqrt.f64 x) -6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 x -4)) 3) (pow.f64 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1 x) 3) (pow.f64 (/.f64 1 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 x -6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 x -6)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (pow.f64 x -6) 3) (+.f64 (pow.f64 x -12) (+.f64 0 (*.f64 (pow.f64 x -6) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (pow.f64 x -6) 3) (+.f64 (pow.f64 x -12) (-.f64 0 (*.f64 (pow.f64 x -6) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 x -4) (/.f64 1 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x -6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x -2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x -6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 x -6) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x -4) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x -3) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 x -6)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 x -12))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 x -6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 x -6)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 x -6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x -2) (pow.f64 x -4) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x -6) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x -4) (pow.f64 x -2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x -3) (pow.f64 x -3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 -6 (log.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 x) -6))))))

simplify37.0ms (0.6%)

Algorithm
egg-herbie
Rules
484×rule-a--a0_binary64
484×rule-a-+a0_binary64
483×rule-a-*a1_binary64
481×rule-a-/a1_binary64
221×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0684
14184
212184
349584
4310684
Stop Event
node limit
Counts
59 → 48
Calls
Call 1
Inputs
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
Outputs
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))
(/.f64 1 (pow.f64 x 6))

prune345.0ms (5.8%)

Pruning

23 alts after pruning (20 fresh and 3 done)

PrunedKeptTotal
New1566162
Fresh41418
Picked011
Done022
Total16023183
Error
0.2b
Counts
183 → 23
Alt Table
StatusErrorProgram
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (log.f64 (exp.f64 (pow.f64 (pow.f64 x -2) 3)))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
2.6b
(*.f64 (exp.f64 (*.f64 x x)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.9b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (log.f64 (exp.f64 (pow.f64 (pow.f64 x -2) 3)))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (pow.f64 (cbrt.f64 (sqrt.f64 (PI.f64))) 3)))
1.9b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (pow.f64 (cbrt.f64 (sqrt.f64 (PI.f64))) 3)))
1.4b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (log.f64 (exp.f64 (pow.f64 (pow.f64 x -2) 3)))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (cbrt.f64 (pow.f64 (PI.f64) 3/2))))
1.2b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.4b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x -6)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x -6)))))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (cbrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))) (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))) (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))))))
1.3b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (/.f64 (pow.f64 (pow.f64 x -4) 3) (pow.f64 (/.f64 1 x) 8)) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.8b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 x -6))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x -6)))))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.7b
(*.f64 (pow.f64 (exp.f64 x) x) (log.f64 (exp.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))))))
1.5b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (*.f64 (cbrt.f64 (PI.f64)) (cbrt.f64 (sqrt.f64 (PI.f64))))))
1.7b
(*.f64 (pow.f64 (exp.f64 x) x) (*.f64 (*.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fma.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) 3/4))) (fabs.f64 x)) (/.f64 (PI.f64) (pow.f64 (PI.f64) 3/2))))))
1.7b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (pow.f64 (sqrt.f64 (exp.f64 x)) x)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.2b
(*.f64 (pow.f64 (exp.f64 x) x) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (log.f64 (exp.f64 (pow.f64 (pow.f64 x -2) 3)))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (exp.f64 (*.f64 (log.f64 (PI.f64)) 1/2))))
5.3b
(*.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (+.f64 x x))) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
8.0b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 3)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (/.f64 (pow.f64 (pow.f64 x -4) 3) (pow.f64 (/.f64 1 x) 8)) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
1.7b
(*.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 x)) x) (pow.f64 (sqrt.f64 (exp.f64 x)) x)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
8.1b
(*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 x) x) 3)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.5b
(*.f64 (fma.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (cbrt.f64 (pow.f64 (exp.f64 x) x)) 0) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
2.7b
(*.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 (pow.f64 (pow.f64 (cbrt.f64 (exp.f64 x)) 2) x) (pow.f64 (cbrt.f64 (exp.f64 x)) x)) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (/.f64 (pow.f64 (/.f64 1 (fabs.f64 x)) 4) (*.f64 x x))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (/.f64 (pow.f64 (PI.f64) 3/2) (PI.f64))))
1.6b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) x)) 2) (cbrt.f64 (pow.f64 (exp.f64 x) x))) (/.f64 (+.f64 (/.f64 (+.f64 1 (/.f64 1/2 (*.f64 x x))) (fabs.f64 x)) (/.f64 (+.f64 (*.f64 15/8 (log.f64 (exp.f64 (pow.f64 (pow.f64 x -2) 3)))) (*.f64 3/4 (pow.f64 (/.f64 1 (fabs.f64 x)) 4))) (fabs.f64 x))) (sqrt.f64 (PI.f64))))
Compiler

Compiled 8162 to 5099 computations (37.5% saved)

regimes318.0ms (5.4%)

Accuracy

Total -10.0b remaining (-792.5%)

Threshold costs -10.0b (-792.5%)

Counts
121 → 1
Compiler

Compiled 5676 to 3307 computations (41.7% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02877
13077
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (pow.f64 (exp.f64 x) x) (+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64))))))
Outputs
(*.f64 (pow.f64 (exp.f64 x) x) (+.f64 (*.f64 (+.f64 (/.f64 1 (fabs.f64 x)) (*.f64 3/4 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (sqrt.f64 (/.f64 1 (PI.f64)))) (*.f64 (/.f64 (+.f64 (*.f64 1/2 (/.f64 1 (fabs.f64 x))) (*.f64 15/8 (/.f64 1 (pow.f64 (fabs.f64 x) 5)))) (pow.f64 x 2)) (sqrt.f64 (/.f64 1 (PI.f64))))))

end671.0ms (11.3%)

Stop Event
fuel
Compiler

Compiled 1389 to 842 computations (39.4% saved)

Profiling

Loading profile data...