math.cube on real

Details

Time bar (total: 1.8s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
100%100%0%0%0%0%0%1
Compiler

Compiled 7 to 4 computations (42.9% saved)

sample543.0ms (29.8%)

Results
349.0ms5489×body256valid
185.0ms2767×body256infinite
Bogosity

preprocess269.0ms (14.8%)

Algorithm
egg-herbie
Rules
3406×sqr-pow
1566×cube-prod
1330×pow-sqr
852×unpow3
736×cube-mult
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0513
167
287
3137
4187
5277
6487
71327
84957
911557
1012427
1113757
1215337
1317667
1420777
1524847
1629657
1735327
1842127
1944837
2047237
2149037
2250337
2351037
2460177
2569847
2673687
2776727
2878807
2979007
3079007
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)

simplify265.0ms (14.5%)

Algorithm
egg-herbie
Rules
3406×sqr-pow
1566×cube-prod
1330×pow-sqr
852×unpow3
736×cube-mult
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0513
167
287
3137
4187
5277
6487
71327
84957
911557
1012427
1113757
1215337
1317667
1420777
1524847
1629657
1735327
1842127
1944837
2047237
2149037
2250337
2351037
2460177
2569847
2673687
2776727
2878807
2979007
3079007
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
Accurracy
100.0%
Counts
4 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x 3)
99.8%
(*.f64 (*.f64 x x) x)
Compiler

Compiled 10 to 6 computations (40% saved)

localize16.0ms (0.9%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
99.8%
(*.f64 (*.f64 x x) x)
Compiler

Compiled 11 to 4 computations (63.6% saved)

series6.0ms (0.3%)

Counts
1 → 12
Calls

3 calls:

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

rewrite53.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
820×pow1
788×add-sqr-sqrt
770×*-un-lft-identity
760×add-exp-log
760×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11007
211337
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) x)
Outputs
(+.f64 0 (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 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))) (cbrt.f64 (exp.f64 (pow.f64 x 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))
(-.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 (cbrt.f64 x) 9)
(pow.f64 (pow.f64 x 9) 1/3)
(pow.f64 (pow.f64 x 6) 1/2)
(pow.f64 (sqrt.f64 x) 6)
(pow.f64 (pow.f64 x 3/2) 2)
(sqrt.f64 (pow.f64 x 6))
(log.f64 (exp.f64 (pow.f64 x 3)))
(cbrt.f64 (pow.f64 x 9))
(expm1.f64 (log1p.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 (*.f64 3/2 (log.f64 x)) 2))
(log1p.f64 (expm1.f64 (pow.f64 x 3)))

simplify60.0ms (3.3%)

Algorithm
egg-herbie
Rules
1268×unswap-sqr
908×fma-def
760×log-prod
472×exp-prod
444×fma-neg
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
055284
1114270
2268246
3993246
44597246
57758246
Stop Event
node limit
Counts
32 → 22
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 0 (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 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))) (cbrt.f64 (exp.f64 (pow.f64 x 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))
(-.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 (cbrt.f64 x) 9)
(pow.f64 (pow.f64 x 9) 1/3)
(pow.f64 (pow.f64 x 6) 1/2)
(pow.f64 (sqrt.f64 x) 6)
(pow.f64 (pow.f64 x 3/2) 2)
(sqrt.f64 (pow.f64 x 6))
(log.f64 (exp.f64 (pow.f64 x 3)))
(cbrt.f64 (pow.f64 x 9))
(expm1.f64 (log1p.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 (*.f64 3/2 (log.f64 x)) 2))
(log1p.f64 (expm1.f64 (pow.f64 x 3)))
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 0 (pow.f64 x 3))
(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 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))) (cbrt.f64 (exp.f64 (pow.f64 x 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))
(-.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 (cbrt.f64 x) 9)
(pow.f64 (pow.f64 x 9) 1/3)
(pow.f64 x 3)
(pow.f64 (pow.f64 x 6) 1/2)
(pow.f64 x 3)
(pow.f64 (sqrt.f64 x) 6)
(pow.f64 x 3)
(pow.f64 (pow.f64 x 3/2) 2)
(pow.f64 x 3)
(sqrt.f64 (pow.f64 x 6))
(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)
(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 (*.f64 3/2 (log.f64 x)) 2))
(pow.f64 x 3)
(log1p.f64 (expm1.f64 (pow.f64 x 3)))
(pow.f64 x 3)

