Data.Random.Distribution.Normal:normalTail from random-fu-0.2.6.2

Time bar (total: 2.7s)

start0.0ms (0%)

Memory
0.1MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.5MiB live, 0.5MiB 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 7 computations (22.2% saved)

sample530.0ms (19.8%)

Memory
18.4MiB live, 841.5MiB allocated
Samples
337.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 161.0ms
ival-add: 92.0ms (57% of total)
ival-mult: 60.0ms (37.2% of total)
ival-true: 6.0ms (3.7% of total)
ival-assert: 3.0ms (1.9% of total)
Bogosity

explain70.0ms (2.6%)

Memory
3.2MiB live, 122.4MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(+.f64 (*.f64 x x) y)
00-0-(+.f64 (+.f64 (*.f64 x x) y) y)
00-0-y
00-0-(*.f64 x x)
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
21.0ms512×0valid
Compiler

Compiled 62 to 24 computations (61.3% saved)

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

preprocess26.0ms (1%)

Memory
-6.6MiB live, 32.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01537
15036
215135
335835
452935
566335
668735
057
087
1127
2157
3167
0166
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x x) y) y)
Outputs
(+.f64 (+.f64 (*.f64 x x) y) y)
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
Symmetry

(abs x)

Compiler

Compiled 7 to 5 computations (28.6% saved)

eval0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (+.f64 (*.f64 x x) y) y)
Compiler

Compiled 7 to 5 computations (28.6% saved)

simplify3.0ms (0.1%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff-128
(+.f64 (+.f64 (*.f64 x x) y) y)
cost-diff0
(*.f64 x x)
cost-diff128
(+.f64 (*.f64 x x) y)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0517
0817
11217
21517
31617
01615
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x x) y) y)
(+.f64 (*.f64 x x) y)
(*.f64 x x)
x
y
Outputs
(+.f64 (+.f64 (*.f64 x x) y) y)
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(+.f64 (*.f64 x x) y)
(fma.f64 x x y)
(*.f64 x x)
x
y

localize18.0ms (0.7%)

Memory
-14.6MiB live, 28.8MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x x)
accuracy0.00390625
(+.f64 (*.f64 x x) y)
accuracy0.01171875
(+.f64 (+.f64 (*.f64 x x) y) y)
Samples
13.0ms256×0valid
Compiler

Compiled 36 to 12 computations (66.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-add: 6.0ms (77.8% of total)
ival-mult: 2.0ms (25.9% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series4.0ms (0.2%)

Memory
7.2MiB live, 7.2MiB allocated
Counts
3 → 60
Calls
Call 1
Inputs
#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())
Outputs
#s(alt (pow x 2) (taylor 0 y) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 y) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt y (taylor inf y) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor inf y) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt y (taylor -inf y) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor -inf y) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt y (taylor 0 x) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<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 (* 2 y) (taylor 0 x) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt (+.f64 (*.f64 x x) y) (patch (+.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt (+.f64 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())) ())
Calls

6 calls:

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

simplify88.0ms (3.3%)

Memory
26.3MiB live, 103.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027282
180282
2193282
3649282
41930282
53616282
66722282
08178246
Stop Event
iter limit
node limit
Counts
60 → 57
Calls
Call 1
Inputs
(pow x 2)
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
(pow x 2)
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
y
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(* 2 y)
(* y (+ 2 (/ (pow x 2) y)))
(* y (+ 2 (/ (pow x 2) y)))
(* y (+ 2 (/ (pow x 2) y)))
y
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* 2 y)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
y
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 2 y)
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(pow x 2)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(pow x 2)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
Outputs
(pow x 2)
(*.f64 x x)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(pow x 2)
(*.f64 x x)
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
y
(* y (+ 1 (/ (pow x 2) y)))
(fma.f64 x x y)
(* y (+ 1 (/ (pow x 2) y)))
(fma.f64 x x y)
(* y (+ 1 (/ (pow x 2) y)))
(fma.f64 x x y)
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
y
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(fma.f64 x x y)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(fma.f64 x x y)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(fma.f64 x x y)
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
y
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))

