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

Time bar (total: 4.9s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.7MiB live, 0.7MiB 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)

sample604.0ms (12.2%)

Memory
-25.0MiB live, 1 015.1MiB allocated
Samples
362.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 190.0ms
ival-mult: 176.0ms (92.8% of total)
ival-true: 6.0ms (3.2% of total)
exact: 5.0ms (2.6% of total)
ival-assert: 3.0ms (1.6% of total)
Bogosity

explain98.0ms (2%)

Memory
-13.2MiB live, 109.3MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
300-0-(*.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*u190
*.f64(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)n*o110
Confusion
Predicted +Predicted -
+300
-0226
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+3000
-00226
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0226
130
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
44.0ms512×0valid
Compiler

Compiled 49 to 22 computations (55.1% saved)

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

preprocess41.0ms (0.8%)

Memory
16.6MiB live, 55.8MiB allocated
Algorithm
egg-herbie
Rules
562×unsub-neg
218×associate-*r*
214×distribute-lft-in
188×distribute-lft-neg-in
136×associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01641
15635
218735
355035
498335
5139235
6140635
7140635
8140935
067
097
1157
2297
3457
4497
0497
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
Outputs
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
(*.f64 (*.f64 x #s(literal 3 binary64)) (*.f64 x y))
Symmetry

(abs x)

(negabs y)

Compiler

Compiled 9 to 6 computations (33.3% saved)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

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

Compiled 9 to 6 computations (33.3% saved)

simplify5.0ms (0.1%)

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

Found 3 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)
Rules
62×lower-*.f32
56×lower-*.f64
32×associate-*r*
24×associate-*l*
14×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0618
0918
11518
22918
34518
44918
04918
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(*.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
y
Outputs
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
(*.f64 (*.f64 x #s(literal 3 binary64)) (*.f64 x y))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(*.f64 x (*.f64 x #s(literal 3 binary64)))
(*.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
y

localize25.0ms (0.5%)

Memory
-12.1MiB live, 26.9MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x #s(literal 3 binary64))
accuracy0.109375
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
accuracy6.602349263090565
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
Samples
19.0ms256×0valid
Compiler

Compiled 20 to 8 computations (60% saved)

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

series5.0ms (0.1%)

Memory
8.2MiB live, 8.2MiB allocated
Counts
3 → 48
Calls
Call 1
Inputs
#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())
#s(alt (*.f64 (*.f64 x #s(literal 3 binary64)) x) (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())
#s(alt (*.f64 x #s(literal 3 binary64)) (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) (patch (*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x #s(literal 3 binary64)) x) (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x #s(literal 3 binary64)) x) (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x #s(literal 3 binary64)) x) (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x #s(literal 3 binary64)) x) (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x #s(literal 3 binary64)) x) (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x #s(literal 3 binary64)) x) (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x #s(literal 3 binary64)) x) (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x #s(literal 3 binary64)) x) (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x #s(literal 3 binary64)) x) (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x #s(literal 3 binary64)) x) (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x #s(literal 3 binary64)) x) (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x #s(literal 3 binary64)) x) (patch (*.f64 (*.f64 x #s(literal 3 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 3 binary64)) (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 3 binary64)) (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 3 binary64)) (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 3 binary64)) (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 3 binary64)) (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 3 binary64)) (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 3 binary64)) (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 3 binary64)) (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 3 binary64)) (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 3 binary64)) (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 3 binary64)) (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 3 binary64)) (patch (*.f64 x #s(literal 3 binary64)) #<representation binary64>) () ())) ())
Calls

12 calls:

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

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
09264
115264
227264
347264
448264
048264
Stop Event
iter limit
saturated
Counts
48 → 48
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))
(* 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)))
(* 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)

rewrite133.0ms (2.7%)

Memory
-24.9MiB live, 94.2MiB allocated
Rules
2 096×lower-pow.f64
2 096×lower-pow.f32
1 412×prod-exp
1 264×lower-*.f32
1 262×lower-*.f64
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
0615
0917
11517
22917
34717
45817
57417
614617
74445
822555
922815
1024045
1136205
085845
Stop Event
iter limit
node limit
iter limit
Counts
3 → 6
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(*.f64 x #s(literal 3 binary64))
Outputs
(*.f64 #s(literal 1 binary64) (*.f64 y #s(literal 3 binary64)))
(*.f64 (*.f64 y #s(literal 3 binary64)) #s(literal 1 binary64))
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) y)
#s(literal 3 binary64)
#s(literal 3 binary64)

eval4.0ms (0.1%)

Memory
12.7MiB live, 12.7MiB allocated
Compiler

Compiled 410 to 18 computations (95.6% saved)

prune4.0ms (0.1%)

Memory
11.3MiB live, 11.3MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New50454
Fresh000
Picked011
Done000
Total50555
Accuracy
99.9%
Counts
55 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
89.6%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
33.1%
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
89.6%
(*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y)
5.2%
(*.f64 y #s(literal 3 binary64))
99.7%
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))))
Compiler

Compiled 41 to 27 computations (34.1% saved)

simplify6.0ms (0.1%)

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

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal 3 binary64) x)
cost-diff0
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 #s(literal 3 binary64) (*.f64 x x))
cost-diff0
#s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x)))
cost-diff0
(*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y)
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)))
cost-diff0
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))))
Rules
66×lower-*.f32
48×lower-*.f64
20×*-commutative
18×associate-*r*
18×lift-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01784
02684
14284
25284
05284
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
#s(literal 3 binary64)
(*.f64 x (*.f64 x y))
x
(*.f64 x y)
y
(*.f64 y #s(literal 3 binary64))
y
#s(literal 3 binary64)
(*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y)
#s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x)))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
#s(literal 3 binary64)
(*.f64 x x)
x
y
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
(*.f64 #s(literal 3 binary64) x)
#s(literal 3 binary64)
x
y
Outputs
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))))
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 y (*.f64 x x))))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(*.f64 #s(literal 3 binary64) (*.f64 y (*.f64 x x)))
#s(literal 3 binary64)
(*.f64 x (*.f64 x y))
(*.f64 y (*.f64 x x))
x
(*.f64 x y)
y
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) y)
y
#s(literal 3 binary64)
(*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y)
(*.f64 y #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))))
#s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x)))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
#s(literal 3 binary64)
(*.f64 x x)
x
y
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
(*.f64 x (*.f64 #s(literal 3 binary64) y))
(*.f64 #s(literal 3 binary64) x)
(*.f64 x #s(literal 3 binary64))
#s(literal 3 binary64)
x
y

localize134.0ms (2.7%)

Memory
8.4MiB live, 48.1MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 #s(literal 3 binary64) x)
accuracy0.21484375
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
accuracy0
(*.f64 x x)
accuracy0
#s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x)))
accuracy0.140625
(*.f64 #s(literal 3 binary64) (*.f64 x x))
accuracy6.602349263090565
(*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y)
accuracy0
(*.f64 y #s(literal 3 binary64))
accuracy0
(*.f64 x y)
accuracy0
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))))
accuracy0.1328125
(*.f64 x (*.f64 x y))
accuracy0.14453125
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
Samples
119.0ms256×0valid
Compiler

Compiled 66 to 16 computations (75.8% saved)

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

series63.0ms (1.3%)

Memory
-27.1MiB live, 12.4MiB allocated
Counts
11 → 204
Calls
Call 1
Inputs
#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())
#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())
#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())
#s(alt (*.f64 y #s(literal 3 binary64)) (patch (*.f64 y #s(literal 3 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())
#s(alt #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) (patch #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x x)) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 3 binary64) x) (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())
Outputs
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) (patch (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 x) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 x) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 x) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 x) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf x) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf x) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf x) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf x) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf x) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf x) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf x) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf x) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 y) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 y) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 y) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 y) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf y) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf y) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf y) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf y) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf y) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf y) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf y) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf y) (#s(alt (*.f64 x (*.f64 x y)) (patch (*.f64 x (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 3 binary64)) (patch (*.f64 y #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 3 binary64)) (patch (*.f64 y #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 3 binary64)) (patch (*.f64 y #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 3 binary64)) (patch (*.f64 y #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 3 binary64)) (patch (*.f64 y #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 3 binary64)) (patch (*.f64 y #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 3 binary64)) (patch (*.f64 y #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 3 binary64)) (patch (*.f64 y #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 3 binary64)) (patch (*.f64 y #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 3 binary64)) (patch (*.f64 y #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 3 binary64)) (patch (*.f64 y #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 3 binary64)) (patch (*.f64 y #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) (patch #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) (patch #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) (patch #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) (patch #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) (patch #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) (patch #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) (patch #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) (patch #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) (patch #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) (patch #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) (patch #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) (patch #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x x)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) x) y) (patch (*.f64 (*.f64 #s(literal 3 binary64) x) y) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) x) (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) x) (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) x) (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) x) (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) x) (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) x) (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) x) (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) x) (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) x) (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) x) (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) x) (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* 3 x) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) x) (patch (*.f64 #s(literal 3 binary64) x) #<representation binary64>) () ())) ())
Calls

51 calls:

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

simplify9.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0121044
1221044
2321044
3361044
0361044
Stop Event
iter limit
saturated
Counts
204 → 204
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))
(* 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 (* (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 (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)
(* 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)
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)))
(* 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 (* (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 (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))
(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 (* 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)

rewrite128.0ms (2.6%)

Memory
-2.0MiB live, 77.3MiB allocated
Rules
2 096×lower-pow.f64
2 096×lower-pow.f32
1 412×prod-exp
1 276×lower-*.f32
1 268×lower-*.f64
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01773
02683
14483
26183
37783
414983
544633
6224629
7227529
8240429
9362729
0858229
Stop Event
iter limit
node limit
iter limit
Counts
11 → 30
Calls
Call 1
Inputs
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))))
(*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y)))
(*.f64 x (*.f64 x y))
(*.f64 x y)
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y)
#s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x)))
(*.f64 #s(literal 3 binary64) (*.f64 x x))
(*.f64 x x)
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
(*.f64 #s(literal 3 binary64) x)
Outputs
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) y))
(*.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(approx (* (* x 3) x) #s(literal 3 binary64)) y))
(*.f64 #s(approx (* (* x 3) x) #s(literal 3 binary64)) y)
(*.f64 y #s(approx (* (* x 3) x) #s(literal 3 binary64)))
(*.f64 (*.f64 #s(approx (* (* x 3) x) #s(literal 3 binary64)) y) #s(literal 1 binary64))
#s(approx (* (* x 3) x) #s(literal 3 binary64))
(*.f64 #s(literal 1 binary64) #s(approx (* (* x 3) x) #s(literal 3 binary64)))
(*.f64 #s(approx (* (* x 3) x) #s(literal 3 binary64)) #s(literal 1 binary64))
#s(literal 3 binary64)
#s(literal 1 binary64)
x
(*.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)

eval54.0ms (1.1%)

Memory
-10.0MiB live, 28.6MiB allocated
Compiler

Compiled 1 759 to 29 computations (98.4% saved)

prune10.0ms (0.2%)

Memory
15.1MiB live, 15.1MiB allocated
Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New2331234
Fresh000
Picked044
Done011
Total2336239
Accuracy
99.9%
Counts
239 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
89.6%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
33.1%
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
89.6%
(*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y)
5.2%
(*.f64 y #s(literal 3 binary64))
99.7%
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))))
33.1%
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
Compiler

Compiled 49 to 32 computations (34.7% saved)

simplify5.0ms (0.1%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x y)
cost-diff0
(*.f64 #s(literal 3 binary64) (*.f64 x y))
cost-diff0
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
Rules
62×lower-*.f32
58×lower-*.f64
30×associate-*r*
18×associate-*l*
12×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0924
01124
12024
23524
34524
44524
04524
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
#s(literal 3 binary64)
(*.f64 x y)
x
y
Outputs
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 x #s(literal 3 binary64)) y))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(*.f64 (*.f64 x #s(literal 3 binary64)) y)
#s(literal 3 binary64)
(*.f64 x y)
x
y

localize59.0ms (1.2%)

Memory
-17.2MiB live, 22.4MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x y)
accuracy0.25
(*.f64 #s(literal 3 binary64) (*.f64 x y))
accuracy42.79998025481545
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
Samples
13.0ms256×0valid
Compiler

Compiled 20 to 10 computations (50% saved)

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

series2.0ms (0%)

Memory
1.9MiB live, 1.9MiB allocated
Counts
3 → 72
Calls
Call 1
Inputs
#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())
#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())
Outputs
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf x) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf y) (#s(alt (*.f64 #s(literal 3 binary64) (*.f64 x y)) (patch (*.f64 #s(literal 3 binary64) (*.f64 x y)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())) ())
Calls

18 calls:

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

simplify5.0ms (0.1%)

Memory
4.4MiB live, 4.4MiB allocated
Algorithm
egg-herbie
Rules
62×lower-*.f64
62×lower-*.f32
20×associate-*r*
20×associate-*l*
18×*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09360
118360
233360
342360
042360
Stop Event
iter limit
saturated
Counts
72 → 72
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))
(* 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)
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)))
(* 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)

