math.cube on real

Time bar (total: 1.5s)

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)

sample551.0ms (37.4%)

Results
345.0ms5527×body256valid
196.0ms2729×body256infinite
Bogosity

preprocess98.0ms (6.7%)

Algorithm
egg-herbie
Rules
2828×fma-def
1928×unswap-sqr
704×distribute-lft-neg-in
690×neg-sub0
674×distribute-lft-neg-out
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0930
12118
26118
311918
418518
533818
663218
7151818
8276918
9593818
10705418
11794618
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) x)
(*.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (neg.f64 x))
Outputs
(*.f64 (*.f64 x x) x)
(*.f64 x (*.f64 x x))
(pow.f64 x 3)
(*.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (neg.f64 x))
(*.f64 (neg.f64 x) (*.f64 x x))
(pow.f64 (neg.f64 x) 3)
Compiler

Compiled 7 to 4 computations (42.9% saved)

simplify247.0ms (16.7%)

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)

prune2.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.9%
(*.f64 (*.f64 x x) x)
100.0%
(pow.f64 x 3)
99.9%
(*.f64 (*.f64 x x) x)
Compiler

Compiled 20 to 12 computations (40% saved)

localize26.0ms (1.8%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(pow.f64 x 3)
99.9%
(*.f64 (*.f64 x x) x)
Compiler

Compiled 16 to 7 computations (56.3% saved)

series3.0ms (0.2%)

Counts
2 → 12
Calls

6 calls:

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

rewrite56.0ms (3.8%)

Algorithm
batch-egg-rewrite
Rules
978×pow1
948×add-sqr-sqrt
912×add-exp-log
912×log1p-expm1-u
912×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
114614
2138214
Stop Event
node limit
Counts
2 → 31
Calls
Call 1
Inputs
(*.f64 (*.f64 x x) x)
(pow.f64 x 3)
Outputs
(-.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 (pow.f64 x 3) 3) 1/3)
(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 (pow.f64 x 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 x 3)))
(exp.f64 (*.f64 3 (log.f64 x)))
(log1p.f64 (expm1.f64 (pow.f64 x 3)))
(-.f64 (+.f64 1 (pow.f64 x 3)) 1)
(*.f64 x (*.f64 x x))
(*.f64 (*.f64 x 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 (cbrt.f64 (pow.f64 x 4)) (*.f64 (pow.f64 (cbrt.f64 x) 2) 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 (sqrt.f64 x) 3) (pow.f64 (sqrt.f64 x) 3))
(*.f64 (*.f64 x (cbrt.f64 (pow.f64 x 4))) (pow.f64 (cbrt.f64 x) 2))
(*.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)))
(log1p.f64 (expm1.f64 (pow.f64 x 3)))

simplify58.0ms (4%)

Algorithm
egg-herbie
Rules
864×associate-*r*
854×exp-prod
786×associate-+r+
742×cube-prod
712×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057301
1132301
2383301
32480301
45193301
Stop Event
node limit
Counts
43 → 24
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)
(pow.f64 x 3)
(pow.f64 (*.f64 x x) 3/2)
(pow.f64 (pow.f64 x 3) 1)
(pow.f64 (pow.f64 (pow.f64 x 3) 3) 1/3)
(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 (pow.f64 x 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 x 3)))
(exp.f64 (*.f64 3 (log.f64 x)))
(log1p.f64 (expm1.f64 (pow.f64 x 3)))
(-.f64 (+.f64 1 (pow.f64 x 3)) 1)
(*.f64 x (*.f64 x x))
(*.f64 (*.f64 x 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 (cbrt.f64 (pow.f64 x 4)) (*.f64 (pow.f64 (cbrt.f64 x) 2) 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 (sqrt.f64 x) 3) (pow.f64 (sqrt.f64 x) 3))
(*.f64 (*.f64 x (cbrt.f64 (pow.f64 x 4))) (pow.f64 (cbrt.f64 x) 2))
(*.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)))
(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 (+.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 (pow.f64 x 3) 3) 1/3)
(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 (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)
(log1p.f64 (expm1.f64 (pow.f64 x 3)))
(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 (*.f64 x 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 (cbrt.f64 (pow.f64 x 4)) (*.f64 (pow.f64 (cbrt.f64 x) 2) 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 (sqrt.f64 x) 3) (pow.f64 (sqrt.f64 x) 3))
(pow.f64 x 3)
(*.f64 (*.f64 x (cbrt.f64 (pow.f64 x 4))) (pow.f64 (cbrt.f64 x) 2))
(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)
(log1p.f64 (expm1.f64 (pow.f64 x 3)))
(pow.f64 x 3)

eval4.0ms (0.3%)

Compiler

Compiled 161 to 98 computations (39.1% saved)

prune4.0ms (0.3%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New24024
Fresh000
Picked022
Done000
Total24226
Accurracy
100.0%
Counts
26 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x 3)
99.9%
(*.f64 (*.f64 x x) x)
Compiler

Compiled 19 to 11 computations (42.1% saved)

regimes6.0ms (0.4%)

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
AccuracySegmentsBranch
100.0%1x
100.0%1(*.f64 (*.f64 x x) x)
Compiler

Compiled 17 to 9 computations (47.1% saved)

regimes5.0ms (0.3%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

2.0ms
x
2.0ms
(*.f64 (*.f64 x x) x)
Results
AccuracySegmentsBranch
99.9%1x
99.9%1(*.f64 (*.f64 x x) x)
Compiler

Compiled 14 to 7 computations (50% saved)

simplify4.0ms (0.3%)

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)

soundness329.0ms (22.3%)

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)

end0.0ms (0%)

preprocess80.0ms (5.4%)

Compiler

Compiled 38 to 22 computations (42.1% saved)

Profiling

Loading profile data...