Diagrams.Segment:$catParam from diagrams-lib-1.3.0.3, A

Time bar (total: 7.7s)

analyze0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
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 9 to 8 computations (11.1% saved)

sample3.8s (49.4%)

Memory
-2.7MiB live, 812.7MiB allocated
Samples
3.6s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 3.4s
ival-mult: 3.4s (99.6% of total)
ival-true: 6.0ms (0.2% of total)
exact: 4.0ms (0.1% of total)
ival-assert: 3.0ms (0.1% of total)
Bogosity

preprocess38.0ms (0.5%)

Memory
10.2MiB live, 46.8MiB allocated
Algorithm
egg-herbie
Rules
562×unsub-neg
210×distribute-lft-in
208×associate-*r*
186×distribute-lft-neg-in
136×distribute-lft-neg-out
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01744
15942
219842
354942
496742
5137542
6138942
7138942
8139242
067
1127
2267
3437
4477
0477
Stop Event
iter limit
saturated
saturated
Calls
Call 1
Inputs
(* (* (* x 3) x) y)
Outputs
(* (* (* x 3) x) y)
(*.f64 #s(literal 3 binary64) (*.f64 y (*.f64 x x)))
Call 2
Inputs
(* (* (* x 3) x) y)
(* (* (* (neg x) 3) (neg x)) y)
(* (* (* x 3) x) (neg y))
(neg (* (* (* (neg x) 3) (neg x)) y))
(neg (* (* (* x 3) x) (neg y)))
(* (* (* y 3) y) x)
Outputs
(* (* (* x 3) x) y)
(* x (* x (* 3 y)))
(* (* (* (neg x) 3) (neg x)) y)
(* x (* x (* 3 y)))
(* (* (* x 3) x) (neg y))
(* x (* x (* y -3)))
(neg (* (* (* (neg x) 3) (neg x)) y))
(* x (* x (* y -3)))
(neg (* (* (* x 3) x) (neg y)))
(* x (* x (* 3 y)))
(* (* (* y 3) y) x)
(* x (* 3 (* y y)))
Symmetry

(abs x)

(negabs y)

explain66.0ms (0.9%)

Memory
0.1MiB live, 172.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
400-3(2.392935347025207e-162 3.862383903195781e+273)(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
00-0-(*.f64 (*.f64 x #s(literal 3 binary64)) x)
00-0-y
00-0-#s(literal 3 binary64)
00-0-(*.f64 x #s(literal 3 binary64))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
*.f64(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)n*o210
*.f64(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)n*u160
Confusion
Predicted +Predicted -
+373
-0216
Precision
1.0
Recall
0.925
Confusion?
Predicted +Predicted MaybePredicted -
+3703
-00216
Precision?
1.0
Recall?
0.925
Freqs
test
numberfreq
0219
137
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
33.0ms512×0valid
Compiler

Compiled 58 to 28 computations (51.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-mult: 16.0ms (93.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

eval0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Compiler

Compiled 9 to 6 computations (33.3% saved)

prune1.0ms (0%)

Memory
3.1MiB live, 3.1MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
85.8%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
85.7%
(*.f64 #s(literal 3 binary64) (*.f64 y (*.f64 x x)))
Compiler

Compiled 18 to 12 computations (33.3% saved)

simplify7.0ms (0.1%)

Memory
-24.9MiB live, 12.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x #s(literal 3 binary64))
cost-diff0
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
cost-diff0
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 y (*.f64 x x))
cost-diff0
(*.f64 #s(literal 3 binary64) (*.f64 y (*.f64 x x)))
Rules
62×*-lowering-*.f32
62×*-lowering-*.f64
28×associate-*r*
22×associate-*l*
20×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0936
12136
24236
34836
04836
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(* 3 (* y (* x x)))
3
(* y (* x x))
y
(* x x)
x
(* (* (* x 3) x) y)
(* (* x 3) x)
(* x 3)
x
3
y
Outputs
(* 3 (* y (* x x)))
(*.f64 (*.f64 x x) (*.f64 #s(literal 3 binary64) y))
3
#s(literal 3 binary64)
(* y (* x x))
(*.f64 y (*.f64 x x))
y
(* x x)
(*.f64 x x)
x
(* (* (* x 3) x) y)
(*.f64 (*.f64 x x) (*.f64 #s(literal 3 binary64) y))
(* (* x 3) x)
(*.f64 #s(literal 3 binary64) (*.f64 x x))
(* x 3)
(*.f64 #s(literal 3 binary64) x)
x
3
#s(literal 3 binary64)
y

localize29.0ms (0.4%)

Memory
-10.3MiB live, 70.9MiB allocated
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 x #s(literal 3 binary64))
accuracy99.8%
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
accuracy85.8%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
accuracy100.0%
(*.f64 x x)
accuracy99.8%
(*.f64 #s(literal 3 binary64) (*.f64 y (*.f64 x x)))
accuracy85.8%
(*.f64 y (*.f64 x x))
Samples
19.0ms256×0valid
Compiler

Compiled 38 to 11 computations (71.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 8.0ms (93.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.1%)

Memory
20.6MiB live, 20.6MiB allocated
Counts
6 → 108
Calls
Call 1
Inputs
#<alt (* 3 (* y (* x x)))>
#<alt (* y (* x x))>
#<alt (* x x)>
#<alt (* (* (* x 3) x) y)>
#<alt (* (* x 3) x)>
#<alt (* x 3)>
Outputs
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<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)>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
Calls

27 calls:

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

rewrite117.0ms (1.5%)

Memory
11.0MiB live, 167.0MiB allocated
Algorithm
batch-egg-rewrite
Rules
2 096×pow-lowering-pow.f64
2 096×pow-lowering-pow.f32
1 412×prod-exp
1 264×*-lowering-*.f32
1 264×*-lowering-*.f64
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
0932
12332
25132
37332
414532
544112
6220610
7223110
8235410
9359810
0853510
Stop Event
iter limit
node limit
Counts
6 → 15
Calls
Call 1
Inputs
(* 3 (* y (* x x)))
(* y (* x x))
(* x x)
(* (* (* x 3) x) y)
(* (* x 3) x)
(* x 3)
Outputs
(*.f64 #s(literal 1 binary64) (*.f64 y #s(literal 3 binary64)))
(*.f64 y #s(literal 3 binary64))
(*.f64 (*.f64 y #s(literal 3 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 3 binary64) y)
y
(*.f64 #s(literal 1 binary64) y)
(*.f64 y #s(literal 1 binary64))
#s(literal 1 binary64)
x
(*.f64 #s(literal 1 binary64) (*.f64 y #s(literal 3 binary64)))
(*.f64 y #s(literal 3 binary64))
(*.f64 (*.f64 y #s(literal 3 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 3 binary64) y)
#s(literal 3 binary64)
#s(literal 3 binary64)

simplify28.0ms (0.4%)

Memory
-14.2MiB live, 23.7MiB allocated
Algorithm
egg-herbie
Rules
62×*-lowering-*.f32
62×*-lowering-*.f64
32×associate-*r*
18×associate-*l*
14×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09588
115588
227588
347588
448588
048588
Stop Event
iter limit
saturated
Counts
108 → 108
Calls
Call 1
Inputs
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(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)
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
Outputs
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(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)
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (pow x 2))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
(* 3 (pow x 2))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
(* 3 (pow x 2))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
(* 3 (pow x 2))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
(* 3 (pow x 2))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
(* 3 (pow x 2))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
(* 3 (pow x 2))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
(* 3 (pow x 2))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
(* 3 (pow x 2))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
(* 3 (pow x 2))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
(* 3 (pow x 2))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
(* 3 (pow x 2))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)

eval10.0ms (0.1%)

Memory
14.7MiB live, 14.7MiB allocated
Compiler

Compiled 821 to 26 computations (96.8% saved)

prune27.0ms (0.4%)

Memory
-26.5MiB live, 12.0MiB allocated
Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1185123
Fresh000
Picked022
Done000
Total1187125
Accuracy
99.9%
Counts
125 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
85.8%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
85.7%
(*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x x)) y)
33.4%
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
5.2%
(*.f64 y #s(literal 3 binary64))
85.7%
(*.f64 #s(literal 3 binary64) (*.f64 y (*.f64 x x)))
33.4%
(*.f64 #s(literal 3 binary64) (*.f64 y x))
99.7%
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
Compiler

Compiled 92 to 64 computations (30.4% saved)

simplify5.0ms (0.1%)

Memory
6.1MiB live, 6.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 #s(literal 3 binary64) (*.f64 x x))
cost-diff0
(*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x x)) y)
cost-diff0
(*.f64 #s(literal 3 binary64) x)
cost-diff0
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
cost-diff0
(*.f64 y x)
cost-diff0
(*.f64 #s(literal 3 binary64) (*.f64 y x))
cost-diff0
(*.f64 y #s(literal 3 binary64))
cost-diff0
(*.f64 x y)
cost-diff0
(*.f64 x (*.f64 x y))
cost-diff0
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
Rules
62×*-lowering-*.f32
62×*-lowering-*.f64
18×*-commutative
16×associate-*l*
14×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01463
12763
23663
03663
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(* 3 (* x (* x y)))
3
(* x (* x y))
x
(* x y)
y
(* y 3)
y
3
(* 3 (* y x))
3
(* y x)
y
x
(* (* 3 x) y)
(* 3 x)
3
x
y
(* (* 3 (* x x)) y)
(* 3 (* x x))
3
(* x x)
x
y
Outputs
(* 3 (* x (* x y)))
(*.f64 #s(literal 3 binary64) (*.f64 y (*.f64 x x)))
3
#s(literal 3 binary64)
(* x (* x y))
(*.f64 y (*.f64 x x))
x
(* x y)
(*.f64 x y)
y
(* y 3)
(*.f64 #s(literal 3 binary64) y)
y
3
#s(literal 3 binary64)
(* 3 (* y x))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
3
#s(literal 3 binary64)
(* y x)
(*.f64 x y)
y
x
(* (* 3 x) y)
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
3
#s(literal 3 binary64)
x
y
(* (* 3 (* x x)) y)
(*.f64 #s(literal 3 binary64) (*.f64 y (*.f64 x x)))
(* 3 (* x x))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
3
#s(literal 3 binary64)
(* x x)
(*.f64 x x)
x
y

localize65.0ms (0.9%)

Memory
16.0MiB live, 59.2MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 x x)
accuracy99.8%
(*.f64 #s(literal 3 binary64) (*.f64 x x))
accuracy85.8%
(*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x x)) y)
accuracy100.0%
(*.f64 #s(literal 3 binary64) x)
accuracy99.7%
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
accuracy100.0%
(*.f64 y x)
accuracy99.6%
(*.f64 #s(literal 3 binary64) (*.f64 y x))
accuracy100.0%
(*.f64 y #s(literal 3 binary64))
accuracy100.0%
(*.f64 x y)
accuracy99.8%
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
accuracy99.8%
(*.f64 x (*.f64 x y))
Samples
49.0ms256×0valid
Compiler

Compiled 65 to 16 computations (75.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-mult: 14.0ms (93.8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series6.0ms (0.1%)

Memory
10.0MiB live, 10.0MiB allocated
Counts
11 → 216
Calls
Call 1
Inputs
#<alt (* 3 (* x (* x y)))>
#<alt (* x (* x y))>
#<alt (* x y)>
#<alt (* y 3)>
#<alt (* 3 (* y x))>
#<alt (* y x)>
#<alt (* (* 3 x) y)>
#<alt (* 3 x)>
#<alt (* (* 3 (* x x)) y)>
#<alt (* 3 (* x x))>
#<alt (* x x)>
Outputs
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) y)>
#<alt (* (pow x 2) 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)>
#<alt (* 3 y)>
#<alt (* 3 y)>
#<alt (* 3 y)>
#<alt (* 3 y)>
#<alt (* 3 y)>
#<alt (* 3 y)>
#<alt (* 3 y)>
#<alt (* 3 y)>
#<alt (* 3 y)>
#<alt (* 3 y)>
#<alt (* 3 y)>
#<alt (* 3 y)>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* 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)>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 (* x y))>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 x)>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (* (pow x 2) y))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (pow x 2))>
#<alt (* 3 (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)>
#<alt (pow x 2)>
Calls

54 calls:

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

rewrite304.0ms (4%)

Memory
-30.8MiB live, 137.2MiB allocated
Algorithm
batch-egg-rewrite
Rules
2 096×pow-lowering-pow.f64
2 096×pow-lowering-pow.f32
1 412×prod-exp
1 264×*-lowering-*.f32
1 264×*-lowering-*.f64
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01459
12959
24559
36159
413359
542727
6222921
7225421
8237721
9359921
0853721
Stop Event
iter limit
node limit
Counts
11 → 33
Calls
Call 1
Inputs
(* 3 (* x (* x y)))
(* x (* x y))
(* x y)
(* y 3)
(* 3 (* y x))
(* y x)
(* (* 3 x) y)
(* 3 x)
(* (* 3 (* x x)) y)
(* 3 (* x x))
(* x x)
Outputs
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) y))
(*.f64 (*.f64 #s(literal 3 binary64) y) #s(literal 1 binary64))
(*.f64 #s(literal 3 binary64) y)
(*.f64 y #s(literal 3 binary64))
y
(*.f64 #s(literal 1 binary64) y)
(*.f64 y #s(literal 1 binary64))
y
(*.f64 #s(literal 1 binary64) y)
(*.f64 y #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) y))
(*.f64 (*.f64 #s(literal 3 binary64) y) #s(literal 1 binary64))
(*.f64 #s(literal 3 binary64) y)
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) y))
(*.f64 (*.f64 #s(literal 3 binary64) y) #s(literal 1 binary64))
(*.f64 #s(literal 3 binary64) y)
(*.f64 y #s(literal 3 binary64))
y
(*.f64 #s(literal 1 binary64) y)
(*.f64 y #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) y))
(*.f64 (*.f64 #s(literal 3 binary64) y) #s(literal 1 binary64))
(*.f64 #s(literal 3 binary64) y)
(*.f64 y #s(literal 3 binary64))
#s(literal 3 binary64)
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) y))
(*.f64 (*.f64 #s(literal 3 binary64) y) #s(literal 1 binary64))
(*.f64 #s(literal 3 binary64) y)
(*.f64 y #s(literal 3 binary64))
#s(literal 3 binary64)
#s(literal 1 binary64)
x

simplify21.0ms (0.3%)

Memory
14.9MiB live, 51.2MiB allocated
Algorithm
egg-herbie
Rules
62×*-lowering-*.f32
62×*-lowering-*.f64
18×associate-*r*
14×*-commutative
14×associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0121008
1221008
2321008
3361008
0361008
Stop Event
iter limit
saturated
Counts
216 → 216
Calls
Call 1
Inputs
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) 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)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* 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)
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 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)
(pow x 2)
Outputs
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.f64 x y))
(* (pow x 2) y)
(*.f64 x (*.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)
(* x y)
(*.f64 x y)
(* 3 y)
(*.f64 #s(literal 3 binary64) y)
(* 3 y)
(*.f64 #s(literal 3 binary64) y)
(* 3 y)
(*.f64 #s(literal 3 binary64) y)
(* 3 y)
(*.f64 #s(literal 3 binary64) y)
(* 3 y)
(*.f64 #s(literal 3 binary64) y)
(* 3 y)
(*.f64 #s(literal 3 binary64) y)
(* 3 y)
(*.f64 #s(literal 3 binary64) y)
(* 3 y)
(*.f64 #s(literal 3 binary64) y)
(* 3 y)
(*.f64 #s(literal 3 binary64) y)
(* 3 y)
(*.f64 #s(literal 3 binary64) y)
(* 3 y)
(*.f64 #s(literal 3 binary64) y)
(* 3 y)
(*.f64 #s(literal 3 binary64) y)
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.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)
(* x y)
(*.f64 x y)
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 (* x y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 x)
(*.f64 #s(literal 3 binary64) x)
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (* (pow x 2) y))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(* 3 (pow x 2))
(*.f64 x (*.f64 #s(literal 3 binary64) x))
(* 3 (pow x 2))
(*.f64 x (*.f64 #s(literal 3 binary64) x))
(* 3 (pow x 2))
(*.f64 x (*.f64 #s(literal 3 binary64) x))
(* 3 (pow x 2))
(*.f64 x (*.f64 #s(literal 3 binary64) x))
(* 3 (pow x 2))
(*.f64 x (*.f64 #s(literal 3 binary64) x))
(* 3 (pow x 2))
(*.f64 x (*.f64 #s(literal 3 binary64) x))
(* 3 (pow x 2))
(*.f64 x (*.f64 #s(literal 3 binary64) x))
(* 3 (pow x 2))
(*.f64 x (*.f64 #s(literal 3 binary64) x))
(* 3 (pow x 2))
(*.f64 x (*.f64 #s(literal 3 binary64) x))
(* 3 (pow x 2))
(*.f64 x (*.f64 #s(literal 3 binary64) x))
(* 3 (pow x 2))
(*.f64 x (*.f64 #s(literal 3 binary64) x))
(* 3 (pow x 2))
(*.f64 x (*.f64 #s(literal 3 binary64) 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)

eval22.0ms (0.3%)

Memory
11.1MiB live, 48.8MiB allocated
Compiler

Compiled 1 439 to 29 computations (98% saved)

prune6.0ms (0.1%)

Memory
-27.3MiB live, 11.2MiB allocated
Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New2490249
Fresh000
Picked055
Done022
Total2497256
Accuracy
99.9%
Counts
256 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
85.8%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
85.7%
(*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x x)) y)
33.4%
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
5.2%
(*.f64 y #s(literal 3 binary64))
85.7%
(*.f64 #s(literal 3 binary64) (*.f64 y (*.f64 x x)))
33.4%
(*.f64 #s(literal 3 binary64) (*.f64 y x))
99.7%
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
Compiler

Compiled 98 to 57 computations (41.8% saved)

regimes11.0ms (0.1%)

Memory
24.2MiB live, 24.2MiB allocated
Counts
7 → 1
Calls
Call 1
Inputs
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) (*.f64 y x))
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(*.f64 #s(literal 3 binary64) (*.f64 y (*.f64 x x)))
(*.f64 (*.f64 #s(literal 3 binary64) (*.f64 x x)) y)
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
Outputs
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
Calls

4 calls:

3.0ms
x
3.0ms
y
3.0ms
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
2.0ms
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
Results
AccuracySegmentsBranch
99.7%1x
99.7%1y
99.7%1(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
99.7%1(*.f64 (*.f64 x #s(literal 3 binary64)) x)
Compiler

Compiled 22 to 15 computations (31.8% saved)

regimes4.0ms (0.1%)

Memory
11.8MiB live, 11.8MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) (*.f64 y x))
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
Outputs
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
Calls

2 calls:

2.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
33.4%1x
33.4%1y
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes6.0ms (0.1%)

Memory
-36.8MiB live, 7.3MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) (*.f64 y x))
Outputs
(*.f64 #s(literal 3 binary64) (*.f64 y x))
Calls

2 calls:

2.0ms
x
2.0ms
y
Results
AccuracySegmentsBranch
33.4%1y
33.4%1x
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes3.0ms (0%)

Memory
6.4MiB live, 6.4MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

1.0ms
x
1.0ms
y
Results
AccuracySegmentsBranch
5.2%1y
5.2%1x
Compiler

Compiled 6 to 4 computations (33.3% saved)

simplify7.0ms (0.1%)

Memory
16.0MiB live, 16.0MiB allocated
Algorithm
egg-herbie
Rules
14×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01120
11820
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
(*.f64 #s(literal 3 binary64) (*.f64 y x))
(*.f64 y #s(literal 3 binary64))
Outputs
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
(*.f64 y (*.f64 #s(literal 3 binary64) x))
(*.f64 #s(literal 3 binary64) (*.f64 y x))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) y)

soundness3.0s (39.6%)

Memory
4.8MiB live, 276.7MiB allocated
Rules
2 096×pow-lowering-pow.f64
2 096×pow-lowering-pow.f32
1 412×prod-exp
1 264×*-lowering-*.f32
1 264×*-lowering-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
12332
25132
37332
414532
544112
6220610
7223110
8235410
9359810
0853510
09588
115588
227588
347588
448588
048588
067
1127
2267
3437
4477
0477
Stop Event
done
iter limit
saturated
iter limit
saturated
iter limit
node limit
Compiler

Compiled 65 to 39 computations (40% saved)

preprocess58.0ms (0.8%)

Memory
13.2MiB live, 131.3MiB allocated
Remove

(negabs y)

(abs x)

Compiler

Compiled 224 to 140 computations (37.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...