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

Time bar (total: 6.7s)

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)

sample628.0ms (9.4%)

Memory
-6.5MiB live, 980.6MiB allocated
Samples
341.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 176.0ms
ival-mult: 162.0ms (91.8% of total)
ival-true: 7.0ms (4% of total)
exact: 4.0ms (2.3% of total)
ival-assert: 3.0ms (1.7% of total)
Bogosity

explain69.0ms (1%)

Memory
20.3MiB live, 59.6MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
211(6.6475854554065024e-186 1.0249767889043981e+47)0-(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
00-0-(*.f64 (*.f64 x #s(literal 3 binary64)) x)
00-0-y
00-0-#s(literal 3 binary64)
00-0-(*.f64 x #s(literal 3 binary64))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
*.f64(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)n*u140
*.f64(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)n*o80
Confusion
Predicted +Predicted -
+210
-1234
Precision
0.9545454545454546
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+2100
-10234
Precision?
0.9545454545454546
Recall?
1.0
Freqs
test
numberfreq
0234
122
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
23.0ms512×0valid
Compiler

Compiled 47 to 22 computations (53.2% saved)

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

preprocess80.0ms (1.2%)

Memory
-24.5MiB live, 15.2MiB 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 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 7 to 6 computations (14.3% saved)

simplify4.0ms (0.1%)

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

localize15.0ms (0.2%)

Memory
13.0MiB live, 13.0MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x #s(literal 3 binary64))
accuracy0.1640625
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
accuracy5.016689213624579
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
Samples
11.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 (82.2% 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
6.1MiB live, 6.1MiB 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))

simplify4.0ms (0.1%)

Memory
3.5MiB live, 3.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))

rewrite168.0ms (2.5%)

Memory
-34.8MiB live, 56.9MiB 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
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval5.0ms (0.1%)

Memory
5.9MiB live, 5.9MiB allocated
Compiler

Compiled 408 to 20 computations (95.1% saved)

prune9.0ms (0.1%)

Memory
12.2MiB live, 12.2MiB allocated
Pruning

6 alts after pruning (5 fresh and 1 done)

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

Compiled 65 to 62 computations (4.6% saved)

simplify6.0ms (0.1%)

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

localize61.0ms (0.9%)

Memory
-5.1MiB live, 34.3MiB 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.1796875
(*.f64 (*.f64 x x) #s(literal 3 binary64))
accuracy5.016689213624579
(*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y)
accuracy0
(*.f64 #s(literal 3 binary64) y)
accuracy0.2109375
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
accuracy0
(*.f64 #s(literal 3 binary64) x)
accuracy0.1875
(*.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.125
(*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64))
accuracy5.016460697738985
(*.f64 y (*.f64 x x))
Samples
51.0ms256×0valid
Compiler

Compiled 77 to 17 computations (77.9% saved)

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

series34.0ms (0.5%)

Memory
-25.9MiB live, 13.3MiB 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
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
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))
1.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))

simplify8.0ms (0.1%)

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

rewrite134.0ms (2%)

Memory
13.0MiB live, 51.9MiB 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
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval164.0ms (2.4%)

Memory
-11.7MiB live, 68.8MiB allocated
Compiler

Compiled 1 895 to 68 computations (96.4% saved)

prune113.0ms (1.7%)

Memory
-1.5MiB live, 38.0MiB allocated
Pruning

8 alts after pruning (2 fresh and 6 done)

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

Compiled 49 to 46 computations (6.1% saved)

simplify5.0ms (0.1%)

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

localize108.0ms (1.6%)

Memory
-3.4MiB live, 35.9MiB allocated
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 #s(literal 3 binary64) y)
accuracy0.10546875
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) y) x) x)
accuracy0.2109375
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
accuracy0
(*.f64 y x)
accuracy0.26171875
(*.f64 (*.f64 y x) #s(literal 3 binary64))
accuracy46.16450942368238
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y x) #s(literal 3 binary64)))
Samples
102.0ms256×0valid
Compiler

Compiled 38 to 13 computations (65.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 94.0ms
ival-mult: 93.0ms (99.3% 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
9.5MiB live, 9.5MiB 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
x
@-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
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
6.4MiB live, 6.4MiB 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))

rewrite125.0ms (1.9%)

Memory
9.0MiB live, 50.9MiB 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
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval91.0ms (1.4%)

Memory
-17.6MiB live, 22.0MiB allocated
Compiler

Compiled 1 120 to 38 computations (96.6% saved)

prune100.0ms (1.5%)

Memory
-13.1MiB live, 26.6MiB allocated
Pruning

9 alts after pruning (1 fresh and 8 done)

