Details

Time bar (total: 1.1s)

analyze3.0ms (0.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
50%50%50%0%0%0%0%3
66.7%50%25%0%25%0%0%4
83.3%62.5%12.5%0%25%0%0%5
90.9%62.5%6.2%0%31.2%0%0%6
95.5%65.6%3.1%0%31.2%0%0%7
97.7%65.6%1.6%0%32.8%0%0%8
98.8%66.4%0.8%0%32.8%0%0%9
99.4%66.4%0.4%0%33.2%0%0%10
99.7%66.6%0.2%0%33.2%0%0%11
99.9%66.6%0.1%0%33.3%0%0%12
Compiler

Compiled 7 to 4 computations (42.9% saved)

sample557.0ms (49.5%)

Results
546.0ms8256×body256valid
0.0msbody256infinite
Bogosity

preprocess146.0ms (13%)

Algorithm
egg-herbie
Rules
1274×sqr-pow_binary64
676×cube-prod_binary64
666×pow-sqr_binary64
560×fabs-mul_binary64
373×unpow3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
047
154
274
3124
4174
5264
6474
71344
85004
911584
1012454
1113784
1215364
1317694
1420914
1525124
1630124
1736134
1843374
1946604
2049444
2151664
2253444
2354264
2463664
2573404
2678064
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(*.f64 (*.f64 x x) x)
Outputs
(*.f64 (*.f64 x x) x)
(*.f64 x (*.f64 x x))
(pow.f64 x 3)
Compiler

Compiled 7 to 4 computations (42.9% saved)

simplify140.0ms (12.4%)

Algorithm
egg-herbie
Rules
1274×sqr-pow_binary64
676×cube-prod_binary64
666×pow-sqr_binary64
560×fabs-mul_binary64
373×unpow3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
047
154
274
3124
4174
5264
6474
71344
85004
911584
1012454
1113784
1215364
1317694
1420914
1525124
1630124
1736134
1843374
1946604
2049444
2151664
2253444
2354264
2463664
2573404
2678064
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) x)
Outputs
(*.f64 (*.f64 x x) x)
(*.f64 x (*.f64 x x))
(pow.f64 x 3)

eval1.0ms (0%)

Compiler

Compiled 14 to 6 computations (57.1% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New123
Fresh011
Picked000
Done000
Total134
Error
0b
Counts
4 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(pow.f64 x 3)
0.1b
(*.f64 (*.f64 x x) x)
Compiler

Compiled 10 to 6 computations (40% saved)

localize4.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 x x) x)
Compiler

Compiled 10 to 3 computations (70% saved)

series2.0ms (0.2%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 (*.f64 x x) x)
1.0ms
x
@-inf
(*.f64 (*.f64 x x) x)
1.0ms
x
@inf
(*.f64 (*.f64 x x) x)

rewrite34.0ms (3.1%)

Algorithm
batch-egg-rewrite
Rules
339×associate-*l*_binary64
313×pow1_binary64
302×add-sqr-sqrt_binary64
293×*-un-lft-identity_binary64
293×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044
1774
28844
Stop Event
node limit
Counts
1 → 28
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 (pow.f64 x 3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 x 3)) 2))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 (pow.f64 x 3)) 3) 1) (+.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) (+.f64 1 (pow.f64 x 3))) (+.f64 1 (*.f64 (+.f64 1 (pow.f64 x 3)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) (+.f64 1 (pow.f64 x 3))) 1) (+.f64 (+.f64 1 (pow.f64 x 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x x) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 6) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 9) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x) 9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 x) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 3/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 3) (log.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (*.f64 (log.f64 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 x) 3)) 2)) (cbrt.f64 (*.f64 (log.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (*.f64 (log.f64 x) 3))) (sqrt.f64 (*.f64 (log.f64 x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 x 6))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (pow.f64 x 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 x 9))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 x 9)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 x 3/2)) 2))))))

simplify37.0ms (3.3%)