rewrite139.0ms (2.8%)

Memory
0.1MiB live, 84.1MiB allocated
Rules
2 096×lower-pow.f64
2 096×lower-pow.f32
1 412×prod-exp
1 264×lower-*.f32
1 260×lower-*.f64
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
0921
01123
12023
23523
34723
45423
57023
614223
744113
8227611
9230211
10242511
11363111
0855211
Stop Event
iter limit
node limit
iter limit
Counts
3 → 8
Calls
Call 1
Inputs
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(*.f64 x y)
Outputs
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) y))
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 3 binary64) y))
(*.f64 #s(literal 3 binary64) y)
(*.f64 (*.f64 #s(literal 3 binary64) y) #s(literal 1 binary64))
(*.f64 y #s(literal 3 binary64))
y
(*.f64 #s(literal 1 binary64) y)
(*.f64 y #s(literal 1 binary64))

eval7.0ms (0.1%)

Memory
15.7MiB live, 15.7MiB allocated
Compiler

Compiled 570 to 16 computations (97.2% saved)

prune67.0ms (1.4%)

Memory
-25.6MiB live, 12.6MiB allocated
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New80080
Fresh000
Picked011
Done055
Total80686
Accuracy
99.9%
Counts
86 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
89.6%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
33.1%
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
89.6%
(*.f64 #s(approx (* (* x 3) x) (*.f64 #s(literal 3 binary64) (*.f64 x x))) y)
5.2%
(*.f64 y #s(literal 3 binary64))
99.7%
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x (*.f64 x y))))
33.1%
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) (*.f64 x y)))
Compiler

Compiled 88 to 48 computations (45.5% saved)

regimes10.0ms (0.2%)

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

4 calls:

3.0ms
x
3.0ms
y
2.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)

regimes64.0ms (1.3%)

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

4 calls:

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

Compiled 22 to 15 computations (31.8% saved)

regimes5.0ms (0.1%)

Memory
11.8MiB live, 11.8MiB 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

4 calls:

1.0ms
x
1.0ms
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
1.0ms
y
1.0ms
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
Results
AccuracySegmentsBranch
5.2%1(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
5.2%1y
5.2%1x
5.2%1(*.f64 (*.f64 x #s(literal 3 binary64)) x)
Compiler

Compiled 22 to 15 computations (31.8% saved)

simplify5.0ms (0.1%)

Memory
9.7MiB live, 9.7MiB allocated
Algorithm
egg-herbie
Rules
10×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

soundness3.1s (62.8%)

Memory
-11.5MiB live, 142.0MiB allocated
Rules
2 096×lower-pow.f64
2 096×lower-pow.f32
2 096×lower-pow.f64
2 096×lower-pow.f32
1 412×prod-exp
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
01773
02683
14483
26183
37783
414983
544633
6224629
7227529
8240429
9362729
0858229
09264
115264
227264
347264
448264
048264
0615
0917
11517
22917
34717
45817
57417
614617
74445
822555
922815
1024045
1136205
085845
Stop Event
done
iter limit
node limit
iter limit
iter limit
saturated
iter limit
node limit
iter limit
Compiler

Compiled 37 to 20 computations (45.9% saved)

preprocess134.0ms (2.7%)

Memory
7.5MiB live, 89.1MiB allocated
Remove

(negabs y)

(abs x)

Compiler

Compiled 154 to 88 computations (42.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...