localize18.0ms (1%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(pow.f64 x 3)
Compiler

Compiled 7 to 5 computations (28.6% saved)

series1.0ms (0.1%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(pow.f64 x 3)
0.0ms
x
@inf
(pow.f64 x 3)
0.0ms
x
@0
(pow.f64 x 3)

rewrite52.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
864×pow1
844×add-sqr-sqrt
820×*-un-lft-identity
808×add-exp-log
808×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11087
211427
Stop Event
node limit
Counts
1 → 25
Calls
Call 1
Inputs
(pow.f64 x 3)
Outputs
(+.f64 0 (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 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))) (cbrt.f64 (exp.f64 (pow.f64 x 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))
(-.f64 (+.f64 1 (pow.f64 x 3)) 1)
(*.f64 x (*.f64 x x))
(*.f64 (pow.f64 x 3) 1)
(*.f64 1 (pow.f64 x 3))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x x)))
(*.f64 (*.f64 x x) x)
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 x x)))
(*.f64 (pow.f64 x 3/2) (pow.f64 x 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) x)
(*.f64 (pow.f64 (sqrt.f64 x) 3) (pow.f64 (sqrt.f64 x) 3))
(*.f64 (*.f64 (*.f64 x x) 1) x)
(*.f64 (*.f64 (*.f64 x x) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (*.f64 x x) (sqrt.f64 x)) (sqrt.f64 x))
(sqrt.f64 (pow.f64 x 6))
(log.f64 (exp.f64 (pow.f64 x 3)))
(cbrt.f64 (pow.f64 (pow.f64 x 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 x 3)))
(exp.f64 (*.f64 3 (log.f64 x)))
(exp.f64 (*.f64 (*.f64 2 (log.f64 x)) 3/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (pow.f64 x 3) 3)) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 x) 3/2) 2))
(log1p.f64 (expm1.f64 (pow.f64 x 3)))

simplify68.0ms (3.7%)