Algorithm
egg-herbie
Rules
471×times-frac_binary64
340×fma-neg_binary64
335×distribute-rgt-out_binary64
326×associate-/l*_binary64
285×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
078255
1185252
2554248
32750248
Stop Event
node limit
Counts
40 → 33
Calls
Call 1
Inputs
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(+.f64 (+.f64 1 (pow.f64 x 3)) -1)
(+.f64 0 (pow.f64 x 3))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 x 3)) 2))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 3)))))
(-.f64 (+.f64 1 (pow.f64 x 3)) 1)
(/.f64 (-.f64 (pow.f64 (+.f64 1 (pow.f64 x 3)) 3) 1) (+.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) (+.f64 1 (pow.f64 x 3))) (+.f64 1 (*.f64 (+.f64 1 (pow.f64 x 3)) 1))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) (+.f64 1 (pow.f64 x 3))) 1) (+.f64 (+.f64 1 (pow.f64 x 3)) 1))
(pow.f64 x 3)
(pow.f64 (*.f64 x x) 3/2)
(pow.f64 (pow.f64 x 3) 1)
(pow.f64 (pow.f64 x 6) 1/2)
(pow.f64 (pow.f64 x 9) 1/3)
(pow.f64 (cbrt.f64 x) 9)
(pow.f64 (sqrt.f64 x) 6)
(pow.f64 (pow.f64 x 3/2) 2)
(pow.f64 (exp.f64 3) (log.f64 x))
(pow.f64 (E.f64) (*.f64 (log.f64 x) 3))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 x) 3)) 2)) (cbrt.f64 (*.f64 (log.f64 x) 3)))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 (log.f64 x) 3))) (sqrt.f64 (*.f64 (log.f64 x) 3)))
(sqrt.f64 (pow.f64 x 6))
(fabs.f64 (pow.f64 x 3))
(log.f64 (exp.f64 (pow.f64 x 3)))
(cbrt.f64 (pow.f64 x 9))
(expm1.f64 (log1p.f64 (pow.f64 x 3)))
(log1p.f64 (expm1.f64 (pow.f64 x 3)))
(exp.f64 (*.f64 (log.f64 x) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 x 9)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 x 3/2)) 2))
Outputs
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 x 3)
(+.f64 (+.f64 1 (pow.f64 x 3)) -1)
(pow.f64 x 3)
(+.f64 0 (pow.f64 x 3))
(pow.f64 x 3)
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 x 3)) 2))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 3)))))
(pow.f64 x 3)
(-.f64 (+.f64 1 (pow.f64 x 3)) 1)
(pow.f64 x 3)
(/.f64 (-.f64 (pow.f64 (+.f64 1 (pow.f64 x 3)) 3) 1) (+.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) (+.f64 1 (pow.f64 x 3))) (+.f64 1 (*.f64 (+.f64 1 (pow.f64 x 3)) 1))))
(/.f64 (+.f64 (pow.f64 (+.f64 (pow.f64 x 3) 1) 3) -1) (fma.f64 (+.f64 (pow.f64 x 3) 1) (+.f64 (pow.f64 x 3) 1) (+.f64 1 (+.f64 (pow.f64 x 3) 1))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (pow.f64 x 3) 1) 3)) (fma.f64 (+.f64 (pow.f64 x 3) 1) (+.f64 (pow.f64 x 3) 1) (+.f64 (pow.f64 x 3) 2)))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (pow.f64 x 3) 1) 3)) (+.f64 1 (*.f64 (+.f64 (pow.f64 x 3) 1) (+.f64 (pow.f64 x 3) 2))))
(/.f64 (-.f64 (*.f64 (+.f64 1 (pow.f64 x 3)) (+.f64 1 (pow.f64 x 3))) 1) (+.f64 (+.f64 1 (pow.f64 x 3)) 1))
(pow.f64 x 3)
(pow.f64 x 3)
(pow.f64 (*.f64 x x) 3/2)
(pow.f64 x 3)
(pow.f64 (pow.f64 x 3) 1)
(pow.f64 x 3)
(pow.f64 (pow.f64 x 6) 1/2)
(pow.f64 x 3)
(pow.f64 (pow.f64 x 9) 1/3)
(pow.f64 x 3)
(pow.f64 (cbrt.f64 x) 9)
(pow.f64 (sqrt.f64 x) 6)
(pow.f64 x 3)
(pow.f64 (pow.f64 x 3/2) 2)
(pow.f64 x 3)
(pow.f64 (exp.f64 3) (log.f64 x))
(pow.f64 x 3)
(pow.f64 (E.f64) (*.f64 (log.f64 x) 3))
(pow.f64 x 3)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 x) 3)) 2)) (cbrt.f64 (*.f64 (log.f64 x) 3)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 3 (log.f64 x))) 2)) (cbrt.f64 (*.f64 3 (log.f64 x))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 (log.f64 x) 3))) (sqrt.f64 (*.f64 (log.f64 x) 3)))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 3 (log.f64 x)))) (sqrt.f64 (*.f64 3 (log.f64 x))))
(sqrt.f64 (pow.f64 x 6))
(pow.f64 x 3)
(fabs.f64 (pow.f64 x 3))
(pow.f64 x 3)
(log.f64 (exp.f64 (pow.f64 x 3)))
(pow.f64 x 3)
(cbrt.f64 (pow.f64 x 9))
(pow.f64 x 3)
(expm1.f64 (log1p.f64 (pow.f64 x 3)))
(pow.f64 x 3)
(log1p.f64 (expm1.f64 (pow.f64 x 3)))
(pow.f64 x 3)
(exp.f64 (*.f64 (log.f64 x) 3))
(pow.f64 x 3)
(exp.f64 (*.f64 (log.f64 (pow.f64 x 9)) 1/3))
(pow.f64 x 3)
(exp.f64 (*.f64 (log.f64 (pow.f64 x 3/2)) 2))
(pow.f64 x 3)