rewrite305.0ms (11.4%)

Memory
-47.5MiB live, 245.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0515
0815
13715
231615
3498715
0810313
Stop Event
iter limit
node limit
iter limit
Counts
3 → 251
Calls
Call 1
Inputs
(+.f64 (*.f64 x x) y)
(*.f64 x x)
(+.f64 (+.f64 (*.f64 x x) y) y)
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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval62.0ms (2.3%)

Memory
32.1MiB live, 70.0MiB allocated
Compiler

Compiled 5 874 to 711 computations (87.9% saved)

prune9.0ms (0.4%)

Memory
-7.3MiB live, 29.4MiB allocated
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New3035308
Fresh000
Picked101
Done000
Total3045309
Accuracy
100.0%
Counts
309 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
100.0%
(+.f64 (fma.f64 x x y) y)
60.8%
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
48.9%
#s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64)))
53.6%
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
Compiler

Compiled 52 to 46 computations (11.5% saved)

simplify4.0ms (0.2%)

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

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff-128
(+.f64 (fma.f64 x x y) y)
cost-diff0
(fma.f64 x x y)
cost-diff0
(*.f64 x x)
cost-diff0
#s(approx (+ (* x x) y) (*.f64 x x))
cost-diff0
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
cost-diff0
(*.f64 y #s(literal 2 binary64))
cost-diff0
#s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64)))
cost-diff0
(*.f64 x x)
cost-diff0
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
cost-diff0
(*.f64 x x)
cost-diff0
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01576
02176
12876
22876
02876
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
y
#s(literal 2 binary64)
(*.f64 x x)
x
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
(*.f64 x x)
x
#s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64)))
(*.f64 y #s(literal 2 binary64))
y
#s(literal 2 binary64)
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
#s(approx (+ (* x x) y) (*.f64 x x))
(*.f64 x x)
x
y
(+.f64 (fma.f64 x x y) y)
(fma.f64 x x y)
x
y
Outputs
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
y
#s(literal 2 binary64)
(*.f64 x x)
x
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
(*.f64 x x)
x
#s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64)))
#s(approx (+ (+ (* x x) y) y) (*.f64 #s(literal 2 binary64) y))
(*.f64 y #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) y)
y
#s(literal 2 binary64)
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
#s(approx (+ (* x x) y) (*.f64 x x))
(*.f64 x x)
x
y
(+.f64 (fma.f64 x x y) y)
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(fma.f64 x x y)
x
y

localize34.0ms (1.3%)

Memory
-19.9MiB live, 60.0MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 x x y)
accuracy0.01171875
(+.f64 (fma.f64 x x y) y)
accuracy0
(*.f64 x x)
accuracy0.01171875
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
accuracy29.694385573987933
#s(approx (+ (* x x) y) (*.f64 x x))
accuracy0
(*.f64 y #s(literal 2 binary64))
accuracy32.716602361052246
#s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64)))
accuracy0
(*.f64 x x)
accuracy29.701577840984235
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
accuracy0
(*.f64 x x)
accuracy0.00390625
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
Samples
26.0ms256×0valid
Compiler

Compiled 125 to 22 computations (82.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 8.0ms (63.3% of total)
ival-add: 4.0ms (31.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.3%)

Memory
17.8MiB live, 17.8MiB allocated
Counts
9 → 192
Calls
Call 1
Inputs
#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())
#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 y #s(literal 2 binary64)) (patch (*.f64 y #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())
#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())
#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())
#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())
Outputs
#s(alt (pow x 2) (taylor 0 y) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 2 binary64)) (patch (*.f64 y #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 2 binary64)) (patch (*.f64 y #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 2 binary64)) (patch (*.f64 y #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 2 binary64)) (patch (*.f64 y #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 y) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 y) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 y) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 y) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor inf y) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 2 binary64)) (patch (*.f64 y #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 2 binary64)) (patch (*.f64 y #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 2 binary64)) (patch (*.f64 y #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 2 binary64)) (patch (*.f64 y #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor inf y) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt y (taylor inf y) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt y (taylor inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor inf y) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 2 (/ (pow x 2) y))) (taylor inf y) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor -inf y) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor -inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor -inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 2 binary64)) (patch (*.f64 y #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 2 binary64)) (patch (*.f64 y #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 2 binary64)) (patch (*.f64 y #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 2 binary64)) (patch (*.f64 y #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor -inf y) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt y (taylor -inf y) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt y (taylor -inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor -inf y) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 2))) (taylor -inf y) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor 0 x) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor 0 x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor 0 x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor 0 x) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt y (taylor 0 x) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt y (taylor 0 x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* 2 y) (taylor 0 x) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (+ (* 2 y) (pow x 2)) (taylor 0 x) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) (patch (fma.f64 y #s(literal 2 binary64) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) (patch #s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (patch (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt #s(approx (+ (* x x) y) (*.f64 x x)) (patch #s(approx (+ (* x x) y) (*.f64 x x)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (* 2 (/ y (pow x 2))))) (taylor -inf x) (#s(alt (+.f64 (fma.f64 x x y) y) (patch (+.f64 (fma.f64 x x y) y) #<representation binary64>) () ())) ())
Calls

6 calls:

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

simplify161.0ms (6%)

Memory
1.0MiB live, 123.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027996
180996
2193996
3651996
41923996
53631996
66729996
08179870
Stop Event
iter limit
node limit
Counts
192 → 186
Calls
Call 1
Inputs
(pow x 2)
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(pow x 2)
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(pow x 2)
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(pow x 2)
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(pow x 2)
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
(pow x 2)
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
(pow x 2)
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(* 2 y)
(* y (+ 2 (/ (pow x 2) y)))
(* y (+ 2 (/ (pow x 2) y)))
(* y (+ 2 (/ (pow x 2) y)))
(* 2 y)
(* y (+ 2 (/ (pow x 2) y)))
(* y (+ 2 (/ (pow x 2) y)))
(* y (+ 2 (/ (pow x 2) y)))
(* 2 y)
(* y (+ 2 (/ (pow x 2) y)))
(* y (+ 2 (/ (pow x 2) y)))
(* y (+ 2 (/ (pow x 2) y)))
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* y (+ 2 (/ (pow x 2) y)))
(* y (+ 2 (/ (pow x 2) y)))
(* y (+ 2 (/ (pow x 2) y)))
y
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
y
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(* 2 y)
(* y (+ 2 (/ (pow x 2) y)))
(* y (+ 2 (/ (pow x 2) y)))
(* y (+ 2 (/ (pow x 2) y)))
(* 2 y)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* 2 y)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* 2 y)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
y
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
y
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* 2 y)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* 2 y)
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 2 y)
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(* 2 y)
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(* 2 y)
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
y
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
y
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
(* 2 y)
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(pow x 2)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(pow x 2)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(pow x 2)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(pow x 2)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
Outputs
(pow x 2)
(*.f64 x x)
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(pow x 2)
(*.f64 x x)
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(pow x 2)
(*.f64 x x)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(pow x 2)
(*.f64 x x)
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
y
(* y (+ 1 (/ (pow x 2) y)))
(fma.f64 x x y)
(* y (+ 1 (/ (pow x 2) y)))
(fma.f64 x x y)
(* y (+ 1 (/ (pow x 2) y)))
(fma.f64 x x y)
y
(* y (+ 1 (/ (pow x 2) y)))
(fma.f64 x x y)
(* y (+ 1 (/ (pow x 2) y)))
(fma.f64 x x y)
(* y (+ 1 (/ (pow x 2) y)))
(fma.f64 x x y)
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
y
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(fma.f64 x x y)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(fma.f64 x x y)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(fma.f64 x x y)
y
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(fma.f64 x x y)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(fma.f64 x x y)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(fma.f64 x x y)
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
y
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
y
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(fma.f64 x x y)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))

