math.cube on real

Time bar (total: 967.0ms)

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)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-mult: 0.0ms (0% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

sample597.0ms (61.7%)

Results
434.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 178.0ms
ival-mult: 168.0ms (94.5% of total)
const: 7.0ms (3.9% of total)
backward-pass: 3.0ms (1.7% of total)
Bogosity

preprocess45.0ms (4.7%)

Algorithm
egg-herbie
Rules
74×fnmadd-define
72×fnmsub-define
72×fmsub-define
66×fma-define
28×sum3-define
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0713
12710
26110
313210
419010
528010
632810
034
153
273
073
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(* (* x x) x)
Outputs
(* (* x x) x)
(*.f64 x (*.f64 x x))
Call 2
Inputs
(* (* x x) x)
(* (* (neg x) (neg x)) (neg x))
(neg (* (* (neg x) (neg x)) (neg x)))
Outputs
(* (* x x) x)
(pow x 3)
(* (* (neg x) (neg x)) (neg x))
(pow (neg x) 3)
(neg (* (* (neg x) (neg x)) (neg x)))
(pow x 3)
Symmetry

(negabs x)

explain72.0ms (7.4%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-x
00-0-(*.f64 x x)
00-0-(*.f64 (*.f64 x x) x)
Results
54.0ms512×0valid
Compiler

Compiled 28 to 11 computations (60.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult: 7.0ms (85.9% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

eval0.0ms (0%)

Compiler

Compiled 6 to 3 computations (50% saved)

prune1.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(*.f64 (*.f64 x x) x)
Compiler

Compiled 6 to 3 computations (50% saved)

simplify4.0ms (0.4%)

Algorithm
egg-herbie
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 (*.f64 x x) x)
Rules
*-lowering-*.f32
*-lowering-*.f64
pow-lowering-pow.f64
pow-lowering-pow.f32
cube-unmult
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037
156
276
076
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(* (* x x) x)
(* x x)
x
Outputs
(* (* x x) x)
(*.f64 x (*.f64 x x))
(* x x)
(*.f64 x x)
x

localize18.0ms (1.9%)

Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 x x)
accuracy99.8%
(*.f64 (*.f64 x x) x)
Results
13.0ms256×0valid
Compiler

Compiled 11 to 4 computations (63.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-mult: 4.0ms (96.3% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series2.0ms (0.2%)

Counts
2 → 24
Calls
Call 1
Inputs
#<alt (* (* x x) x)>
#<alt (* x x)>
Outputs
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
#<alt (pow x 2)>
Calls

6 calls:

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

rewrite55.0ms (5.7%)

Algorithm
batch-egg-rewrite
Rules
14×prod-exp
14×*-lowering-*.f32
14×*-lowering-*.f64
12×exp-prod
12×pow-to-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035
195
2165
3245
4375
5525
6655
0655
Stop Event
iter limit
saturated
Counts
2 → 9
Calls
Call 1
Inputs
(* (* x x) x)
(* x x)
Outputs
(exp.f64 (*.f64 #s(literal 3 binary64) (log.f64 x)))
(pow.f64 x #s(literal 3 binary64))
(pow.f64 (exp.f64 #s(literal 3 binary64)) (log.f64 x))
(*.f64 x (*.f64 x x))
(*.f64 (*.f64 x x) x)
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 x)))
(pow.f64 x #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 x))
(*.f64 x x)

simplify5.0ms (0.5%)

Algorithm
egg-herbie
Rules
*-lowering-*.f32
*-lowering-*.f64
pow-lowering-pow.f64
pow-lowering-pow.f32
cube-mult
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0572
1860
21160
31360
01360
Stop Event
iter limit
saturated
Counts
24 → 24
Calls
Call 1
Inputs
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
Outputs
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)

eval3.0ms (0.3%)

Compiler

Compiled 168 to 20 computations (88.1% saved)

prune2.0ms (0.2%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New32133
Fresh000
Picked011
Done000
Total32234
Accuracy
100.0%
Counts
34 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x #s(literal 3 binary64))
99.8%
(*.f64 (*.f64 x x) x)
Compiler

Compiled 10 to 6 computations (40% saved)

simplify5.0ms (0.5%)

Algorithm
egg-herbie
Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
cost-diff6208
(pow.f64 x #s(literal 3 binary64))
Rules
*-lowering-*.f32
*-lowering-*.f64
cube-mult
pow-lowering-pow.f64
pow-lowering-pow.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035
165
275
075
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(pow x 3)
x
3
Outputs
(pow x 3)
(*.f64 x (*.f64 x x))
x
3
#s(literal 3 binary64)

localize19.0ms (2%)

Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(pow.f64 x #s(literal 3 binary64))
Results
14.0ms256×0valid
Compiler

Compiled 7 to 4 computations (42.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-pow: 3.0ms (78.4% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series0.0ms (0%)

Counts
1 → 12
Calls
Call 1
Inputs
#<alt (pow x 3)>
Outputs
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
#<alt (pow x 3)>
Calls

3 calls:

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

rewrite19.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
14×prod-exp
14×*-lowering-*.f32
14×*-lowering-*.f64
10×exp-lowering-exp.f32
10×exp-prod
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
193
2153
3273
4393
5503
6563
7643
0643
Stop Event
iter limit
saturated
Counts
1 → 5
Calls
Call 1
Inputs
(pow x 3)
Outputs
(exp.f64 (*.f64 #s(literal 3 binary64) (log.f64 x)))
(pow.f64 x #s(literal 3 binary64))
(pow.f64 (exp.f64 #s(literal 3 binary64)) (log.f64 x))
(*.f64 x (*.f64 x x))
(*.f64 (*.f64 x x) x)

simplify5.0ms (0.5%)

Algorithm
egg-herbie
Rules
*-lowering-*.f32
*-lowering-*.f64
cube-mult
pow-lowering-pow.f64
pow-lowering-pow.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0336
1636
2736
0736
Stop Event
iter limit
saturated
Counts
12 → 12
Calls
Call 1
Inputs
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
(pow x 3)
Outputs
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))
(pow x 3)
(*.f64 x (*.f64 x x))

eval2.0ms (0.2%)

Compiler

Compiled 84 to 11 computations (86.9% saved)

prune2.0ms (0.2%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New17017
Fresh000
Picked011
Done011
Total17219
Accuracy
100.0%
Counts
19 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(pow.f64 x #s(literal 3 binary64))
99.8%
(*.f64 (*.f64 x x) x)
Compiler

Compiled 19 to 11 computations (42.1% saved)

regimes3.0ms (0.3%)

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

2 calls:

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

Compiled 8 to 4 computations (50% saved)

regimes4.0ms (0.4%)

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:

1.0ms
x
1.0ms
(*.f64 (*.f64 x x) x)
Results
AccuracySegmentsBranch
99.8%1x
99.8%1(*.f64 (*.f64 x x) x)
Compiler

Compiled 8 to 4 computations (50% saved)

simplify7.0ms (0.7%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058
168
Stop Event
saturated
Calls
Call 1
Inputs
(pow.f64 x #s(literal 3 binary64))
(*.f64 (*.f64 x x) x)
Outputs
(pow.f64 x #s(literal 3 binary64))
(*.f64 (*.f64 x x) x)
(*.f64 x (*.f64 x x))

soundness55.0ms (5.7%)

Rules
14×prod-exp
14×*-lowering-*.f32
14×*-lowering-*.f64
12×exp-prod
12×pow-to-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035
195
2165
3245
4375
5525
6655
0655
Stop Event
done
iter limit
saturated
Compiler

Compiled 13 to 8 computations (38.5% saved)

preprocess42.0ms (4.3%)

Remove

(negabs x)

Compiler

Compiled 54 to 34 computations (37% saved)

end0.0ms (0%)

Profiling

Loading profile data...