localize3.0ms (0.2%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

eval9.0ms (0.8%)

Compiler

Compiled 322 to 259 computations (19.6% saved)

prune5.0ms (0.4%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New33033
Fresh000
Picked011
Done011
Total33235
Error
0b
Counts
35 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(pow.f64 x 3)
0.1b
(*.f64 (*.f64 x x) x)
Compiler

Compiled 10 to 6 computations (40% saved)

regimes6.0ms (0.5%)

Accuracy

Total -0.1b remaining (-∞%)

Threshold costs -0.1b (-∞%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) x)
(pow.f64 x 3)
Outputs
(pow.f64 x 3)
Calls

2 calls:

3.0ms
x
2.0ms
(*.f64 (*.f64 x x) x)
Results
ErrorSegmentsBranch
0b1x
0b1(*.f64 (*.f64 x x) x)
Compiler

Compiled 17 to 9 computations (47.1% saved)

simplify2.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
1711
Stop Event
done
saturated
Calls
Call 1
Inputs
(pow.f64 x 3)
(*.f64 (*.f64 x x) x)
Outputs
(pow.f64 x 3)
(*.f64 (*.f64 x x) x)
(*.f64 x (*.f64 x x))
Compiler

Compiled 10 to 6 computations (40% saved)

soundness163.0ms (14.5%)

Algorithm
egg-herbie
Rules
1274×sqr-pow_binary64
676×cube-prod_binary64
666×pow-sqr_binary64
560×fabs-mul_binary64
373×unpow3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
047
154
274
3124
4174
5264
6474
71344
85004
911584
1012454
1113784
1215364
1317694
1420914
1525124
1630124
1736134
1843374
1946604
2049444
2151664
2253444
2354264
2463664
2573404
2678064
Stop Event
node limit
Compiler

Compiled 10 to 6 computations (40% saved)

end15.0ms (1.3%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

Profiling

Loading profile data...