rewrite160.0ms (6%)

Memory
-20.0MiB live, 247.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01560
02160
17260
256260
0808060
Stop Event
iter limit
node limit
iter limit
Counts
9 → 745
Calls
Call 1
Inputs
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(*.f64 x x)
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
#s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64)))
(*.f64 y #s(literal 2 binary64))
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
#s(approx (+ (* x x) y) (*.f64 x x))
(fma.f64 x x y)
(+.f64 (fma.f64 x x y) y)
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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval180.0ms (6.8%)

Memory
5.0MiB live, 291.7MiB allocated
Compiler

Compiled 14 726 to 1 186 computations (91.9% saved)

prune21.0ms (0.8%)

Memory
-7.8MiB live, 78.3MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New9661967
Fresh000
Picked145
Done000
Total9675972
Accuracy
100.0%
Counts
972 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
100.0%
(+.f64 (fma.f64 x x y) y)
60.8%
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
48.9%
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
53.6%
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
Compiler

Compiled 26 to 22 computations (15.4% saved)

simplify4.0ms (0.1%)

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

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff-128
(+.f64 y y)
cost-diff0
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
0815
11315
21515
01514
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
(+.f64 y y)
y
Outputs
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
#s(approx (+ (+ (* x x) y) y) (*.f64 #s(literal 2 binary64) y))
(+.f64 y y)
(*.f64 #s(literal 2 binary64) y)
y

localize16.0ms (0.6%)

Memory
-1.2MiB live, 38.2MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0
(+.f64 y y)
accuracy32.716602361052246
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
Samples
11.0ms256×0valid
Compiler

Compiled 21 to 12 computations (42.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-add: 4.0ms (69.5% of total)
ival-mult: 2.0ms (34.8% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series3.0ms (0.1%)

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

6 calls:

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

simplify114.0ms (4.3%)

Memory
2.5MiB live, 121.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
019180
153180
2130180
3426180
41329180
53258180
66178180
08055162
Stop Event
iter limit
node limit
Counts
36 → 36
Calls
Call 1
Inputs
(pow x 2)
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* y (+ 2 (/ (pow x 2) y)))
(* y (+ 2 (/ (pow x 2) y)))
(* y (+ 2 (/ (pow x 2) y)))
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(+ (* 2 y) (pow x 2))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(pow x 2)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
Outputs
(pow x 2)
(*.f64 x x)
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))

rewrite73.0ms (2.7%)

Memory
-5.0MiB live, 71.8MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
0814
14314
037613
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
2 → 12
Calls
Call 1
Inputs
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
(+.f64 y y)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval4.0ms (0.2%)

Memory
15.0MiB live, 15.0MiB allocated
Compiler

Compiled 304 to 44 computations (85.5% saved)

prune7.0ms (0.2%)

Memory
-24.1MiB live, 14.2MiB allocated
Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New48048
Fresh000
Picked011
Done044
Total48553
Accuracy
100.0%
Counts
53 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
100.0%
(+.f64 (fma.f64 x x y) y)
60.8%
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
48.9%
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
53.6%
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
Compiler

Compiled 63 to 38 computations (39.7% saved)

regimes22.0ms (0.8%)

Memory
-2.2MiB live, 44.4MiB allocated
Counts
7 → 1
Calls
Call 1
Inputs
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
#s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64)))
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
(+.f64 (fma.f64 x x y) y)
(+.f64 (+.f64 (*.f64 x x) y) y)
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
Outputs
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
Calls

4 calls:

13.0ms
x
3.0ms
y
3.0ms
(+.f64 (+.f64 (*.f64 x x) y) y)
3.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(+.f64 (+.f64 (*.f64 x x) y) y)
100.0%1(*.f64 x x)
Compiler

Compiled 12 to 12 computations (0% saved)

regimes12.0ms (0.5%)

Memory
-1.6MiB live, 37.8MiB allocated
Counts
6 → 1
Calls
Call 1
Inputs
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
#s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64)))
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
(+.f64 (fma.f64 x x y) y)
(+.f64 (+.f64 (*.f64 x x) y) y)
Outputs
(+.f64 (fma.f64 x x y) y)
Calls

4 calls:

4.0ms
x
3.0ms
y
3.0ms
(+.f64 (+.f64 (*.f64 x x) y) y)
2.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(+.f64 (+.f64 (*.f64 x x) y) y)
100.0%1(*.f64 x x)
Compiler

Compiled 12 to 12 computations (0% saved)

regimes12.0ms (0.4%)

Memory
-5.1MiB live, 32.2MiB allocated
Counts
4 → 2
Calls
Call 1
Inputs
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
#s(approx (+ (+ (* x x) y) y) (*.f64 y #s(literal 2 binary64)))
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
Outputs
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
Calls

4 calls:

2.0ms
y
2.0ms
x
2.0ms
(+.f64 (+.f64 (*.f64 x x) y) y)
2.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
88.5%2x
71.2%3y
83.0%2(+.f64 (+.f64 (*.f64 x x) y) y)
88.5%2(*.f64 x x)
Compiler

Compiled 12 to 12 computations (0% saved)

regimes4.0ms (0.1%)

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

2 calls:

2.0ms
x
2.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
86.8%2x
86.8%2(*.f64 x x)
Compiler

Compiled 4 to 5 computations (-25% saved)

regimes6.0ms (0.2%)

Memory
23.2MiB live, 23.2MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
Outputs
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
Calls

4 calls:

1.0ms
(+.f64 (+.f64 (*.f64 x x) y) y)
1.0ms
y
1.0ms
x
1.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
48.9%1y
48.9%1(+.f64 (+.f64 (*.f64 x x) y) y)
48.9%1x
48.9%1(*.f64 x x)
Compiler

Compiled 12 to 12 computations (0% saved)

bsearch11.0ms (0.4%)

Memory
-9.0MiB live, 30.3MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
10.0ms
2.168993355834643e-81
5.0719314325050765e-74
Samples
5.0ms144×0valid
Compiler

Compiled 82 to 100 computations (-22% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-add: 1.0ms (65% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch27.0ms (1%)

Memory
-19.8MiB live, 24.5MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
26.0ms
3.1136588965695433e-15
1.9626350719171635
Samples
20.0ms160×0valid
Compiler

Compiled 70 to 100 computations (-42.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-add: 2.0ms (118.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify43.0ms (1.6%)

Memory
18.3MiB live, 58.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02179
12379
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+.f64 (fma.f64 x x y) y)
(if (<=.f64 (*.f64 x x) #s(literal 687499642012889/127314748520905380391777855525586135065716774604121015664758778084648831235208544136462336 binary64)) #s(approx (+ (+ (* x x) y) y) (+.f64 y y)) (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y))
(if (<=.f64 (*.f64 x x) #s(literal 5347900969712843/9903520314283042199192993792 binary64)) #s(approx (+ (+ (* x x) y) y) (+.f64 y y)) #s(approx (+ (+ (* x x) y) y) (*.f64 x x)))
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
Outputs
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(+.f64 (fma.f64 x x y) y)
(if (<=.f64 (*.f64 x x) #s(literal 687499642012889/127314748520905380391777855525586135065716774604121015664758778084648831235208544136462336 binary64)) #s(approx (+ (+ (* x x) y) y) (+.f64 y y)) (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y))
(if (<=.f64 (*.f64 x x) #s(literal 5347900969712843/9903520314283042199192993792 binary64)) #s(approx (+ (+ (* x x) y) y) (+.f64 y y)) #s(approx (+ (+ (* x x) y) y) (*.f64 x x)))
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))

soundness591.0ms (22.1%)

Memory
-14.4MiB live, 467.5MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01560
02160
17260
256260
0808060
027282
180282
2193282
3649282
41930282
53616282
66722282
08178246
0515
0815
13715
231615
3498715
0810313
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 101 to 66 computations (34.7% saved)

preprocess39.0ms (1.5%)

Memory
-6.4MiB live, 111.5MiB allocated
Remove

(abs x)

Compiler

Compiled 132 to 66 computations (50% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...