PrunedKeptTotal
New1511152
Fresh000
Picked022
Done066
Total1519160
Accuracy
100.0%
Counts
160 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.1%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
99.8%
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) y) x) x)
27.9%
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
27.9%
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
92.1%
(*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y)
99.8%
(*.f64 #s(approx (* (* 3 y) x) (*.f64 (*.f64 y x) #s(literal 3 binary64))) x)
4.9%
(*.f64 y #s(literal 3 binary64))
92.1%
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)))
27.9%
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y x) #s(literal 3 binary64)))
Compiler

Compiled 57 to 53 computations (7% saved)

simplify4.0ms (0.1%)

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

localize19.0ms (0.3%)

Memory
21.5MiB live, 21.5MiB 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.10546875
(*.f64 #s(approx (* (* 3 y) x) (*.f64 (*.f64 y x) #s(literal 3 binary64))) x)
accuracy0.26171875
(*.f64 (*.f64 y x) #s(literal 3 binary64))
Samples
14.0ms256×0valid
Compiler

Compiled 25 to 10 computations (60% saved)

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

series88.0ms (1.3%)

Memory
-27.7MiB live, 11.9MiB 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
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))
1.0ms
y
@0
((* (* (* 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))
1.0ms
y
@inf
((* (* (* 3 y) x) x) (* (* 3 y) x) (* (* y x) 3) (* y x))

simplify5.0ms (0.1%)

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

rewrite8.0ms (0.1%)

Memory
10.6MiB live, 10.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
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval10.0ms (0.1%)

Memory
16.4MiB live, 16.4MiB allocated
Compiler

Compiled 904 to 40 computations (95.6% saved)

prune103.0ms (1.5%)

Memory
-11.0MiB live, 29.8MiB allocated
Pruning

10 alts after pruning (1 fresh and 9 done)

PrunedKeptTotal
New1061107
Fresh000
Picked011
Done088
Total10610116
Accuracy
100.0%
Counts
116 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.1%
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
99.8%
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) y) x) x)
27.9%
(*.f64 (*.f64 #s(literal 3 binary64) y) x)
27.9%
(*.f64 (*.f64 #s(literal 3 binary64) x) y)
92.1%
(*.f64 #s(approx (* (* x 3) x) (*.f64 (*.f64 x x) #s(literal 3 binary64))) y)
99.8%
(*.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.9%
(*.f64 y #s(literal 3 binary64))
92.1%
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y (*.f64 x x)) #s(literal 3 binary64)))
27.9%
#s(approx (* (* (* x 3) x) y) (*.f64 (*.f64 y x) #s(literal 3 binary64)))
Compiler

Compiled 130 to 87 computations (33.1% saved)

regimes15.0ms (0.2%)

Memory
9.1MiB live, 9.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 y x) #s(literal 3 binary64))) 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.8%1x
99.8%1y
99.8%1(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
99.8%1(*.f64 (*.f64 x #s(literal 3 binary64)) x)
Compiler

Compiled 14 to 15 computations (-7.1% saved)

regimes52.0ms (0.8%)

Memory
-31.1MiB live, 8.5MiB allocated
Counts
6 → 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)
Outputs
(*.f64 #s(approx (* (* 3 y) x) (*.f64 (*.f64 x #s(literal 3 binary64)) y)) x)
Calls

4 calls:

44.0ms
y
3.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
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 14 to 15 computations (-7.1% saved)

regimes10.0ms (0.1%)

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

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

Compiled 14 to 15 computations (-7.1% saved)

regimes9.0ms (0.1%)

Memory
6.8MiB live, 6.8MiB 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
x
2.0ms
y
2.0ms
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
2.0ms
(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
Results
AccuracySegmentsBranch
27.9%1y
27.9%1x
27.9%1(*.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) y)
27.9%1(*.f64 (*.f64 x #s(literal 3 binary64)) x)
Compiler

Compiled 14 to 15 computations (-7.1% saved)

regimes5.0ms (0.1%)

Memory
5.6MiB live, 5.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:

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

Compiled 14 to 15 computations (-7.1% saved)

simplify101.0ms (1.5%)

Memory
-18.7MiB live, 21.1MiB allocated
Algorithm
egg-herbie
Rules
18×*-commutative-binary64-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02257
13157
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 #s(approx (* (* 3 y) x) (*.f64 (*.f64 y x) #s(literal 3 binary64))) x)
(*.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 y x) #s(literal 3 binary64))) x)
(*.f64 #s(approx (* (* 3 y) x) (*.f64 (*.f64 x y) #s(literal 3 binary64))) x)
(*.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.1s (61.9%)

Memory
26.4MiB live, 144.8MiB 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
01878
02888
15088
26888
38488
415688
544836
6231434
7234434
8247334
9369034
0868234
0615
0917
11517
22917
34717
45817
57417
614617
74445
822555
922815
1024045
1136205
085845
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 77 to 55 computations (28.6% saved)

preprocess164.0ms (2.4%)

Memory
-5.5MiB live, 150.7MiB allocated
Remove

(negabs y)

(abs x)

Compiler

Compiled 222 to 170 computations (23.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...