Algorithm
egg-herbie
Rules
1676×fma-neg
1468×log-prod
1242×exp-prod
694×associate-*r*
684×log-pow
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
069231
1152217
2421193
32443193
46504193
Stop Event
node limit
Counts
25 → 28
Calls
Call 1
Inputs
(+.f64 0 (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 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))) (cbrt.f64 (exp.f64 (pow.f64 x 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))
(-.f64 (+.f64 1 (pow.f64 x 3)) 1)
(*.f64 x (*.f64 x x))
(*.f64 (pow.f64 x 3) 1)
(*.f64 1 (pow.f64 x 3))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x x)))
(*.f64 (*.f64 x x) x)
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 x x)))
(*.f64 (pow.f64 x 3/2) (pow.f64 x 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) x)
(*.f64 (pow.f64 (sqrt.f64 x) 3) (pow.f64 (sqrt.f64 x) 3))
(*.f64 (*.f64 (*.f64 x x) 1) x)
(*.f64 (*.f64 (*.f64 x x) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (*.f64 x x) (sqrt.f64 x)) (sqrt.f64 x))
(sqrt.f64 (pow.f64 x 6))
(log.f64 (exp.f64 (pow.f64 x 3)))
(cbrt.f64 (pow.f64 (pow.f64 x 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 x 3)))
(exp.f64 (*.f64 3 (log.f64 x)))
(exp.f64 (*.f64 (*.f64 2 (log.f64 x)) 3/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (pow.f64 x 3) 3)) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 x) 3/2) 2))
(log1p.f64 (expm1.f64 (pow.f64 x 3)))
Outputs
(+.f64 0 (pow.f64 x 3))
(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 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))) (cbrt.f64 (exp.f64 (pow.f64 x 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 3)))))
(-.f64 (+.f64 1 (pow.f64 x 3)) 1)
(pow.f64 x 3)
(*.f64 x (*.f64 x x))
(pow.f64 x 3)
(*.f64 (pow.f64 x 3) 1)
(pow.f64 x 3)
(*.f64 1 (pow.f64 x 3))
(pow.f64 x 3)
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (*.f64 x x)))
(pow.f64 x 3)
(*.f64 (*.f64 x x) x)
(pow.f64 x 3)
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (*.f64 x x)))
(pow.f64 x 3)
(*.f64 (pow.f64 x 3/2) (pow.f64 x 3/2))
(pow.f64 x 3)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 x) 2) 3) x)
(pow.f64 x 3)
(*.f64 (pow.f64 (sqrt.f64 x) 3) (pow.f64 (sqrt.f64 x) 3))
(pow.f64 x 3)
(*.f64 (*.f64 (*.f64 x x) 1) x)
(pow.f64 x 3)
(*.f64 (*.f64 (*.f64 x x) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(pow.f64 x 3)
(*.f64 (*.f64 (*.f64 x x) (sqrt.f64 x)) (sqrt.f64 x))
(pow.f64 x 3)
(sqrt.f64 (pow.f64 x 6))
(pow.f64 x 3)
(log.f64 (exp.f64 (pow.f64 x 3)))
(pow.f64 x 3)
(cbrt.f64 (pow.f64 (pow.f64 x 3) 3))
(pow.f64 x 3)
(expm1.f64 (log1p.f64 (pow.f64 x 3)))
(pow.f64 x 3)
(exp.f64 (*.f64 3 (log.f64 x)))
(pow.f64 x 3)
(exp.f64 (*.f64 (*.f64 2 (log.f64 x)) 3/2))
(pow.f64 x 3)
(exp.f64 (*.f64 (log.f64 (pow.f64 (pow.f64 x 3) 3)) 1/3))
(pow.f64 x 3)
(exp.f64 (*.f64 (*.f64 (log.f64 x) 3/2) 2))
(pow.f64 x 3)
(log1p.f64 (expm1.f64 (pow.f64 x 3)))
(pow.f64 x 3)

eval9.0ms (0.5%)

Compiler

Compiled 360 to 258 computations (28.3% saved)

prune5.0ms (0.3%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New50050
Fresh000
Picked011
Done011
Total50252
Accurracy
100.0%
Counts
52 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x 3)
99.8%
(*.f64 (*.f64 x x) x)
Compiler

Compiled 10 to 6 computations (40% saved)

regimes7.0ms (0.4%)

Accuracy

Total -0.1b remaining (-2700%)

Threshold costs -0.1b (-2700%)

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

2 calls:

4.0ms
(*.f64 (*.f64 x x) x)
3.0ms
x
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(*.f64 (*.f64 x x) x)
Compiler

Compiled 17 to 9 computations (47.1% saved)

simplify4.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0720
1820
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)

soundness365.0ms (20%)

Rules
3406×sqr-pow
1566×cube-prod
1330×pow-sqr
852×unpow3
736×cube-mult
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0513
167
287
3137
4187
5277
6487
71327
84957
911557
1012427
1113757
1215337
1317667
1420777
1524847
1629657
1735327
1842127
1944837
2047237
2149037
2250337
2351037
2460177
2569847
2673687
2776727
2878807
2979007
3079007
Stop Event
node limit
Compiler

Compiled 9 to 5 computations (44.4% saved)

end81.0ms (4.4%)

Compiler

Compiled 38 to 22 computations (42.1% saved)

Profiling

Loading profile data...