Rump's expression from Stadtherr's award speech

Time bar (total: 3.9s)

analyze0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
100%0%0%100%0%0%0%1
Compiler

Compiled 9 to 9 computations (0% saved)

sample628.0ms (16%)

Memory
-41.7MiB live, 897.1MiB allocated
Samples
413.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 216.0ms
const: 132.0ms (61.2% of total)
ival-==: 62.0ms (28.8% of total)
ival-and: 10.0ms (4.6% of total)
exact: 9.0ms (4.2% of total)
ival-assert: 3.0ms (1.4% of total)
Bogosity

preprocess462.0ms (11.7%)

Memory
33.6MiB live, 738.8MiB allocated
Algorithm
egg-herbie
Rules
18 418×lower-fma.f64
18 418×lower-fma.f32
3 166×lower-*.f32
3 156×lower-+.f32
3 150×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
035
03043
05043
19043
219543
346943
4144543
5301043
6492443
7693143
0819638
Stop Event
iter limit
node limit
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
Outputs
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
(fma.f64 (/.f64 x y) #s(literal 1/2 binary64) (fma.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)) (fma.f64 y (*.f64 x (*.f64 x (*.f64 y (*.f64 x (*.f64 x #s(literal 11 binary64)))))) (fma.f64 (pow.f64 y #s(literal 6 binary64)) (+.f64 #s(literal 1335/4 binary64) (neg.f64 (*.f64 x x))) (*.f64 x (*.f64 x (fma.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal -121 binary64) #s(literal -2 binary64))))))))
Symmetry

(abs y)

(abs x)

(sort x y)

explain368.0ms (9.4%)

Memory
-25.1MiB live, 742.4MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64))))
00-0-(*.f64 #s(literal 2 binary64) y)
00-0-#s(literal 8 binary64)
00-0-#s(literal 11/2 binary64)
00-0-(pow.f64 y #s(literal 4 binary64))
00-0-(*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y)
00-0-(*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y)
00-0-y
00-0-(*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))
00-0-(pow.f64 y #s(literal 8 binary64))
00-0-#s(literal 121 binary64)
00-0-(*.f64 #s(literal 11 binary64) x)
00-0-#s(literal 1335/4 binary64)
00-0-(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
00-0-(-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64))
00-0-(+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64))))
00-0-(*.f64 (*.f64 #s(literal 11 binary64) x) x)
00-0-(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
00-0-#s(literal 4 binary64)
00-0-(*.f64 x x)
00-0-#s(literal 6 binary64)
00-0-(-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64)))
00-0-(/.f64 x (*.f64 #s(literal 2 binary64) y))
00-0-#s(literal 2 binary64)
00-0-(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
00-0-(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
00-0-(-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64))))
00-0-x
00-0-(pow.f64 y #s(literal 6 binary64))
00-0-#s(literal 11 binary64)
Confusion
Predicted +Predicted -
+0256
-00
Precision
0/0
Recall
0.0
Confusion?
Predicted +Predicted MaybePredicted -
+00256
-000
Precision?
0/0
Recall?
0.0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+001
-000
Precision?
0/0
Recall?
0.0
Samples
94.0ms512×0valid
Compiler

Compiled 610 to 124 computations (79.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 63.0ms
ival-mult: 28.0ms (44.4% of total)
ival-pow: 16.0ms (25.4% of total)
ival-add: 7.0ms (11.1% of total)
ival-sub: 6.0ms (9.5% of total)
ival-div: 4.0ms (6.3% of total)
exact: 2.0ms (3.2% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
1.4%
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
Compiler

Compiled 45 to 30 computations (33.3% saved)

simplify0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

localize111.0ms (2.8%)

Memory
10.6MiB live, 173.2MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
accuracy100.0%
(*.f64 #s(literal 11 binary64) x)
accuracy100.0%
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
accuracy100.0%
(*.f64 #s(literal 2 binary64) y)
Samples
72.0ms256×0valid
Compiler

Compiled 260 to 32 computations (87.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 58.0ms
ival-pow: 28.0ms (47.9% of total)
ival-mult: 22.0ms (37.6% of total)
ival-sub: 3.0ms (5.1% of total)
ival-add: 3.0ms (5.1% of total)
ival-div: 2.0ms (3.4% of total)
exact: 1.0ms (1.7% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series4.0ms (0.1%)

Memory
11.2MiB live, 11.2MiB allocated
Counts
4 → 48
Calls
Call 1
Inputs
#<alt (*.f64 #s(literal 2 binary64) y)>
#<alt (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))>
#<alt (*.f64 #s(literal 11 binary64) x)>
#<alt (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))>
Outputs
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 121 (pow y 4))>
#<alt (* 121 (pow y 4))>
#<alt (* 121 (pow y 4))>
#<alt (* 121 (pow y 4))>
#<alt (* 121 (pow y 4))>
#<alt (* 121 (pow y 4))>
#<alt (* 121 (pow y 4))>
#<alt (* 121 (pow y 4))>
#<alt (* 121 (pow y 4))>
#<alt (* 121 (pow y 4))>
#<alt (* 121 (pow y 4))>
#<alt (* 121 (pow y 4))>
Calls

12 calls:

TimeVariablePointExpression
1.0ms
y
@0
(* 11/2 (pow y 8))
0.0ms
x
@0
(* 11 x)
0.0ms
y
@-inf
(* 2 y)
0.0ms
y
@0
(* 121 (pow y 4))
0.0ms
y
@inf
(* 2 y)

rewrite82.0ms (2.1%)

Memory
-9.1MiB live, 106.0MiB allocated
Algorithm
batch-egg-rewrite
Rules
490×lower-*.f32
482×lower-*.f64
168×lower-fma.f64
168×lower-fma.f32
150×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01416
02016
13416
26916
318516
073216
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
4 → 40
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) y)
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(*.f64 #s(literal 11 binary64) x)
(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
Outputs
(*.f64 #s(literal 2 binary64) y)
(*.f64 y #s(literal 2 binary64))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 y)) (sqrt.f64 y))
(*.f64 y (*.f64 (*.f64 y (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) #s(literal 11/2 binary64)))
(*.f64 y (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y (*.f64 #s(literal 11/2 binary64) (*.f64 y y))))))
(*.f64 y (*.f64 y (*.f64 #s(literal 11/2 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))))
(*.f64 y (*.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 11/2 binary64) (*.f64 y y))))
(*.f64 #s(literal 11/2 binary64) (*.f64 y (*.f64 y (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))))
(*.f64 (*.f64 y (*.f64 y (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) #s(literal 11/2 binary64))
(*.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 y (*.f64 y (*.f64 #s(literal 11/2 binary64) (*.f64 y y)))))
(*.f64 (*.f64 y y) (*.f64 #s(literal 11/2 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))))
(*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 #s(literal 11/2 binary64) (*.f64 y y)))
(*.f64 (*.f64 y (*.f64 y (*.f64 #s(literal 11/2 binary64) (*.f64 y y)))) (*.f64 y (*.f64 y (*.f64 y y))))
(*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y (*.f64 y (*.f64 #s(literal 11/2 binary64) (*.f64 y y))))))
(*.f64 (*.f64 y (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 #s(literal 11/2 binary64) (*.f64 y y))))
(*.f64 (*.f64 #s(literal 11/2 binary64) (*.f64 y y)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))
(*.f64 (*.f64 y (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 y #s(literal 11/2 binary64)))
(*.f64 (*.f64 (*.f64 y y) (*.f64 y (*.f64 y y))) (*.f64 y (*.f64 #s(literal 11/2 binary64) (*.f64 y y))))
(*.f64 (*.f64 #s(literal 11/2 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) (*.f64 y y))
(*.f64 (*.f64 (*.f64 y (*.f64 y (*.f64 #s(literal 11/2 binary64) (*.f64 y y)))) y) (*.f64 y (*.f64 y y)))
(*.f64 (*.f64 #s(literal 11/2 binary64) y) (*.f64 y (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))))
(*.f64 (*.f64 (*.f64 #s(literal 11/2 binary64) (*.f64 y y)) y) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y y))))
(*.f64 (*.f64 #s(literal 11/2 binary64) (*.f64 y (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))) y)
(*.f64 (*.f64 (*.f64 y (*.f64 y (*.f64 #s(literal 11/2 binary64) (*.f64 y y)))) (*.f64 y (*.f64 y y))) y)
(*.f64 (*.f64 (*.f64 #s(literal 11/2 binary64) (*.f64 y y)) (*.f64 y (*.f64 y y))) (*.f64 y (*.f64 y y)))
(*.f64 (*.f64 (*.f64 #s(literal 11/2 binary64) (*.f64 y y)) (*.f64 (*.f64 y y) (*.f64 y (*.f64 y y)))) y)
(*.f64 (*.f64 (*.f64 #s(literal 11/2 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y)))) y) y)
(*.f64 #s(literal 11 binary64) x)
(*.f64 x #s(literal 11 binary64))
(*.f64 y (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))))
(*.f64 #s(literal 121 binary64) (*.f64 y (*.f64 y (*.f64 y y))))
(*.f64 (*.f64 y (*.f64 y (*.f64 y y))) #s(literal 121 binary64))
(*.f64 (*.f64 y y) (*.f64 y (*.f64 y #s(literal 121 binary64))))
(*.f64 (*.f64 y (*.f64 y #s(literal 121 binary64))) (*.f64 y y))
(*.f64 (*.f64 y (*.f64 y y)) (*.f64 y #s(literal 121 binary64)))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64)))))
(*.f64 (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))) y)
(*.f64 (*.f64 y #s(literal 121 binary64)) (*.f64 y (*.f64 y y)))
(*.f64 (*.f64 (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))) (sqrt.f64 y)) (sqrt.f64 y))

simplify5.0ms (0.1%)

Memory
9.9MiB live, 9.9MiB allocated
Algorithm
egg-herbie
Rules
16×lower-*.f64
16×lower-*.f32
*-commutative
lower-pow.f64
lower-pow.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014192
118192
018192
Stop Event
iter limit
saturated
Counts
48 → 48
Calls
Call 1
Inputs
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 121 (pow y 4))
(* 121 (pow y 4))
(* 121 (pow y 4))
(* 121 (pow y 4))
(* 121 (pow y 4))
(* 121 (pow y 4))
(* 121 (pow y 4))
(* 121 (pow y 4))
(* 121 (pow y 4))
(* 121 (pow y 4))
(* 121 (pow y 4))
(* 121 (pow y 4))
Outputs
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 121 (pow y 4))
(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
(* 121 (pow y 4))
(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
(* 121 (pow y 4))
(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
(* 121 (pow y 4))
(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
(* 121 (pow y 4))
(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
(* 121 (pow y 4))
(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
(* 121 (pow y 4))
(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
(* 121 (pow y 4))
(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
(* 121 (pow y 4))
(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
(* 121 (pow y 4))
(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
(* 121 (pow y 4))
(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))
(* 121 (pow y 4))
(*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))

eval47.0ms (1.2%)

Memory
-16.2MiB live, 28.9MiB allocated
Compiler

Compiled 4 130 to 226 computations (94.5% saved)

prune6.0ms (0.2%)

Memory
15.3MiB live, 15.3MiB allocated
Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New87188
Fresh000
Picked101
Done000
Total88189
Accuracy
1.4%
Counts
89 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
1.4%
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))) y)) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
Compiler

Compiled 49 to 31 computations (36.7% saved)

simplify0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

localize89.0ms (2.3%)

Memory
2.7MiB live, 158.5MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
accuracy100.0%
(*.f64 #s(literal 11 binary64) x)
accuracy100.0%
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
accuracy100.0%
(*.f64 #s(literal 2 binary64) y)
Samples
50.0ms256×0valid
Compiler

Compiled 297 to 33 computations (88.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 36.0ms
ival-mult: 19.0ms (52.4% of total)
ival-pow: 8.0ms (22.1% of total)
ival-sub: 3.0ms (8.3% of total)
ival-div: 3.0ms (8.3% of total)
ival-add: 3.0ms (8.3% of total)
exact: 1.0ms (2.8% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series2.0ms (0%)

Memory
3.2MiB live, 3.2MiB allocated
Counts
4 → 48
Calls
Call 1
Inputs
#<alt (*.f64 #s(literal 2 binary64) y)>
#<alt (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))>
#<alt (*.f64 #s(literal 11 binary64) x)>
#<alt (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))>
Outputs
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11/2 (pow y 8))>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
Calls

12 calls:

TimeVariablePointExpression
1.0ms
y
@0
(* 1335/4 (pow y 6))
0.0ms
y
@inf
(* 1335/4 (pow y 6))
0.0ms
y
@-inf
(* 1335/4 (pow y 6))
0.0ms
y
@0
(* 2 y)
0.0ms
y
@inf
(* 2 y)

rewrite69.0ms (1.7%)

Memory
-25.3MiB live, 89.6MiB allocated
Algorithm
batch-egg-rewrite
Rules
822×associate-*r*
600×associate-*l*
388×prod-exp
230×lower-*.f32
222×lower-*.f64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01416
02016
13716
27216
318916
458012
0301912
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
4 → 22
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) y)
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(*.f64 #s(literal 11 binary64) x)
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
Outputs
(*.f64 #s(literal 2 binary64) y)
(*.f64 y #s(literal 2 binary64))
(*.f64 y (*.f64 #s(literal 2 binary64) y))
(*.f64 (*.f64 #s(literal 2 binary64) y) y)
(*.f64 #s(literal 11/2 binary64) y)
(*.f64 y #s(literal 11/2 binary64))
(*.f64 y (*.f64 #s(literal 11/2 binary64) y))
(*.f64 (exp.f64 (*.f64 #s(literal 8 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64)))) (*.f64 (exp.f64 (*.f64 #s(literal 8 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64)))) #s(literal 11/2 binary64)))
(*.f64 (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64)))) (*.f64 (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64)))) (*.f64 #s(literal 11/2 binary64) y)))
(*.f64 (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64)))) (*.f64 (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64)))) #s(literal 11/2 binary64)))
(*.f64 (*.f64 #s(literal 11/2 binary64) y) y)
(*.f64 (*.f64 #s(literal 11/2 binary64) (exp.f64 (*.f64 #s(literal 8 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64))))) (exp.f64 (*.f64 #s(literal 8 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64)))))
(*.f64 (*.f64 (*.f64 #s(literal 11/2 binary64) y) (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64))))) (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64)))))
(*.f64 (*.f64 #s(literal 11/2 binary64) (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64))))) (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64)))))
(*.f64 #s(literal 11 binary64) x)
(*.f64 x #s(literal 11 binary64))
(*.f64 #s(literal 1335/4 binary64) y)
(*.f64 y #s(literal 1335/4 binary64))
(*.f64 y (*.f64 #s(literal 1335/4 binary64) y))
(*.f64 (*.f64 #s(literal 1335/4 binary64) y) y)
(*.f64 (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64)))) (*.f64 (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64)))) #s(literal 1335/4 binary64)))
(*.f64 (*.f64 #s(literal 1335/4 binary64) (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64))))) (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (/.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 1/2 binary64)))))

simplify5.0ms (0.1%)

Memory
11.8MiB live, 11.8MiB allocated
Algorithm
egg-herbie
Rules
16×lower-*.f64
16×lower-*.f32
*-commutative
lower-pow.f64
lower-pow.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014192
118192
018192
Stop Event
iter limit
saturated
Counts
48 → 48
Calls
Call 1
Inputs
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11/2 (pow y 8))
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
Outputs
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11/2 (pow y 8))
(*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))

eval13.0ms (0.3%)

Memory
-14.0MiB live, 27.5MiB allocated
Compiler

Compiled 3 404 to 121 computations (96.4% saved)

prune3.0ms (0.1%)

Memory
11.2MiB live, 11.2MiB allocated
Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New69170
Fresh000
Picked101
Done000
Total70171
Accuracy
7.8%
Counts
71 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.8%
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))) y)) #s(literal 2 binary64)))) (*.f64 y #s(literal 11/2 binary64))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
Compiler

Compiled 47 to 29 computations (38.3% saved)

simplify0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

localize93.0ms (2.4%)

Memory
-20.9MiB live, 155.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 x x)
accuracy100.0%
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
accuracy100.0%
(*.f64 #s(literal 11 binary64) x)
accuracy100.0%
(*.f64 #s(literal 2 binary64) y)
Samples
46.0ms256×0valid
Compiler

Compiled 287 to 31 computations (89.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 31.0ms
ival-mult: 19.0ms (62.2% of total)
ival-sub: 3.0ms (9.8% of total)
ival-add: 3.0ms (9.8% of total)
ival-pow: 3.0ms (9.8% of total)
ival-div: 2.0ms (6.5% of total)
exact: 1.0ms (3.3% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series2.0ms (0%)

Memory
3.4MiB live, 3.4MiB allocated
Counts
4 → 48
Calls
Call 1
Inputs
#<alt (*.f64 #s(literal 2 binary64) y)>
#<alt (*.f64 #s(literal 11 binary64) x)>
#<alt (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))>
#<alt (*.f64 x x)>
Outputs
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<alt (* 1335/4 (pow y 6))>
#<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

12 calls:

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

rewrite90.0ms (2.3%)

Memory
-6.6MiB live, 108.8MiB allocated
Algorithm
batch-egg-rewrite
Rules
1 214×lower-*.f32
1 206×lower-*.f64
532×associate-*r*
494×lower-fma.f64
494×lower-fma.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01114
01614
12714
25414
315014
445414
0189314
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
4 → 56
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) y)
(*.f64 #s(literal 11 binary64) x)
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(*.f64 x x)
Outputs
(*.f64 #s(literal 2 binary64) y)
(*.f64 y #s(literal 2 binary64))
(*.f64 #s(literal 11 binary64) x)
(*.f64 x #s(literal 11 binary64))
(*.f64 (sqrt.f64 x) (*.f64 #s(literal 11 binary64) (sqrt.f64 x)))
(*.f64 (sqrt.f64 (sqrt.f64 x)) (*.f64 (sqrt.f64 (sqrt.f64 x)) (*.f64 #s(literal 11 binary64) (sqrt.f64 x))))
(*.f64 (*.f64 #s(literal 11 binary64) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (*.f64 (*.f64 #s(literal 11 binary64) (sqrt.f64 x)) (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x)))
(*.f64 y (*.f64 #s(literal 1335/4 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y y))))
(*.f64 #s(literal 1335/4 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))))
(*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 1335/4 binary64))
(*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y (*.f64 y #s(literal 1335/4 binary64)))))
(*.f64 (*.f64 y y) (*.f64 y (*.f64 y (*.f64 y (*.f64 y #s(literal 1335/4 binary64))))))
(*.f64 (sqrt.f64 (*.f64 y (*.f64 y y))) (*.f64 #s(literal 1335/4 binary64) (*.f64 (*.f64 y (*.f64 y y)) (sqrt.f64 (*.f64 y (*.f64 y y))))))
(*.f64 (*.f64 y (*.f64 y (*.f64 y #s(literal 1335/4 binary64)))) (*.f64 y (*.f64 y y)))
(*.f64 (*.f64 y (*.f64 y (*.f64 y y))) (*.f64 y (*.f64 y #s(literal 1335/4 binary64))))
(*.f64 (pow.f64 y #s(literal 3/4 binary64)) (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 21/4 binary64))))
(*.f64 (*.f64 y #s(literal 1335/4 binary64)) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y y)))
(*.f64 (*.f64 #s(literal 1335/4 binary64) (sqrt.f64 (*.f64 y (*.f64 y y)))) (*.f64 (*.f64 y (*.f64 y y)) (sqrt.f64 (*.f64 y (*.f64 y y)))))
(*.f64 (*.f64 y (*.f64 y (*.f64 y (*.f64 y #s(literal 1335/4 binary64))))) (*.f64 y y))
(*.f64 (*.f64 #s(literal 1335/4 binary64) (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y y))) y)
(*.f64 (*.f64 #s(literal 1335/4 binary64) (*.f64 (*.f64 y (*.f64 y y)) (sqrt.f64 (*.f64 y (*.f64 y y))))) (sqrt.f64 (*.f64 y (*.f64 y y))))
(*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y y)) (*.f64 y #s(literal 1335/4 binary64)))
(*.f64 (*.f64 (*.f64 y (*.f64 y y)) (sqrt.f64 (*.f64 y (*.f64 y y)))) (*.f64 #s(literal 1335/4 binary64) (sqrt.f64 (*.f64 y (*.f64 y y)))))
(*.f64 (*.f64 y (*.f64 y #s(literal 1335/4 binary64))) (*.f64 y (*.f64 y (*.f64 y y))))
(*.f64 (*.f64 y (sqrt.f64 (*.f64 y (*.f64 y y)))) (*.f64 #s(literal 1335/4 binary64) (*.f64 (*.f64 y y) (sqrt.f64 (*.f64 y (*.f64 y y))))))
(*.f64 (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (log.f64 y) #s(literal 1/2 binary64)))) (*.f64 (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (log.f64 y) #s(literal 1/2 binary64)))) #s(literal 1335/4 binary64)))
(*.f64 (pow.f64 y #s(literal 3/8 binary64)) (*.f64 (pow.f64 y #s(literal 3/8 binary64)) (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 21/4 binary64)))))
(*.f64 (pow.f64 y #s(literal 9/4 binary64)) (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 15/4 binary64))))
(*.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 9/4 binary64))) (pow.f64 y #s(literal 15/4 binary64)))
(*.f64 (pow.f64 y #s(literal 21/4 binary64)) (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 3/4 binary64))))
(*.f64 (*.f64 (*.f64 y y) (sqrt.f64 (*.f64 y (*.f64 y y)))) (*.f64 y (*.f64 #s(literal 1335/4 binary64) (sqrt.f64 (*.f64 y (*.f64 y y))))))
(*.f64 (*.f64 y (*.f64 #s(literal 1335/4 binary64) (sqrt.f64 (*.f64 y (*.f64 y y))))) (*.f64 (*.f64 y y) (sqrt.f64 (*.f64 y (*.f64 y y)))))
(*.f64 (*.f64 #s(literal 1335/4 binary64) (*.f64 (*.f64 y y) (sqrt.f64 (*.f64 y (*.f64 y y))))) (*.f64 y (sqrt.f64 (*.f64 y (*.f64 y y)))))
(*.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 15/4 binary64))) (pow.f64 y #s(literal 9/4 binary64)))
(*.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 21/4 binary64))) (pow.f64 y #s(literal 3/4 binary64)))
(*.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 3/4 binary64))) (pow.f64 y #s(literal 21/4 binary64)))
(*.f64 (pow.f64 y #s(literal 15/4 binary64)) (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 9/4 binary64))))
(*.f64 (*.f64 #s(literal 1335/4 binary64) (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (log.f64 y) #s(literal 1/2 binary64))))) (exp.f64 (*.f64 #s(literal 6 binary64) (*.f64 (log.f64 y) #s(literal 1/2 binary64)))))
(*.f64 (*.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 21/4 binary64))) (pow.f64 y #s(literal 3/8 binary64))) (pow.f64 y #s(literal 3/8 binary64)))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 x)))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 2 binary64))) (log.f64 x)))
(pow.f64 x #s(literal 2 binary64))
(pow.f64 (*.f64 x x) #s(literal 1 binary64))
(pow.f64 (sqrt.f64 x) #s(literal 4 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 x))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 1 binary64)) (log.f64 x))
(pow.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 1/2 binary64))
(*.f64 x x)
(*.f64 (sqrt.f64 x) (*.f64 x (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 x (sqrt.f64 x)) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 (sqrt.f64 x)) (*.f64 (sqrt.f64 (sqrt.f64 x)) (*.f64 x (sqrt.f64 x))))
(*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (pow.f64 (*.f64 x (sqrt.f64 x)) #s(literal 1 binary64)) (sqrt.f64 x))
(*.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 x) #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (log.f64 x) #s(literal 2 binary64))))
(*.f64 (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 (sqrt.f64 x))) (sqrt.f64 (sqrt.f64 x)))

simplify5.0ms (0.1%)

Memory
12.5MiB live, 12.5MiB allocated
Algorithm
egg-herbie
Rules
14×lower-*.f64
14×lower-*.f32
*-commutative
lower-pow.f64
lower-pow.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011168
115168
015168
Stop Event
iter limit
saturated
Counts
48 → 48
Calls
Call 1
Inputs
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(* 1335/4 (pow y 6))
(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
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(* 1335/4 (pow y 6))
(*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64)))
(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)

eval20.0ms (0.5%)

Memory
0.3MiB live, 39.7MiB allocated
Compiler

Compiled 5 075 to 350 computations (93.1% saved)

prune7.0ms (0.2%)

Memory
15.7MiB live, 15.7MiB allocated
Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New1031104
Fresh000
Picked101
Done000
Total1041105
Accuracy
7.8%
Counts
105 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.8%
(+.f64 (+.f64 (+.f64 (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 1335/4 binary64)) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))) y)) #s(literal 2 binary64)))) (*.f64 y #s(literal 11/2 binary64))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
Compiler

Compiled 55 to 31 computations (43.6% saved)

simplify0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

localize99.0ms (2.5%)

Memory
13.1MiB live, 284.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 y #s(literal 11/2 binary64))
accuracy100.0%
(*.f64 x x)
accuracy100.0%
(*.f64 #s(literal 11 binary64) x)
accuracy100.0%
(*.f64 #s(literal 2 binary64) y)
Samples
50.0ms256×0valid
Compiler

Compiled 335 to 33 computations (90.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 34.0ms
ival-mult: 23.0ms (67.2% of total)
ival-sub: 3.0ms (8.8% of total)
ival-add: 3.0ms (8.8% of total)
ival-div: 2.0ms (5.8% of total)
ival-pow: 2.0ms (5.8% of total)
exact: 1.0ms (2.9% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series4.0ms (0.1%)

Memory
-36.0MiB live, 3.6MiB allocated
Counts
4 → 48
Calls
Call 1
Inputs
#<alt (*.f64 #s(literal 2 binary64) y)>
#<alt (*.f64 #s(literal 11 binary64) x)>
#<alt (*.f64 x x)>
#<alt (*.f64 y #s(literal 11/2 binary64))>
Outputs
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 2 y)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<alt (* 11 x)>
#<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 (* 11/2 y)>
#<alt (* 11/2 y)>
#<alt (* 11/2 y)>
#<alt (* 11/2 y)>
#<alt (* 11/2 y)>
#<alt (* 11/2 y)>
#<alt (* 11/2 y)>
#<alt (* 11/2 y)>
#<alt (* 11/2 y)>
#<alt (* 11/2 y)>
#<alt (* 11/2 y)>
#<alt (* 11/2 y)>
Calls

12 calls:

TimeVariablePointExpression
3.0ms
y
@-inf
(* y 11/2)
0.0ms
y
@0
(* y 11/2)
0.0ms
y
@inf
(* y 11/2)
0.0ms
y
@0
(* 2 y)
0.0ms
y
@inf
(* 2 y)

rewrite113.0ms (2.9%)

Memory
5.2MiB live, 293.5MiB allocated
Algorithm
batch-egg-rewrite
Rules
2 136×lower-pow.f64
2 136×lower-pow.f32
1 596×lower-*.f32
1 592×lower-*.f64
1 412×prod-exp
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0912
01312
11712
22412
34012
49212
52588
615548
715798
817028
929078
082778
Stop Event
iter limit
node limit
iter limit
Counts
4 → 7
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) y)
(*.f64 #s(literal 11 binary64) x)
(*.f64 x x)
(*.f64 y #s(literal 11/2 binary64))
Outputs
(*.f64 #s(literal 2 binary64) y)
(*.f64 y #s(literal 2 binary64))
#s(literal 11 binary64)
#s(literal 1 binary64)
x
(*.f64 y #s(literal 11/2 binary64))
(*.f64 #s(literal 11/2 binary64) y)

simplify5.0ms (0.1%)

Memory
16.4MiB live, 16.4MiB allocated
Algorithm
egg-herbie
Rules
14×lower-*.f64
14×lower-*.f32
*-commutative
lower-pow.f64
unpow2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09144
113144
013144
Stop Event
iter limit
saturated
Counts
48 → 48
Calls
Call 1
Inputs
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(* 11 x)
(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)
(* 11/2 y)
(* 11/2 y)
(* 11/2 y)
(* 11/2 y)
(* 11/2 y)
(* 11/2 y)
(* 11/2 y)
(* 11/2 y)
(* 11/2 y)
(* 11/2 y)
(* 11/2 y)
(* 11/2 y)
Outputs
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 binary64) x)
(* 11 x)
(*.f64 #s(literal 11 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)
(* 11/2 y)
(*.f64 y #s(literal 11/2 binary64))
(* 11/2 y)
(*.f64 y #s(literal 11/2 binary64))
(* 11/2 y)
(*.f64 y #s(literal 11/2 binary64))
(* 11/2 y)
(*.f64 y #s(literal 11/2 binary64))
(* 11/2 y)
(*.f64 y #s(literal 11/2 binary64))
(* 11/2 y)
(*.f64 y #s(literal 11/2 binary64))
(* 11/2 y)
(*.f64 y #s(literal 11/2 binary64))
(* 11/2 y)
(*.f64 y #s(literal 11/2 binary64))
(* 11/2 y)
(*.f64 y #s(literal 11/2 binary64))
(* 11/2 y)
(*.f64 y #s(literal 11/2 binary64))
(* 11/2 y)
(*.f64 y #s(literal 11/2 binary64))
(* 11/2 y)
(*.f64 y #s(literal 11/2 binary64))

eval9.0ms (0.2%)

Memory
-15.0MiB live, 26.0MiB allocated
Compiler

Compiled 2 911 to 55 computations (98.1% saved)

prune5.0ms (0.1%)

Memory
15.2MiB live, 15.2MiB allocated
Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New54155
Fresh000
Picked101
Done000
Total55156
Accuracy
8.1%
Counts
56 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
8.1%
(+.f64 (+.f64 (+.f64 (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 1335/4 binary64)) (*.f64 x (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))) y)) #s(literal 2 binary64)))) (*.f64 y #s(literal 11/2 binary64))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
Compiler

Compiled 294 to 83 computations (71.8% saved)

regimes6.0ms (0.2%)

Memory
-22.4MiB live, 17.2MiB allocated
Accuracy

Total -4.3b remaining (-7.3%)

Threshold costs -4.3b (-7.3%)

Counts
5 → 1
Calls
Call 1
Inputs
(+.f64 (+.f64 (+.f64 (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 1335/4 binary64)) (*.f64 x (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))) y)) #s(literal 2 binary64)))) (*.f64 y #s(literal 11/2 binary64))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
(+.f64 (+.f64 (+.f64 (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 1335/4 binary64)) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))) y)) #s(literal 2 binary64)))) (*.f64 y #s(literal 11/2 binary64))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))) y)) #s(literal 2 binary64)))) (*.f64 y #s(literal 11/2 binary64))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))) y)) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
Outputs
(+.f64 (+.f64 (+.f64 (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 1335/4 binary64)) (*.f64 x (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))) y)) #s(literal 2 binary64)))) (*.f64 y #s(literal 11/2 binary64))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
Calls

3 calls:

2.0ms
y
2.0ms
(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
2.0ms
x
Results
AccuracySegmentsBranch
8.1%1x
8.1%1y
8.1%1(+.f64 (+.f64 (+.f64 (*.f64 #s(literal 1335/4 binary64) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 x x) (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 121 binary64) (pow.f64 y #s(literal 4 binary64)))) #s(literal 2 binary64)))) (*.f64 #s(literal 11/2 binary64) (pow.f64 y #s(literal 8 binary64)))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
Compiler

Compiled 51 to 34 computations (33.3% saved)

simplify8.0ms (0.2%)

Memory
19.5MiB live, 19.5MiB allocated
Algorithm
egg-herbie
Rules
40×*-commutative_binary64
28×+-commutative_binary64
22×sub-neg_binary64
16×neg-sub0_binary64
16×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03051
15451
27851
39951
411151
511651
611751
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (+.f64 (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 1335/4 binary64)) (*.f64 x (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))) y)) #s(literal 2 binary64)))) (*.f64 y #s(literal 11/2 binary64))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
Outputs
(+.f64 (+.f64 (+.f64 (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 1335/4 binary64)) (*.f64 x (-.f64 (-.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 #s(literal 11 binary64) x) x) y) y) (pow.f64 y #s(literal 6 binary64))) (*.f64 (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))) y)) #s(literal 2 binary64)))) (*.f64 y #s(literal 11/2 binary64))) (/.f64 x (*.f64 #s(literal 2 binary64) y)))
(+.f64 (+.f64 (+.f64 (*.f64 (*.f64 (*.f64 y (*.f64 y y)) (*.f64 y (*.f64 y y))) #s(literal 1335/4 binary64)) (*.f64 x (-.f64 (-.f64 (-.f64 (*.f64 y (*.f64 y (*.f64 x (*.f64 x #s(literal 11 binary64))))) (pow.f64 y #s(literal 6 binary64))) (*.f64 y (*.f64 (*.f64 y y) (*.f64 y #s(literal 121 binary64))))) #s(literal 2 binary64)))) (*.f64 y #s(literal 11/2 binary64))) (/.f64 x (*.f64 y #s(literal 2 binary64))))

soundness1.5s (38.8%)

Memory
1.5MiB live, 355.9MiB allocated
Rules
2 136×lower-pow.f64
2 136×lower-pow.f32
1 596×lower-*.f32
1 592×lower-*.f64
1 412×prod-exp
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01416
02016
13716
27216
318916
458012
0301912
0912
01312
11712
22412
34012
49212
52588
615548
715798
817028
929078
082778
01114
01614
12714
25414
315014
445414
0189314
01416
02016
13416
26916
318516
073216
Stop Event
fuel
iter limit
iter limit
iter limit
unsound
iter limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
iter limit
node limit
iter limit
Compiler

Compiled 255 to 126 computations (50.6% saved)

preprocess48.0ms (1.2%)

Memory
1.2MiB live, 121.0MiB allocated
Remove

(sort x y)

(abs x)

(abs y)

Compiler

Compiled 832 to 480 computations (42.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...