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

Time bar (total: 6.1s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

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

sample505.0ms (8.3%)

Memory
7.7MiB live, 1 009.2MiB allocated
Samples
307.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 161.0ms
ival-mult: 148.0ms (91.9% of total)
ival-true: 5.0ms (3.1% of total)
exact: 4.0ms (2.5% of total)
ival-assert: 3.0ms (1.9% of total)
Bogosity

explain95.0ms (1.6%)

Memory
-47.9MiB live, 66.7MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
430-2(6.809792080515963e-158 2.812927723892111e+252)(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
00-0-(*.f64 (*.f64 x #s(literal 3 binary64)) x)
00-0-y
00-0-#s(literal 3 binary64)
00-0-(*.f64 x #s(literal 3 binary64))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
*.f64(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)n*o210
*.f64(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)n*u200
Confusion
Predicted +Predicted -
+412
-0213
Precision
1.0
Recall
0.9534883720930233
Confusion?
Predicted +Predicted MaybePredicted -
+4102
-00213
Precision?
1.0
Recall?
0.9534883720930233
Freqs
test
numberfreq
0215
141
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
49.0ms512×0valid
Compiler

Compiled 49 to 22 computations (55.1% saved)

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

preprocess36.0ms (0.6%)

Memory
29.9MiB live, 29.9MiB 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 y (*.f64 (*.f64 #s(literal 3 binary64) x) x))
Symmetry

(abs x)

(negabs y)

Compiler

Compiled 9 to 6 computations (33.3% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

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

Compiled 9 to 6 computations (33.3% saved)

simplify35.0ms (0.6%)

Memory
-32.4MiB live, 6.3MiB 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 y (*.f64 (*.f64 #s(literal 3 binary64) x) x))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 x #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) x)
x
#s(literal 3 binary64)
y

localize14.0ms (0.2%)

Memory
14.0MiB live, 14.0MiB 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)
accuracy9.622130930611256
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
Samples
10.0ms256×0valid
Compiler

Compiled 20 to 8 computations (60% saved)

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

series6.0ms (0.1%)

Memory
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 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) 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)) (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 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 (* (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)) (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 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 (* (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)) (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 -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

6 calls:

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

simplify5.0ms (0.1%)

Memory
2.5MiB live, 2.5MiB 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))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 (pow x 2))
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
Outputs
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))

rewrite129.0ms (2.1%)

Memory
-16.1MiB live, 65.3MiB 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 3 binary64) y)
(*.f64 y #s(literal 3 binary64))
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
(*.f64 x (*.f64 #s(literal 3 binary64) y))
#s(literal 3 binary64)
#s(literal 3 binary64)

eval4.0ms (0.1%)

Memory
5.2MiB live, 5.2MiB allocated
Compiler

Compiled 410 to 17 computations (95.9% saved)

prune6.0ms (0.1%)

Memory
10.5MiB live, 10.5MiB allocated
Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New49554
Fresh000
Picked011
Done000
Total49655
Accuracy
85.1%
Counts
55 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.9%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
25.7%
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
25.7%
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
84.9%
(*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y)
4.7%
(*.f64 y #s(literal 3 binary64))
84.9%
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)))
Compiler

Compiled 87 to 58 computations (33.3% saved)

simplify6.0ms (0.1%)

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

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 (*.f64 x x) #s(literal 3 binary64))
cost-diff0
#s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64)))
cost-diff0
(*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y)
cost-diff0
(*.f64 #s(literal 3 binary64) y)
cost-diff0
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
cost-diff0
(*.f64 #s(literal 3 binary64) x)
cost-diff0
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
cost-diff0
(*.f64 y #s(literal 3 binary64))
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 y (*.f64 x x))
cost-diff0
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
cost-diff0
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)))
Rules
66×lower-*.f32
46×lower-*.f64
26×*-commutative
20×lift-*.f64
18×associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01895
02895
14895
25895
05895
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(*.f64 y (*.f64 x x))
y
(*.f64 x x)
x
#s(literal 3 binary64)
(*.f64 y #s(literal 3 binary64))
y
#s(literal 3 binary64)
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
(*.f64 #s(literal 3 binary64) x)
#s(literal 3 binary64)
x
y
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
(*.f64 #s(literal 3 binary64) y)
#s(literal 3 binary64)
y
x
(*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y)
#s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64)))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 x x)
x
#s(literal 3 binary64)
y
Outputs
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)))
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y x) (*.f64 #s(literal 3 binary64) x)))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(*.f64 (*.f64 y x) (*.f64 #s(literal 3 binary64) x))
(*.f64 y (*.f64 x x))
(*.f64 (*.f64 x x) y)
y
(*.f64 x x)
x
#s(literal 3 binary64)
(*.f64 y #s(literal 3 binary64))
y
#s(literal 3 binary64)
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
(*.f64 (*.f64 y #s(literal 3 binary64)) x)
(*.f64 #s(literal 3 binary64) x)
#s(literal 3 binary64)
x
y
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
(*.f64 (*.f64 y #s(literal 3 binary64)) x)
(*.f64 #s(literal 3 binary64) y)
(*.f64 y #s(literal 3 binary64))
#s(literal 3 binary64)
y
x
(*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y)
(*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 #s(literal 3 binary64) x) x)) y)
#s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64)))
#s(approx (* (* x 3) x) (*.f64 (*.f64 #s(literal 3 binary64) x) x))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (*.f64 #s(literal 3 binary64) x) x)
(*.f64 x x)
x
#s(literal 3 binary64)
y

localize57.0ms (0.9%)

Memory
3.6MiB live, 42.6MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x x)
accuracy0
#s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64)))
accuracy0.15625
(*.f64 (*.f64 x x) #s(literal 3 binary64))
accuracy9.622130930611256
(*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y)
accuracy0
(*.f64 #s(literal 3 binary64) y)
accuracy0.21875
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
accuracy0
(*.f64 #s(literal 3 binary64) x)
accuracy0.19140625
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
accuracy0
(*.f64 y #s(literal 3 binary64))
accuracy0
(*.f64 x x)
accuracy0
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)))
accuracy0.18359375
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
accuracy9.614918066643032
(*.f64 y (*.f64 x x))
Samples
47.0ms256×0valid
Compiler

Compiled 77 to 17 computations (77.9% saved)

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

series50.0ms (0.8%)

Memory
-26.4MiB live, 12.5MiB allocated
Counts
12 → 216
Calls
Call 1
Inputs
#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt (*.f64 y #s(literal 3 binary64)) (patch (*.f64 y #s(literal 3 binary64)) #<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>) () ())
#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 3 binary64) y) (patch (*.f64 #s(literal 3 binary64) y) #<representation binary64>) () ())
#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())
#s(alt #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) (patch #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 (*.f64 x x) #s(literal 3 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 y) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 y) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 y) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 y) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<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 (* 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 0 y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor 0 y) (#s(alt (*.f64 #s(literal 3 binary64) y) (patch (*.f64 #s(literal 3 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor 0 y) (#s(alt (*.f64 #s(literal 3 binary64) y) (patch (*.f64 #s(literal 3 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor 0 y) (#s(alt (*.f64 #s(literal 3 binary64) y) (patch (*.f64 #s(literal 3 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor 0 y) (#s(alt (*.f64 #s(literal 3 binary64) y) (patch (*.f64 #s(literal 3 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf y) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf y) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf y) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf y) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<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 (* 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) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor inf y) (#s(alt (*.f64 #s(literal 3 binary64) y) (patch (*.f64 #s(literal 3 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor inf y) (#s(alt (*.f64 #s(literal 3 binary64) y) (patch (*.f64 #s(literal 3 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor inf y) (#s(alt (*.f64 #s(literal 3 binary64) y) (patch (*.f64 #s(literal 3 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor inf y) (#s(alt (*.f64 #s(literal 3 binary64) y) (patch (*.f64 #s(literal 3 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf y) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf y) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf y) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf y) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<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 (* 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) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf y) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor -inf y) (#s(alt (*.f64 #s(literal 3 binary64) y) (patch (*.f64 #s(literal 3 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor -inf y) (#s(alt (*.f64 #s(literal 3 binary64) y) (patch (*.f64 #s(literal 3 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor -inf y) (#s(alt (*.f64 #s(literal 3 binary64) y) (patch (*.f64 #s(literal 3 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* 3 y) (taylor -inf y) (#s(alt (*.f64 #s(literal 3 binary64) y) (patch (*.f64 #s(literal 3 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf y) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 x) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 x) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 x) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor 0 x) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.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 (* 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) (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 y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor 0 x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor 0 x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) (patch #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) (patch #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) (patch #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) (patch #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x x) #s(literal 3 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x x) #s(literal 3 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x x) #s(literal 3 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor 0 x) (#s(alt (*.f64 (*.f64 x x) #s(literal 3 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf x) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf x) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf x) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor inf x) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.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 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) (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 y)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) (patch #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) (patch #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) (patch #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) (patch #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 3 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 3 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 3 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 3 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) (patch #s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) (patch (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf x) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf x) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf x) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) y) (taylor -inf x) (#s(alt (*.f64 y (*.f64 x x)) (patch (*.f64 y (*.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 -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) (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 y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* x y)) (taylor -inf x) (#s(alt (*.f64 (*.f64 #s(literal 3 binary64) y) x) (patch (*.f64 (*.f64 #s(literal 3 binary64) y) x) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (* (pow x 2) y)) (taylor -inf x) (#s(alt (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) (patch (*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) (patch #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) (patch #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) (patch #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) (patch #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 3 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 3 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 3 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 3 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (*.f64 x x) #s(literal 3 binary64)) (patch (*.f64 (*.f64 x x) #s(literal 3 binary64)) #<representation binary64>) () ())) ())
Calls

6 calls:

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

simplify8.0ms (0.1%)

Memory
7.2MiB live, 7.2MiB 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
0121128
1221128
2321128
3361128
0361128
Stop Event
iter limit
saturated
Counts
216 → 216
Calls
Call 1
Inputs
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* 3 (* (pow x 2) y))
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 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))
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 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))
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 y)
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 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))
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(* (pow x 2) y)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x 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) 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)
(pow x 2)
(pow x 2)
(pow x 2)
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x 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) 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)
(pow x 2)
(pow x 2)
(pow x 2)
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 x)
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x 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))
Outputs
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.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 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.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 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.f64 x x))
(* (pow x 2) y)
(*.f64 y (*.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 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 x)
(*.f64 x #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(* 3 (pow x 2))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)

rewrite116.0ms (1.9%)

Memory
19.5MiB live, 58.5MiB allocated
Rules
2 096×lower-pow.f64
2 096×lower-pow.f32
1 412×prod-exp
1 276×lower-*.f32
1 266×lower-*.f64
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01878
02888
15088
26888
38488
415688
544836
6231434
7234434
8247334
9369034
0868234
Stop Event
iter limit
node limit
iter limit
Counts
12 → 35
Calls
Call 1
Inputs
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(*.f64 y (*.f64 x x))
(*.f64 x x)
(*.f64 y #s(literal 3 binary64))
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
(*.f64 #s(literal 3 binary64) x)
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
(*.f64 #s(literal 3 binary64) y)
(*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y)
#s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64)))
(*.f64 (*.f64 x x) #s(literal 3 binary64))
Outputs
#s(approx (* (* (* x 3) x) y) (*.f64 #s(literal 3 binary64) y))
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
(*.f64 #s(literal 3 binary64) y)
(*.f64 y #s(literal 3 binary64))
(*.f64 x (*.f64 #s(literal 3 binary64) y))
(*.f64 y x)
(*.f64 x y)
y
x
#s(literal 1 binary64)
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
(*.f64 #s(literal 3 binary64) y)
(*.f64 y #s(literal 3 binary64))
(*.f64 x (*.f64 #s(literal 3 binary64) y))
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
(*.f64 #s(literal 3 binary64) y)
(*.f64 y #s(literal 3 binary64))
(*.f64 x (*.f64 #s(literal 3 binary64) y))
#s(literal 3 binary64)
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
(*.f64 #s(literal 3 binary64) y)
(*.f64 y #s(literal 3 binary64))
(*.f64 x (*.f64 #s(literal 3 binary64) y))
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
(*.f64 #s(literal 3 binary64) y)
(*.f64 y #s(literal 3 binary64))
(*.f64 x (*.f64 #s(literal 3 binary64) y))
(*.f64 (*.f64 y #s(approx (* (* x 3) x) #s(literal 3 binary64))) x)
(*.f64 y #s(approx (* (* x 3) x) #s(literal 3 binary64)))
(*.f64 x (*.f64 y #s(approx (* (* x 3) x) #s(literal 3 binary64))))
(*.f64 #s(approx (* (* x 3) x) #s(literal 3 binary64)) y)
(*.f64 x #s(approx (* (* x 3) x) #s(literal 3 binary64)))
(*.f64 #s(approx (* (* x 3) x) #s(literal 3 binary64)) x)
#s(approx (* (* x 3) x) #s(literal 3 binary64))
#s(literal 3 binary64)

eval209.0ms (3.4%)

Memory
-26.6MiB live, 50.4MiB allocated
Compiler

Compiled 1 897 to 31 computations (98.4% saved)

prune17.0ms (0.3%)

Memory
32.1MiB live, 32.1MiB allocated
Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New2632265
Fresh000
Picked055
Done011
Total2638271
Accuracy
99.8%
Counts
271 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.9%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
99.7%
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) y) x) x)
25.7%
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
25.7%
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
84.9%
(*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y)
4.7%
(*.f64 y #s(literal 3 binary64))
84.9%
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)))
25.7%
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y x) #s(literal 3 binary64)))
Compiler

Compiled 65 to 43 computations (33.8% saved)

simplify103.0ms (1.7%)

Memory
-27.2MiB live, 10.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 6 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01242
01742
13242
24442
34742
04742
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y x) #s(literal 3 binary64)))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(*.f64 y x)
y
x
#s(literal 3 binary64)
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) y) x) x)
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
(*.f64 #s(literal 3 binary64) y)
#s(literal 3 binary64)
y
x
Outputs
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y x) #s(literal 3 binary64)))
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y #s(literal 3 binary64)) x))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(*.f64 (*.f64 y #s(literal 3 binary64)) x)
(*.f64 y x)
y
x
#s(literal 3 binary64)
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) y) x) x)
(*.f64 y (*.f64 (*.f64 #s(literal 3 binary64) x) x))
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
(*.f64 (*.f64 y #s(literal 3 binary64)) x)
(*.f64 #s(literal 3 binary64) y)
(*.f64 y #s(literal 3 binary64))
#s(literal 3 binary64)
y
x

localize106.0ms (1.7%)

Memory
-3.4MiB live, 35.3MiB allocated
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 #s(literal 3 binary64) y)
accuracy0.12109375
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) y) x) x)
accuracy0.21875
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
accuracy0
(*.f64 y x)
accuracy0.1953125
(*.f64 (*.f64 y x) #s(literal 3 binary64))
accuracy47.53453458722478
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y x) #s(literal 3 binary64)))
Samples
18.0ms256×0valid
Compiler

Compiled 38 to 13 computations (65.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 11.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)

series8.0ms (0.1%)

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

6 calls:

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

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
010684
120684
233684
338684
038684
Stop Event
iter limit
saturated
Counts
132 → 132
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 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* x y)
(* x y)
(* x y)
(* x 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 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 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* x y)
(* x y)
(* x y)
(* x 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 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 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* x y)
(* x y)
(* x y)
(* x 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 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 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* 3 (* x y))
(* x y)
(* x y)
(* x y)
(* x 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 (* (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))
(* x y)
(* x y)
(* x y)
(* x 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 (* (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))
(* x y)
(* x y)
(* x y)
(* x 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))
Outputs
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 y)
(*.f64 y #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))

rewrite98.0ms (1.6%)

Memory
11.2MiB live, 56.8MiB allocated
Rules
2 096×lower-pow.f64
2 096×lower-pow.f32
1 412×prod-exp
1 264×lower-*.f32
1 256×lower-*.f64
Iterations

Useful iterations: 7 (0.0ms)

IterNodesCost
01236
01736
13236
24636
35436
47036
514236
643922
7225620
8228320
9240620
10364420
0856520
Stop Event
iter limit
node limit
iter limit
Counts
6 → 20
Calls
Call 1
Inputs
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y x) #s(literal 3 binary64)))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(*.f64 y x)
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) y) x) x)
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
(*.f64 #s(literal 3 binary64) y)
Outputs
#s(approx (* (* (* x 3) x) y) (*.f64 y #s(literal 3 binary64)))
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) y)
(*.f64 (*.f64 y #s(literal 3 binary64)) x)
(*.f64 x (*.f64 y #s(literal 3 binary64)))
(*.f64 y x)
(*.f64 x y)
y
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) y)
(*.f64 (*.f64 y #s(literal 3 binary64)) x)
(*.f64 x (*.f64 y #s(literal 3 binary64)))
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) y)
(*.f64 (*.f64 y #s(literal 3 binary64)) x)
(*.f64 x (*.f64 y #s(literal 3 binary64)))
(*.f64 y #s(literal 3 binary64))
(*.f64 #s(literal 3 binary64) y)
(*.f64 (*.f64 y #s(literal 3 binary64)) x)
(*.f64 x (*.f64 y #s(literal 3 binary64)))

eval44.0ms (0.7%)

Memory
-13.6MiB live, 25.5MiB allocated
Compiler

Compiled 1 122 to 21 computations (98.1% saved)

prune43.0ms (0.7%)

Memory
-22.1MiB live, 17.0MiB allocated
Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New1511152
Fresh000
Picked022
Done156
Total1528160
Accuracy
99.9%
Counts
160 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.9%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
99.7%
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) y) x) x)
25.7%
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
25.7%
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
99.7%
(*.f64 #s(approx (* (* 3 y) x) (*.f64 (*.f64 y x) #s(literal 3 binary64))) x)
4.7%
(*.f64 y #s(literal 3 binary64))
84.9%
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)))
25.7%
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y x) #s(literal 3 binary64)))
Compiler

Compiled 65 to 43 computations (33.8% saved)

simplify4.0ms (0.1%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 y x)
cost-diff0
(*.f64 (*.f64 y x) #s(literal 3 binary64))
cost-diff0
#s(approx (* (* 3 y) x) (*.f64 (*.f64 y x) #s(literal 3 binary64)))
cost-diff0
(*.f64 #s(approx (* (* 3 y) x) (*.f64 (*.f64 y x) #s(literal 3 binary64))) x)
Rules
28×lower-*.f32
22×lower-*.f64
12×*-commutative
lift-*.f64
associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0935
01235
12035
22435
02435
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 #s(approx (* (* 3 y) x) (*.f64 (*.f64 y x) #s(literal 3 binary64))) x)
#s(approx (* (* 3 y) x) (*.f64 (*.f64 y x) #s(literal 3 binary64)))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(*.f64 y x)
y
x
#s(literal 3 binary64)
Outputs
(*.f64 #s(approx (* (* 3 y) x) (*.f64 (*.f64 y x) #s(literal 3 binary64))) x)
(*.f64 #s(approx (* (* 3 y) x) (*.f64 (*.f64 x y) #s(literal 3 binary64))) x)
#s(approx (* (* 3 y) x) (*.f64 (*.f64 y x) #s(literal 3 binary64)))
#s(approx (* (* 3 y) x) (*.f64 (*.f64 x y) #s(literal 3 binary64)))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(*.f64 (*.f64 x y) #s(literal 3 binary64))
(*.f64 y x)
(*.f64 x y)
y
x
#s(literal 3 binary64)

localize18.0ms (0.3%)

Memory
24.2MiB live, 24.2MiB allocated
Localize:

Found 4 expressions of interest:

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

Compiled 25 to 10 computations (60% saved)

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

series36.0ms (0.6%)

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

6 calls:

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

simplify5.0ms (0.1%)

Memory
6.7MiB live, 6.7MiB 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
09480
118480
233480
342480
042480
Stop Event
iter limit
saturated
Counts
96 → 96
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 (* 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)
(* 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))
(* x y)
(* x y)
(* x y)
(* x 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))
(* x y)
(* x y)
(* x y)
(* x 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))
(* x y)
(* x y)
(* x y)
(* x 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))
(* x y)
(* x y)
(* x y)
(* x 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))
(* x y)
(* x y)
(* x y)
(* x y)
Outputs
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* (pow x 2) y))
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* 3 (* x y))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)

rewrite9.0ms (0.1%)

Memory
11.6MiB live, 11.6MiB allocated
Rules
28×lower-*.f32
22×lower-*.f64
12×*-commutative
lift-*.f64
associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
01232
12032
22432
02432
Stop Event
iter limit
saturated
iter limit
Counts
4 → 11
Calls
Call 1
Inputs
(*.f64 #s(approx (* (* 3 y) x) (*.f64 (*.f64 y x) #s(literal 3 binary64))) x)
#s(approx (* (* 3 y) x) (*.f64 (*.f64 y x) #s(literal 3 binary64)))
(*.f64 (*.f64 y x) #s(literal 3 binary64))
(*.f64 y x)
Outputs
(*.f64 #s(approx (* (* 3 y) x) (*.f64 (*.f64 x y) #s(literal 3 binary64))) x)
(*.f64 x #s(approx (* (* 3 y) x) (*.f64 (*.f64 x y) #s(literal 3 binary64))))
#s(approx (* (* 3 y) x) (*.f64 (*.f64 x y) #s(literal 3 binary64)))
(*.f64 (*.f64 x #s(literal 3 binary64)) y)
(*.f64 (*.f64 x y) #s(literal 3 binary64))
(*.f64 x (*.f64 y #s(literal 3 binary64)))
(*.f64 (*.f64 y #s(literal 3 binary64)) x)
(*.f64 y (*.f64 x #s(literal 3 binary64)))
(*.f64 #s(literal 3 binary64) (*.f64 x y))
(*.f64 x y)
(*.f64 y x)

eval9.0ms (0.1%)

Memory
17.0MiB live, 17.0MiB allocated
Compiler

Compiled 906 to 25 computations (97.2% saved)

prune48.0ms (0.8%)

Memory
-27.6MiB live, 16.9MiB allocated
Pruning

9 alts after pruning (1 fresh and 8 done)

PrunedKeptTotal
New1061107
Fresh000
Picked011
Done077
Total1069115
Accuracy
99.9%
Counts
115 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.9%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
99.7%
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) y) x) x)
25.7%
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
25.7%
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
99.7%
(*.f64 #s(approx (* (* 3 y) x) (*.f64 (*.f64 y x) #s(literal 3 binary64))) x)
99.7%
(*.f64 #s(approx (* (* 3 y) x) (*.f64 (*.f64 x #s(literal 3 binary64)) y)) x)
4.7%
(*.f64 y #s(literal 3 binary64))
84.9%
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)))
25.7%
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y x) #s(literal 3 binary64)))
Compiler

Compiled 142 to 71 computations (50% saved)

regimes15.0ms (0.3%)

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

4 calls:

4.0ms
y
4.0ms
x
3.0ms
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
3.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)

regimes11.0ms (0.2%)

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

4 calls:

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

Compiled 22 to 15 computations (31.8% saved)

regimes9.0ms (0.1%)

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

4 calls:

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

Compiled 22 to 15 computations (31.8% saved)

regimes64.0ms (1.1%)

Memory
-25.8MiB live, 13.6MiB 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:

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

Compiled 22 to 15 computations (31.8% saved)

simplify6.0ms (0.1%)

Memory
13.2MiB live, 13.2MiB allocated
Algorithm
egg-herbie
Rules
16×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

soundness4.0s (65.7%)

Memory
-5.1MiB live, 231.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
09264
115264
227264
347264
448264
048264
010684
120684
233684
338684
038684
0615
0917
11517
22917
34717
45817
57417
614617
74445
822555
922815
1024045
1136205
085845
01878
02888
15088
26888
38488
415688
544836
6231434
7234434
8247334
9369034
0868234
0932
01232
12032
22432
02432
Stop Event
fuel
iter limit
saturated
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
saturated
iter limit
saturated
Compiler

Compiled 74 to 42 computations (43.2% saved)

preprocess144.0ms (2.4%)

Memory
14.8MiB live, 91.7MiB allocated
Remove

(negabs y)

(abs x)

Compiler

Compiled 210 to 120 computations (42.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...