Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, F

Time bar (total: 887.0ms)

analyze0.0ms (0%)

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

Compiled 8 to 6 computations (25% 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)

sample518.0ms (58.3%)

Results
359.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 160.0ms
ival-mult: 146.0ms (91.3% of total)
const: 11.0ms (6.9% of total)
backward-pass: 3.0ms (1.9% of total)
Bogosity

preprocess28.0ms (3.2%)

Algorithm
egg-herbie
Rules
226×fnmadd-define
208×fma-define
192×fnmsub-define
192×fmsub-define
80×distribute-lft-neg-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01432
14530
211330
328430
443330
570830
685230
055
195
2165
3185
0185
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(* (* x 27) y)
Outputs
(* (* x 27) y)
(*.f64 x (*.f64 #s(literal 27 binary64) y))
Call 2
Inputs
(* (* x 27) y)
(* (* (neg x) 27) y)
(* (* x 27) (neg y))
(neg (* (* (neg x) 27) y))
(neg (* (* x 27) (neg y)))
(* (* y 27) x)
Outputs
(* (* x 27) y)
(* x (* 27 y))
(* (* (neg x) 27) y)
(* x (* y -27))
(* (* x 27) (neg y))
(* x (* y -27))
(neg (* (* (neg x) 27) y))
(* x (* 27 y))
(neg (* (* x 27) (neg y)))
(* x (* 27 y))
(* (* y 27) x)
(* x (* 27 y))
Symmetry

(negabs x)

(negabs y)

(sort x y)

explain45.0ms (5.1%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-x
00-0-(*.f64 x #s(literal 27 binary64))
00-0-#s(literal 27 binary64)
00-0-y
00-0-(*.f64 (*.f64 x #s(literal 27 binary64)) y)
Results
28.0ms512×0valid
Compiler

Compiled 35 to 17 computations (51.4% saved)

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

eval0.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

prune1.0ms (0.1%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(*.f64 (*.f64 x #s(literal 27 binary64)) y)
99.8%
(*.f64 x (*.f64 #s(literal 27 binary64) y))
Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify4.0ms (0.5%)

Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x #s(literal 27 binary64))
cost-diff0
(*.f64 (*.f64 x #s(literal 27 binary64)) y)
cost-diff0
(*.f64 #s(literal 27 binary64) y)
cost-diff0
(*.f64 x (*.f64 #s(literal 27 binary64) y))
Rules
24×*-lowering-*.f32
24×*-lowering-*.f64
10×*-commutative
associate-*r*
associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0722
11122
21722
31722
01722
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(* x (* 27 y))
x
(* 27 y)
27
y
(* (* x 27) y)
(* x 27)
x
27
y
Outputs
(* x (* 27 y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
x
(* 27 y)
(*.f64 #s(literal 27 binary64) y)
27
#s(literal 27 binary64)
y
(* (* x 27) y)
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* x 27)
(*.f64 x #s(literal 27 binary64))
x
27
#s(literal 27 binary64)
y

localize33.0ms (3.8%)

Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 x #s(literal 27 binary64))
accuracy99.7%
(*.f64 (*.f64 x #s(literal 27 binary64)) y)
accuracy100.0%
(*.f64 #s(literal 27 binary64) y)
accuracy99.8%
(*.f64 x (*.f64 #s(literal 27 binary64) y))
Results
25.0ms256×0valid
Compiler

Compiled 25 to 8 computations (68% saved)

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

series5.0ms (0.6%)

Counts
4 → 72
Calls
Call 1
Inputs
#<alt (* x (* 27 y))>
#<alt (* 27 y)>
#<alt (* (* x 27) y)>
#<alt (* x 27)>
Outputs
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 y)>
#<alt (* 27 y)>
#<alt (* 27 y)>
#<alt (* 27 y)>
#<alt (* 27 y)>
#<alt (* 27 y)>
#<alt (* 27 y)>
#<alt (* 27 y)>
#<alt (* 27 y)>
#<alt (* 27 y)>
#<alt (* 27 y)>
#<alt (* 27 y)>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 x)>
#<alt (* 27 x)>
#<alt (* 27 x)>
#<alt (* 27 x)>
#<alt (* 27 x)>
#<alt (* 27 x)>
#<alt (* 27 x)>
#<alt (* 27 x)>
#<alt (* 27 x)>
#<alt (* 27 x)>
#<alt (* 27 x)>
#<alt (* 27 x)>
Calls

18 calls:

TimeVariablePointExpression
1.0ms
y
@0
(* x (* 27 y))
1.0ms
x
@0
(* x (* 27 y))
1.0ms
x
@inf
(* x (* 27 y))
1.0ms
y
@inf
(* x (* 27 y))
0.0ms
y
@-inf
(* 27 y)

rewrite25.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
24×*-lowering-*.f32
24×*-lowering-*.f64
10×*-commutative
associate-*r*
associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0716
11116
21716
31716
01716
Stop Event
iter limit
saturated
Counts
4 → 16
Calls
Call 1
Inputs
(* x (* 27 y))
(* 27 y)
(* (* x 27) y)
(* x 27)
Outputs
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(*.f64 y (*.f64 x #s(literal 27 binary64)))
(*.f64 (*.f64 #s(literal 27 binary64) y) x)
(*.f64 (*.f64 x #s(literal 27 binary64)) y)
(*.f64 (*.f64 x y) #s(literal 27 binary64))
(*.f64 #s(literal 27 binary64) y)
(*.f64 y #s(literal 27 binary64))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(*.f64 y (*.f64 x #s(literal 27 binary64)))
(*.f64 (*.f64 #s(literal 27 binary64) y) x)
(*.f64 (*.f64 x #s(literal 27 binary64)) y)
(*.f64 (*.f64 x y) #s(literal 27 binary64))
(*.f64 x #s(literal 27 binary64))
(*.f64 #s(literal 27 binary64) x)

simplify8.0ms (0.9%)

Algorithm
egg-herbie
Rules
24×*-lowering-*.f32
24×*-lowering-*.f64
*-commutative
associate-*r*
associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07312
112312
215312
015312
Stop Event
iter limit
saturated
Counts
72 → 72
Calls
Call 1
Inputs
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 y)
(* 27 y)
(* 27 y)
(* 27 y)
(* 27 y)
(* 27 y)
(* 27 y)
(* 27 y)
(* 27 y)
(* 27 y)
(* 27 y)
(* 27 y)
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 x)
(* 27 x)
(* 27 x)
(* 27 x)
(* 27 x)
(* 27 x)
(* 27 x)
(* 27 x)
(* 27 x)
(* 27 x)
(* 27 x)
(* 27 x)
Outputs
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 y)
(*.f64 #s(literal 27 binary64) y)
(* 27 y)
(*.f64 #s(literal 27 binary64) y)
(* 27 y)
(*.f64 #s(literal 27 binary64) y)
(* 27 y)
(*.f64 #s(literal 27 binary64) y)
(* 27 y)
(*.f64 #s(literal 27 binary64) y)
(* 27 y)
(*.f64 #s(literal 27 binary64) y)
(* 27 y)
(*.f64 #s(literal 27 binary64) y)
(* 27 y)
(*.f64 #s(literal 27 binary64) y)
(* 27 y)
(*.f64 #s(literal 27 binary64) y)
(* 27 y)
(*.f64 #s(literal 27 binary64) y)
(* 27 y)
(*.f64 #s(literal 27 binary64) y)
(* 27 y)
(*.f64 #s(literal 27 binary64) y)
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 (* x y))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(* 27 x)
(*.f64 #s(literal 27 binary64) x)
(* 27 x)
(*.f64 #s(literal 27 binary64) x)
(* 27 x)
(*.f64 #s(literal 27 binary64) x)
(* 27 x)
(*.f64 #s(literal 27 binary64) x)
(* 27 x)
(*.f64 #s(literal 27 binary64) x)
(* 27 x)
(*.f64 #s(literal 27 binary64) x)
(* 27 x)
(*.f64 #s(literal 27 binary64) x)
(* 27 x)
(*.f64 #s(literal 27 binary64) x)
(* 27 x)
(*.f64 #s(literal 27 binary64) x)
(* 27 x)
(*.f64 #s(literal 27 binary64) x)
(* 27 x)
(*.f64 #s(literal 27 binary64) x)
(* 27 x)
(*.f64 #s(literal 27 binary64) x)

eval13.0ms (1.5%)

Compiler

Compiled 442 to 16 computations (96.4% saved)

prune2.0ms (0.2%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New87188
Fresh000
Picked022
Done000
Total87390
Accuracy
100.0%
Counts
90 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(*.f64 (*.f64 x y) #s(literal 27 binary64))
99.7%
(*.f64 (*.f64 x #s(literal 27 binary64)) y)
99.8%
(*.f64 x (*.f64 #s(literal 27 binary64) y))
Compiler

Compiled 21 to 15 computations (28.6% saved)

simplify4.0ms (0.5%)

Algorithm
egg-herbie
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x y)
cost-diff0
(*.f64 (*.f64 x y) #s(literal 27 binary64))
Rules
24×*-lowering-*.f32
24×*-lowering-*.f64
10×*-commutative
associate-*r*
associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0511
1911
21611
31811
01811
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(* (* x y) 27)
(* x y)
x
y
27
Outputs
(* (* x y) 27)
(*.f64 x (*.f64 y #s(literal 27 binary64)))
(* x y)
(*.f64 x y)
x
y
27
#s(literal 27 binary64)

localize21.0ms (2.4%)

Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 x y)
accuracy99.7%
(*.f64 (*.f64 x y) #s(literal 27 binary64))
Results
14.0ms256×0valid
Compiler

Compiled 14 to 6 computations (57.1% saved)

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

series2.0ms (0.2%)

Counts
2 → 48
Calls
Call 1
Inputs
#<alt (* (* x y) 27)>
#<alt (* x y)>
Outputs
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* 27 (* x y))>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(* x y)
0.0ms
y
@-inf
(* x y)
0.0ms
x
@0
(* (* x y) 27)
0.0ms
x
@inf
(* (* x y) 27)
0.0ms
x
@-inf
(* (* x y) 27)

rewrite14.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
24×*-lowering-*.f32
24×*-lowering-*.f64
10×*-commutative
associate-*r*
associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058
198
2168
3188
0188
Stop Event
iter limit
saturated
Counts
2 → 8
Calls
Call 1
Inputs
(* (* x y) 27)
(* x y)
Outputs
(*.f64 x (*.f64 y #s(literal 27 binary64)))
(*.f64 y (*.f64 x #s(literal 27 binary64)))
(*.f64 (*.f64 x y) #s(literal 27 binary64))
(*.f64 #s(literal 27 binary64) (*.f64 x y))
(*.f64 (*.f64 y #s(literal 27 binary64)) x)
(*.f64 (*.f64 x #s(literal 27 binary64)) y)
(*.f64 x y)
(*.f64 y x)

simplify6.0ms (0.7%)

Algorithm
egg-herbie
Rules
24×*-lowering-*.f32
24×*-lowering-*.f64
10×*-commutative
associate-*r*
associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05192
19192
216192
318192
018192
Stop Event
iter limit
saturated
Counts
48 → 48
Calls
Call 1
Inputs
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* 27 (* x y))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
Outputs
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* 27 (* x y))
(*.f64 x (*.f64 #s(literal 27 binary64) y))
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)

eval4.0ms (0.5%)

Compiler

Compiled 282 to 16 computations (94.3% saved)

prune2.0ms (0.3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New56056
Fresh000
Picked011
Done022
Total56359
Accuracy
100.0%
Counts
59 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(*.f64 (*.f64 x y) #s(literal 27 binary64))
99.7%
(*.f64 (*.f64 x #s(literal 27 binary64)) y)
99.8%
(*.f64 x (*.f64 #s(literal 27 binary64) y))
Compiler

Compiled 38 to 24 computations (36.8% saved)

regimes11.0ms (1.2%)

Accuracy

Total -0.2b remaining (-171.7%)

Threshold costs -0.2b (-171.7%)

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

4 calls:

5.0ms
(*.f64 (*.f64 x #s(literal 27 binary64)) y)
2.0ms
(*.f64 x #s(literal 27 binary64))
2.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
99.8%1x
99.8%1y
99.8%1(*.f64 (*.f64 x #s(literal 27 binary64)) y)
99.8%1(*.f64 x #s(literal 27 binary64))
Compiler

Compiled 18 to 13 computations (27.8% saved)

simplify7.0ms (0.8%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055
175
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 x (*.f64 #s(literal 27 binary64) y))
Outputs
(*.f64 x (*.f64 #s(literal 27 binary64) y))

soundness4.0ms (0.4%)

Rules
24×*-lowering-*.f32
24×*-lowering-*.f64
10×*-commutative
associate-*r*
associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055
195
2165
3185
0185
Stop Event
done
iter limit
saturated
Compiler

Compiled 14 to 10 computations (28.6% saved)

preprocess130.0ms (14.6%)

Remove

(negabs x)

Compiler

Compiled 168 to 120 computations (28.6% saved)

end0.0ms (0%)

Profiling

Loading profile data...