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

Time bar (total: 2.9s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

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

sample842.0ms (28.9%)

Memory
-7.8MiB live, 871.0MiB allocated
Samples
547.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 387.0ms
ival-mult: 236.0ms (61% of total)
ival-add: 141.0ms (36.5% of total)
ival-true: 6.0ms (1.6% of total)
ival-assert: 3.0ms (0.8% of total)
Bogosity

explain94.0ms (3.2%)

Memory
1.2MiB live, 116.1MiB 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
54.0ms512×0valid
Compiler

Compiled 47 to 19 computations (59.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 35.0ms
ival-mult: 30.0ms (84.8% of total)
ival-add: 5.0ms (14.1% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess51.0ms (1.8%)

Memory
-19.1MiB live, 27.6MiB allocated
Algorithm
egg-herbie
Rules
59×sub-neg
54×unsub-neg
36×associate-+l-
32×distribute-rgt-in
29×associate--r+
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 x x (+.f64 y y))
Symmetry

(abs x)

Compiler

Compiled 9 to 5 computations (44.4% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 2 to 2 computations (0% saved)

prune1.0ms (0%)

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

Compiled 9 to 5 computations (44.4% saved)

simplify3.0ms (0.1%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(+.f64 (+.f64 (*.f64 x x) y) y)
cost-diff128
(+.f64 (*.f64 x x) y)
Rules
lower-+.f32
lower-+.f64
lower-fma.f64
lower-fma.f32
lower-*.f32
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 x x (+.f64 y y))
(+.f64 (*.f64 x x) y)
(fma.f64 x x y)
(*.f64 x x)
x
y

localize16.0ms (0.5%)

Memory
16.6MiB live, 16.6MiB allocated
Localize:

Found 3 expressions of interest:

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

Compiled 19 to 7 computations (63.2% saved)

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

series3.0ms (0.1%)

Memory
3.7MiB live, 3.7MiB 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 (+.f64 (*.f64 x x) y) y) (patch (+.f64 (+.f64 (*.f64 x x) y) y) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
Outputs
#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 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 (*.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 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 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 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 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 (*.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 (*.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 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 (* 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 (* 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 (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
Calls

15 calls:

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

simplify136.0ms (4.7%)

Memory
3.1MiB live, 118.4MiB allocated
Algorithm
egg-herbie
Rules
2 279×lower-fma.f64
2 279×lower-fma.f32
1 616×lower-*.f64
1 616×lower-*.f32
663×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027282
180282
2193282
3655282
41935282
53634282
66739282
08124246
Stop Event
iter limit
node limit
Counts
60 → 57
Calls
Call 1
Inputs
y
(+ y (pow x 2))
(+ y (pow x 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)
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
y
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (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)
(+ (* 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)))))
(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)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
Outputs
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) (+ 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)
(+ 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 (+ 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
(* -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 #s(literal 2 binary64) y)
(+ (* 2 y) (pow x 2))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(pow x 2)
(*.f64 x x)
(+ (* 2 y) (pow x 2))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(+ (* 2 y) (pow x 2))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(* 2 y)
(*.f64 #s(literal 2 binary64) y)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)

rewrite294.0ms (10.1%)

Memory
-0.5MiB live, 241.1MiB allocated
Rules
3 653×lower-fma.f64
3 653×lower-fma.f32
2 391×lower-*.f32
2 390×lower-*.f64
1 150×lower-/.f64
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 (+.f64 (*.f64 x x) y) y)
(*.f64 x x)
Outputs
(*.f64 (pow.f64 (/.f64 (fma.f64 x x (neg.f64 y)) (*.f64 (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y)) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y))))
(*.f64 (pow.f64 (/.f64 (fma.f64 x x (neg.f64 y)) (*.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 y y) (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y))))))
(*.f64 (pow.f64 (/.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (*.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y))))
(*.f64 (pow.f64 (/.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)) y) (*.f64 (*.f64 y y) y) (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x))) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x)))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 y y) y) (-.f64 (*.f64 (*.f64 y y) y) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x)) (*.f64 (*.f64 (*.f64 x x) x) x)) (*.f64 x x)))))
(*.f64 (pow.f64 (/.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y))) #s(literal 1 binary64)) (pow.f64 (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 (fma.f64 x x y) y)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y) (*.f64 y (*.f64 x x))))) #s(literal 1 binary64)) (pow.f64 (fma.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y) (*.f64 y (*.f64 x x))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x)) (*.f64 (*.f64 (*.f64 x x) x) x)) (*.f64 x x) (*.f64 (*.f64 (*.f64 (*.f64 (-.f64 y (*.f64 x x)) y) y) (-.f64 y (*.f64 x x))) (*.f64 (-.f64 y (*.f64 x x)) y)))) #s(literal 1 binary64)) (pow.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (*.f64 (*.f64 x x) x)) x (*.f64 (*.f64 (-.f64 y (*.f64 x x)) y) (-.f64 (*.f64 (-.f64 y (*.f64 x x)) y) (*.f64 (*.f64 (*.f64 x x) x) x)))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) #s(literal 1 binary64)) (fma.f64 x x y))
(*.f64 (pow.f64 (*.f64 (fma.f64 x x y) (-.f64 y (*.f64 x x))) #s(literal 1 binary64)) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 y (*.f64 x x))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (neg.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) #s(literal 1 binary64)) (pow.f64 (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 x x (neg.f64 y)))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (neg.f64 (fma.f64 x x y))) #s(literal 1 binary64)) (pow.f64 (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y))) #s(literal 1 binary64)) (pow.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) #s(literal 1 binary64)) (pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) #s(literal 1 binary64)) (pow.f64 (/.f64 (fma.f64 x x y) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) #s(literal 1 binary64)) (pow.f64 (*.f64 (fma.f64 x x y) (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))))) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))) #s(literal 1 binary64)) (pow.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) #s(literal 1 binary64)) (pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))) #s(literal 1 binary64)))
(*.f64 (/.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y))) (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 (fma.f64 x x y) y)))
(*.f64 (/.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y) (*.f64 y (*.f64 x x))))) (fma.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y) (*.f64 y (*.f64 x x))))
(*.f64 (/.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x)) (*.f64 (*.f64 (*.f64 x x) x) x)) (*.f64 x x) (*.f64 (*.f64 (*.f64 (*.f64 (-.f64 y (*.f64 x x)) y) y) (-.f64 y (*.f64 x x))) (*.f64 (-.f64 y (*.f64 x x)) y)))) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (*.f64 (*.f64 x x) x)) x (*.f64 (*.f64 (-.f64 y (*.f64 x x)) y) (-.f64 (*.f64 (-.f64 y (*.f64 x x)) y) (*.f64 (*.f64 (*.f64 x x) x) x)))))
(*.f64 (/.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) (fma.f64 x x y))
(*.f64 (*.f64 (fma.f64 x x y) (-.f64 y (*.f64 x x))) (/.f64 #s(literal 1 binary64) (-.f64 y (*.f64 x x))))
(*.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y))) (pow.f64 (/.f64 #s(literal 1 binary64) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y))) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)))
(*.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))) (pow.f64 (/.f64 #s(literal 1 binary64) (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y))) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))) (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)))
(*.f64 #s(literal 1 binary64) (fma.f64 x x y))
(*.f64 (neg.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 x x (neg.f64 y)))))
(*.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (neg.f64 (fma.f64 x x y))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))))))
(*.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y))))
(*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (/.f64 (fma.f64 x x y) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))))
(*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (*.f64 (fma.f64 x x y) (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))))))
(*.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))))
(*.f64 (fma.f64 x x y) (pow.f64 (/.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x (neg.f64 y))) #s(literal 1 binary64)))
(*.f64 (fma.f64 x x y) (pow.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y)))) #s(literal 1 binary64)))
(*.f64 (fma.f64 x x y) (/.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x (neg.f64 y))))
(*.f64 (fma.f64 x x y) (*.f64 (fma.f64 x x (neg.f64 y)) (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y)))))
(pow.f64 (/.f64 (-.f64 y (*.f64 x x)) (*.f64 (fma.f64 x x y) (-.f64 y (*.f64 x x)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x y)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x y)) #s(literal -1 binary64))
(pow.f64 (fma.f64 x x y) #s(literal 1 binary64))
(/.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y)) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y)))) (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y)))
(/.f64 (*.f64 (*.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y))) (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y)))) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 y y) (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y)))))
(/.f64 (*.f64 (*.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y))) (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))))) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y)))
(/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)) y) (*.f64 (*.f64 y y) y) (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x))) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x))))) (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))))) (fma.f64 (*.f64 (*.f64 y y) y) (-.f64 (*.f64 (*.f64 y y) y) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x)) (*.f64 (*.f64 (*.f64 x x) x) x)) (*.f64 x x))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (fma.f64 x x (neg.f64 y))) (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (fma.f64 x x (neg.f64 y)))) (*.f64 (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y))) (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y))))) (fma.f64 (*.f64 x x) (/.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))) (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (fma.f64 x x (neg.f64 y))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (fma.f64 x x (neg.f64 y))) (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (fma.f64 x x (neg.f64 y))) (fma.f64 (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y))) (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y))) (*.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (fma.f64 x x (neg.f64 y))) (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y)))))))
(/.f64 (neg.f64 (*.f64 (fma.f64 x x y) (-.f64 y (*.f64 x x)))) (neg.f64 (-.f64 y (*.f64 x x))))
(/.f64 (neg.f64 (neg.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)))) (neg.f64 (neg.f64 (fma.f64 x x (neg.f64 y)))))
(/.f64 (neg.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (neg.f64 (fma.f64 x x y)))) (neg.f64 (neg.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))))))
(/.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y)) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y)) (fma.f64 x x (neg.f64 y))))
(/.f64 (*.f64 (*.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y))) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 y y) (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y)))) (fma.f64 x x (neg.f64 y))))
(/.f64 (*.f64 (*.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y))) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y)) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))))
(/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)) y) (*.f64 (*.f64 y y) y) (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x))) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x))))) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 (*.f64 y y) y) (-.f64 (*.f64 (*.f64 y y) y) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x)) (*.f64 (*.f64 (*.f64 x x) x) x)) (*.f64 x x))) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))))
(/.f64 (*.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) #s(literal 1 binary64)) (fma.f64 x x (neg.f64 y)))
(/.f64 (*.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) #s(literal 1 binary64)) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (fma.f64 x x (neg.f64 y))) (*.f64 (fma.f64 x x (neg.f64 y)) (*.f64 y y))) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x (neg.f64 y))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x y))))
(/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y)) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y))))
(/.f64 (*.f64 (fma.f64 x x y) (-.f64 y (*.f64 x x))) (-.f64 y (*.f64 x x)))
(/.f64 (*.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y))) (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y))))
(/.f64 (*.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y))) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 y y) (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y))))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 y (*.f64 x x)) (*.f64 (fma.f64 x x y) (-.f64 y (*.f64 x x)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x y)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 x x y)))
(/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)) y) (*.f64 (*.f64 y y) y) (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x))) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x))))) (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 (*.f64 (*.f64 y y) y) (-.f64 (*.f64 (*.f64 y y) y) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x)) (*.f64 (*.f64 (*.f64 x x) x) x)) (*.f64 x x)))))
(/.f64 (neg.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) (neg.f64 (fma.f64 x x (neg.f64 y))))
(/.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (neg.f64 (fma.f64 x x y))) (neg.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))))
(/.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) (fma.f64 x x (neg.f64 y)))
(/.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))))
(neg.f64 (neg.f64 (fma.f64 x x y)))
(fma.f64 (pow.f64 (exp.f64 (log.f64 x)) #s(literal 1 binary64)) (pow.f64 (exp.f64 (log.f64 x)) #s(literal 1 binary64)) y)
(fma.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y))) (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 (fma.f64 x x y) y)) (neg.f64 (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y)))))
(fma.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) (fma.f64 x x y) (neg.f64 (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y)))))
(fma.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)) y)
(fma.f64 (*.f64 (*.f64 x x) x) (/.f64 x (fma.f64 x x (neg.f64 y))) (neg.f64 (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y)))))
(fma.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y))) (neg.f64 (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y)))))
(fma.f64 (*.f64 x x) (/.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))) (neg.f64 (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y)))))
(fma.f64 x (/.f64 (*.f64 (*.f64 x x) x) (fma.f64 x x (neg.f64 y))) (neg.f64 (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y)))))
(fma.f64 x x y)
(-.f64 (/.f64 (*.f64 y y) (-.f64 y (*.f64 x x))) (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (-.f64 y (*.f64 x x))))
(-.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (fma.f64 x x (neg.f64 y))) (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y))))
(exp.f64 (*.f64 (neg.f64 (log.f64 (fma.f64 x x y))) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (fma.f64 x x y)) #s(literal 1 binary64)))
(+.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (fma.f64 x x (neg.f64 y))) (neg.f64 (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y)))))
(+.f64 y (*.f64 x x))
(+.f64 (*.f64 x x) y)
(*.f64 (pow.f64 (/.f64 (fma.f64 x x #s(literal 0 binary64)) (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y y)) (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y y))))
(*.f64 (pow.f64 (/.f64 (fma.f64 x x #s(literal 0 binary64)) (*.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))) (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 (neg.f64 y) y) y)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 y y) (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y y)) (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) (fma.f64 x x y))))))
(*.f64 (pow.f64 (/.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (*.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))) (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 (neg.f64 y) y) y)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 (neg.f64 y) y) y))))
(*.f64 (pow.f64 (/.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) (fma.f64 x x y))) (fma.f64 x x y)) (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)) y) (*.f64 (*.f64 y y) y)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) (fma.f64 x x y))) (fma.f64 x x y) (*.f64 (*.f64 (*.f64 y y) y) (-.f64 (*.f64 (*.f64 y y) y) (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)))))))
(*.f64 (/.f64 (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y))) (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 (neg.f64 y) y) y))) (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y (fma.f64 x x (+.f64 y y)))))
(*.f64 (/.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))) (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y)) (*.f64 (fma.f64 x x y) y)))) (fma.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y)) (*.f64 (fma.f64 x x y) y)))
(*.f64 (/.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))) (fma.f64 (*.f64 (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) (fma.f64 x x y))) (fma.f64 x x y) (*.f64 (*.f64 #s(literal -1 binary64) (*.f64 (*.f64 y y) y)) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x))))) (fma.f64 (*.f64 (neg.f64 x) (*.f64 y x)) (-.f64 (*.f64 (neg.f64 x) (*.f64 y x)) (*.f64 (fma.f64 x x y) (fma.f64 x x y))) (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) (fma.f64 x x y)))))
(*.f64 (/.f64 (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y))) (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y)))) (fma.f64 x x (+.f64 y y)))
(*.f64 (*.f64 (fma.f64 x x (+.f64 y y)) (*.f64 (neg.f64 x) x)) (/.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) x)))
(*.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (+.f64 y y)) (/.f64 #s(literal 1 binary64) (fma.f64 x x (*.f64 #s(literal -2 binary64) y))))
(*.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x #s(literal 0 binary64))) (pow.f64 (/.f64 #s(literal 1 binary64) (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y)))) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x #s(literal 0 binary64))) (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y))))
(*.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y))) (pow.f64 (/.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y)))) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y))) (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))))
(*.f64 #s(literal 1 binary64) (fma.f64 x x (+.f64 y y)))
(*.f64 (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (+.f64 y y)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 x x) x) x (-.f64 (+.f64 y y) (*.f64 x (*.f64 x (+.f64 y y)))))))
(*.f64 (*.f64 (fma.f64 x x (+.f64 y y)) (fma.f64 (neg.f64 x) x #s(literal 0 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (neg.f64 x) x #s(literal 0 binary64))))
(*.f64 (*.f64 (neg.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y))) (fma.f64 x x (+.f64 y y))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)))))
(*.f64 (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y))) (/.f64 #s(literal 1 binary64) (fma.f64 x x #s(literal 0 binary64))))
(*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (/.f64 (fma.f64 x x (+.f64 y y)) (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y))))
(*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (*.f64 (fma.f64 x x (+.f64 y y)) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)))))
(*.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y))))
(*.f64 (fma.f64 x x (+.f64 y y)) (/.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x #s(literal 0 binary64))))
(*.f64 (fma.f64 x x (+.f64 y y)) (*.f64 (fma.f64 x x #s(literal 0 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 x x #s(literal 0 binary64)))))
(pow.f64 (/.f64 (*.f64 (neg.f64 x) x) (*.f64 (fma.f64 x x (+.f64 y y)) (*.f64 (neg.f64 x) x))) #s(literal -1 binary64))
(pow.f64 (/.f64 (fma.f64 x x (*.f64 #s(literal -2 binary64) y)) (-.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (+.f64 y y))) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x (+.f64 y y))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (fma.f64 (*.f64 (*.f64 x x) x) x (-.f64 (+.f64 y y) (*.f64 x (*.f64 x (+.f64 y y))))) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (+.f64 y y))) #s(literal -1 binary64))
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x (+.f64 y y))) #s(literal -1 binary64))
(/.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y y)) (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y)))) (/.f64 #s(literal 1 binary64) (fma.f64 x x #s(literal 0 binary64)))) (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y y)))
(/.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))) (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 (neg.f64 y) y) y))) (/.f64 #s(literal 1 binary64) (fma.f64 x x #s(literal 0 binary64)))) (fma.f64 (*.f64 y y) (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y y)) (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) (fma.f64 x x y)))))
(/.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))) (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 (neg.f64 y) y) y))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)))) (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 (neg.f64 y) y) y)))
(/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) (fma.f64 x x y))) (fma.f64 x x y)) (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)) y) (*.f64 (*.f64 y y) y))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)))) (fma.f64 (*.f64 (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) (fma.f64 x x y))) (fma.f64 x x y) (*.f64 (*.f64 (*.f64 y y) y) (-.f64 (*.f64 (*.f64 y y) y) (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y))))))
(/.f64 (*.f64 (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y))) #s(literal 1 binary64)) (fma.f64 x x #s(literal 0 binary64)))
(/.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))) #s(literal 1 binary64)) (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x #s(literal 0 binary64))) (/.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x #s(literal 0 binary64)))) (*.f64 (*.f64 y (/.f64 y (fma.f64 x x #s(literal 0 binary64)))) (*.f64 y (/.f64 y (fma.f64 x x #s(literal 0 binary64)))))) (fma.f64 (fma.f64 x x y) (/.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64))) (*.f64 y (/.f64 y (fma.f64 x x #s(literal 0 binary64))))))
(/.f64 (-.f64 (+.f64 y y) (*.f64 (*.f64 (*.f64 x x) x) x)) (-.f64 (+.f64 y y) (*.f64 x x)))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x #s(literal 0 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 y (/.f64 y (fma.f64 x x #s(literal 0 binary64)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x #s(literal 0 binary64))) (/.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x #s(literal 0 binary64))) (fma.f64 (*.f64 y (/.f64 y (fma.f64 x x #s(literal 0 binary64)))) (*.f64 y (/.f64 y (fma.f64 x x #s(literal 0 binary64)))) (*.f64 (/.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x #s(literal 0 binary64))) (*.f64 y (/.f64 y (fma.f64 x x #s(literal 0 binary64))))))))
(/.f64 (neg.f64 (*.f64 (fma.f64 x x (+.f64 y y)) (*.f64 (neg.f64 x) x))) (neg.f64 (*.f64 (neg.f64 x) x)))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (+.f64 y y))) (neg.f64 (fma.f64 x x (*.f64 #s(literal -2 binary64) y))))
(/.f64 (neg.f64 (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (+.f64 y y))) (neg.f64 (fma.f64 (*.f64 (*.f64 x x) x) x (-.f64 (+.f64 y y) (*.f64 x (*.f64 x (+.f64 y y)))))))
(/.f64 (neg.f64 (*.f64 (fma.f64 x x (+.f64 y y)) (fma.f64 (neg.f64 x) x #s(literal 0 binary64)))) (neg.f64 (fma.f64 (neg.f64 x) x #s(literal 0 binary64))))
(/.f64 (neg.f64 (*.f64 (neg.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y))) (fma.f64 x x (+.f64 y y)))) (neg.f64 (neg.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)))))
(/.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y y)) (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y)))) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y y)) (fma.f64 x x #s(literal 0 binary64))))
(/.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))) (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 (neg.f64 y) y) y))) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 y y) (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y y)) (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) (fma.f64 x x y)))) (fma.f64 x x #s(literal 0 binary64))))
(/.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))) (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 (neg.f64 y) y) y))) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 (neg.f64 y) y) y)) (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y))))
(/.f64 (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) (fma.f64 x x y))) (fma.f64 x x y)) (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)) y) (*.f64 (*.f64 y y) y))) #s(literal 1 binary64)) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) (fma.f64 x x y))) (fma.f64 x x y) (*.f64 (*.f64 (*.f64 y y) y) (-.f64 (*.f64 (*.f64 y y) y) (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y))))) (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y))))
(/.f64 (-.f64 (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x #s(literal 0 binary64))) (*.f64 (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y))) (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x #s(literal 0 binary64))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x (+.f64 y y)))))
(/.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y y)) (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y)))) (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y y))))
(/.f64 (*.f64 (fma.f64 x x (+.f64 y y)) (*.f64 (neg.f64 x) x)) (*.f64 (neg.f64 x) x))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (+.f64 y y)) (fma.f64 x x (*.f64 #s(literal -2 binary64) y)))
(/.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))) (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 (neg.f64 y) y) y))) (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 (*.f64 y y) (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y y)) (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) (fma.f64 x x y))))))
(/.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))) (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 (neg.f64 y) y) y))) (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 (neg.f64 y) y) y))))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 x) x) (*.f64 (fma.f64 x x (+.f64 y y)) (*.f64 (neg.f64 x) x))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x (*.f64 #s(literal -2 binary64) y)) (-.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (+.f64 y y))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x (+.f64 y y))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (*.f64 x x) x) x (-.f64 (+.f64 y y) (*.f64 x (*.f64 x (+.f64 y y))))) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (+.f64 y y))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 x x (+.f64 y y))))
(/.f64 (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (+.f64 y y)) (fma.f64 #s(literal 2 binary64) y (-.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (*.f64 x (*.f64 x (+.f64 y y))))))
(/.f64 (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (+.f64 y y)) (fma.f64 (*.f64 (*.f64 x x) x) x (-.f64 (+.f64 y y) (*.f64 x (*.f64 x (+.f64 y y))))))
(/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) (fma.f64 x x y))) (fma.f64 x x y)) (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)) y) (*.f64 (*.f64 y y) y))) (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 (*.f64 (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) (fma.f64 x x y))) (fma.f64 x x y) (*.f64 (*.f64 (*.f64 y y) y) (-.f64 (*.f64 (*.f64 y y) y) (*.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y)))))))
(/.f64 (*.f64 (fma.f64 x x (+.f64 y y)) (fma.f64 (neg.f64 x) x #s(literal 0 binary64))) (fma.f64 (neg.f64 x) x #s(literal 0 binary64)))
(/.f64 (*.f64 (neg.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y))) (fma.f64 x x (+.f64 y y))) (neg.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y))))
(/.f64 (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y))) (fma.f64 x x #s(literal 0 binary64)))
(/.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))) (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)))
(neg.f64 (/.f64 (*.f64 (fma.f64 x x (+.f64 y y)) (fma.f64 (neg.f64 x) x #s(literal 0 binary64))) (fma.f64 x x #s(literal 0 binary64))))
(neg.f64 (/.f64 (*.f64 (neg.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y))) (fma.f64 x x (+.f64 y y))) (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y))))
(neg.f64 (/.f64 (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y))) (fma.f64 (neg.f64 x) x #s(literal 0 binary64))))
(neg.f64 (/.f64 (*.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)) (fma.f64 x x (+.f64 y y))) (neg.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64)) (*.f64 y y)))))
(fma.f64 (pow.f64 (*.f64 (+.f64 y y) #s(literal 2 binary64)) #s(literal 3 binary64)) (*.f64 (*.f64 y y) y) (*.f64 x x))
(fma.f64 #s(literal 512 binary64) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)) y) (*.f64 (*.f64 y y) y)) (*.f64 x x))
(fma.f64 (pow.f64 (*.f64 (+.f64 y y) #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 y y) (*.f64 x x))
(fma.f64 #s(literal 64 binary64) (*.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)) y) (*.f64 x x))
(fma.f64 #s(literal 16 binary64) (*.f64 (*.f64 y y) (*.f64 y y)) (*.f64 x x))
(fma.f64 (pow.f64 (/.f64 (fma.f64 x x (neg.f64 y)) (*.f64 (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y)) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y))) y)
(fma.f64 (pow.f64 (/.f64 (fma.f64 x x (neg.f64 y)) (*.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 y y) (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 y y))))) y)
(fma.f64 (pow.f64 (/.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (*.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y)))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y))) y)
(fma.f64 (pow.f64 (/.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)) y) (*.f64 (*.f64 y y) y) (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x))) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x)))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 y y) y) (-.f64 (*.f64 (*.f64 y y) y) (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x))) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x)) (*.f64 (*.f64 (*.f64 x x) x) x)) (*.f64 x x)))) y)
(fma.f64 (pow.f64 (exp.f64 (log.f64 x)) #s(literal 1 binary64)) (pow.f64 (exp.f64 (log.f64 x)) #s(literal 1 binary64)) (+.f64 y y))
(fma.f64 (pow.f64 (*.f64 (+.f64 y y) #s(literal 2 binary64)) #s(literal 3/2 binary64)) (pow.f64 y #s(literal 3/2 binary64)) (*.f64 x x))
(fma.f64 (pow.f64 #s(literal 8 binary64) #s(literal 3/2 binary64)) (pow.f64 y #s(literal 9/2 binary64)) (*.f64 x x))
(fma.f64 (pow.f64 (*.f64 (*.f64 y y) (+.f64 y y)) #s(literal 3/2 binary64)) (pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y y #s(literal 0 binary64))) #s(literal 3/2 binary64)) (*.f64 x x))
(fma.f64 (pow.f64 #s(literal 4 binary64) #s(literal 3/2 binary64)) (*.f64 (*.f64 y y) y) (*.f64 x x))
(fma.f64 (pow.f64 #s(literal 2 binary64) #s(literal 3/2 binary64)) (pow.f64 (*.f64 y (+.f64 y y)) #s(literal 3/2 binary64)) (*.f64 x x))
(fma.f64 (pow.f64 #s(literal 2 binary64) #s(literal 3/2 binary64)) (pow.f64 y #s(literal 3/2 binary64)) (*.f64 x x))
(fma.f64 (pow.f64 (/.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y))) #s(literal 1 binary64)) (pow.f64 (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 (fma.f64 x x y) y)) #s(literal 1 binary64)) y)
(fma.f64 (pow.f64 (/.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y) (*.f64 y (*.f64 x x))))) #s(literal 1 binary64)) (pow.f64 (fma.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y) (*.f64 y (*.f64 x x))) #s(literal 1 binary64)) y)
(fma.f64 (pow.f64 (/.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x)) (*.f64 (*.f64 (*.f64 x x) x) x)) (*.f64 x x) (*.f64 (*.f64 (*.f64 (*.f64 (-.f64 y (*.f64 x x)) y) y) (-.f64 y (*.f64 x x))) (*.f64 (-.f64 y (*.f64 x x)) y)))) #s(literal 1 binary64)) (pow.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (*.f64 (*.f64 x x) x)) x (*.f64 (*.f64 (-.f64 y (*.f64 x x)) y) (-.f64 (*.f64 (-.f64 y (*.f64 x x)) y) (*.f64 (*.f64 (*.f64 x x) x) x)))) #s(literal 1 binary64)) y)
(fma.f64 (pow.f64 (/.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) #s(literal 1 binary64)) (fma.f64 x x y) y)
(fma.f64 (pow.f64 (*.f64 (fma.f64 x x y) (-.f64 y (*.f64 x x))) #s(literal 1 binary64)) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 y (*.f64 x x))) #s(literal 1 binary64)) y)
(fma.f64 (pow.f64 (neg.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) #s(literal 1 binary64)) (pow.f64 (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 x x (neg.f64 y)))) #s(literal 1 binary64)) y)
(fma.f64 (pow.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (neg.f64 (fma.f64 x x y))) #s(literal 1 binary64)) (pow.f64 (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))))) #s(literal 1 binary64)) y)
(fma.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y))) #s(literal 1 binary64)) (pow.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) #s(literal 1 binary64)) y)
(fma.f64 (pow.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) #s(literal 1 binary64)) (pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y))) #s(literal 1 binary64)) y)
(fma.f64 (pow.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) #s(literal 1 binary64)) (pow.f64 (/.f64 (fma.f64 x x y) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))) #s(literal 1 binary64)) y)
(fma.f64 (pow.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) #s(literal 1 binary64)) (pow.f64 (*.f64 (fma.f64 x x y) (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))))) #s(literal 1 binary64)) y)
(fma.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))) #s(literal 1 binary64)) (pow.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) #s(literal 1 binary64)) y)
(fma.f64 (pow.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) #s(literal 1 binary64)) (pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))) #s(literal 1 binary64)) y)
(fma.f64 (/.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x) (*.f64 (*.f64 (neg.f64 y) y) y))) (fma.f64 (*.f64 (*.f64 x x) x) x (*.f64 (fma.f64 x x y) y)) y)
(fma.f64 (/.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y) (*.f64 y (*.f64 x x))))) (fma.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y) (*.f64 y (*.f64 x x))) y)
(fma.f64 (/.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) (*.f64 (*.f64 x x) x)) (*.f64 (*.f64 (*.f64 x x) x) x)) (*.f64 x x) (*.f64 (*.f64 (*.f64 (*.f64 (-.f64 y (*.f64 x x)) y) y) (-.f64 y (*.f64 x x))) (*.f64 (-.f64 y (*.f64 x x)) y)))) (fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (*.f64 (*.f64 x x) x)) x (*.f64 (*.f64 (-.f64 y (*.f64 x x)) y) (-.f64 (*.f64 (-.f64 y (*.f64 x x)) y) (*.f64 (*.f64 (*.f64 x x) x) x)))) y)
(fma.f64 (/.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 (neg.f64 y) y) y))) (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y (fma.f64 x x (+.f64 y y)))) (neg.f64 (*.f64 y (/.f64 y (fma.f64 x x #s(literal 0 binary64))))))
(fma.f64 (/.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (*.f64 (fma.f64 x x #s(literal 0 binary64)) (fma.f64 x x (+.f64 y y)))) (fma.f64 x x (+.f64 y y)) (neg.f64 (*.f64 y (/.f64 y (fma.f64 x x #s(literal 0 binary64))))))
(fma.f64 (/.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) (fma.f64 x x y) y)
(fma.f64 (*.f64 (+.f64 y y) #s(literal 2 binary64)) y (*.f64 x x))
(fma.f64 (*.f64 (*.f64 (*.f64 y y) (+.f64 y y)) (*.f64 (*.f64 y y) (+.f64 y y))) (pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y y #s(literal 0 binary64))) #s(literal 2 binary64)) (*.f64 x x))
(fma.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 y y) y) (*.f64 y y)) y) (+.f64 y y)) (pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y y #s(literal 0 binary64))) #s(literal 3 binary64)) (*.f64 x x))
(fma.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)) (+.f64 y y))
(fma.f64 #s(literal 8 binary64) (pow.f64 (*.f64 y (+.f64 y y)) #s(literal 3 binary64)) (*.f64 x x))
(fma.f64 #s(literal 8 binary64) (*.f64 (*.f64 y y) y) (*.f64 x x))
(fma.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 1 binary64) #s(literal 0 binary64)) #s(literal 3 binary64)) (*.f64 x x))
(fma.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 1 binary64) #s(literal 0 binary64)) #s(literal 2 binary64)) (*.f64 x x))
(fma.f64 #s(literal 0 binary64) (pow.f64 (/.f64 #s(literal 1 binary64) #s(literal 0 binary64)) #s(literal 3/2 binary64)) (*.f64 x x))
(fma.f64 #s(literal 0 binary64) (/.f64 #s(literal 1 binary64) #s(literal 0 binary64)) (*.f64 x x))
(fma.f64 (pow.f64 y #s(literal 3/2 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 3/2 binary64)) (*.f64 x x))
(fma.f64 (*.f64 (fma.f64 x x y) (-.f64 y (*.f64 x x))) (/.f64 #s(literal 1 binary64) (-.f64 y (*.f64 x x))) y)
(fma.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y))) (pow.f64 (/.f64 #s(literal 1 binary64) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) #s(literal -1 binary64)) y)
(fma.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y))) (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) y)
(fma.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))) (pow.f64 (/.f64 #s(literal 1 binary64) (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y))) #s(literal -1 binary64)) y)
(fma.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))) (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) y)
(fma.f64 #s(literal 1 binary64) (fma.f64 x x y) y)
(fma.f64 (*.f64 (*.f64 y y) (+.f64 y y)) (/.f64 #s(literal 1 binary64) (fma.f64 y y #s(literal 0 binary64))) (*.f64 x x))
(fma.f64 (neg.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 x x (neg.f64 y)))) y)
(fma.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (neg.f64 (fma.f64 x x y))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))))) y)
(fma.f64 #s(literal 4 binary64) (pow.f64 (*.f64 y (+.f64 y y)) #s(literal 2 binary64)) (*.f64 x x))
(fma.f64 #s(literal 4 binary64) (*.f64 y y) (*.f64 x x))
(fma.f64 (+.f64 y y) (+.f64 y y) (*.f64 x x))
(fma.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x y)) (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y))) y)
(fma.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (/.f64 (fma.f64 x x y) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))) y)
(fma.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (*.f64 (fma.f64 x x y) (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))))) y)
(fma.f64 (*.f64 (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y)))) (fma.f64 x x y)) (/.f64 #s(literal 1 binary64) (fma.f64 y y (*.f64 (*.f64 x x) (fma.f64 x x (neg.f64 y))))) y)
(fma.f64 (*.f64 y y) #s(literal 4 binary64) (*.f64 x x))
(fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (/.f64 #s(literal 1 binary64) (fma.f64 x x #s(literal 0 binary64))) (neg.f64 (*.f64 y (/.f64 y (fma.f64 x x #s(literal 0 binary64))))))
(fma.f64 (*.f64 (*.f64 y y) y) #s(literal 8 binary64) (*.f64 x x))
(fma.f64 #s(literal 2 binary64) (*.f64 y (+.f64 y y)) (*.f64 x x))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(fma.f64 (fma.f64 x x y) (pow.f64 (/.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x (neg.f64 y))) #s(literal 1 binary64)) y)
(fma.f64 (fma.f64 x x y) (pow.f64 (*.f64 (fma.f64 x x (neg.f64 y)) (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y)))) #s(literal 1 binary64)) y)
(fma.f64 (fma.f64 x x y) (/.f64 (fma.f64 x x (neg.f64 y)) (fma.f64 x x (neg.f64 y))) y)
(fma.f64 (fma.f64 x x y) (/.f64 (fma.f64 x x y) (fma.f64 x x #s(literal 0 binary64))) (neg.f64 (*.f64 y (/.f64 y (fma.f64 x x #s(literal 0 binary64))))))
(fma.f64 (fma.f64 x x y) (*.f64 (fma.f64 x x (neg.f64 y)) (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y)))) y)
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(fma.f64 x x (+.f64 y y))
(-.f64 (+.f64 y (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (fma.f64 x x (neg.f64 y)))) (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y))))
(-.f64 (/.f64 (*.f64 y y) (*.f64 (neg.f64 x) x)) (/.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (*.f64 (neg.f64 x) x)))
(-.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (fma.f64 x x (*.f64 #s(literal -2 binary64) y))) (/.f64 (+.f64 y y) (fma.f64 x x (*.f64 #s(literal -2 binary64) y))))
(-.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (fma.f64 x x (neg.f64 y))) (-.f64 (/.f64 (*.f64 y y) (fma.f64 x x (neg.f64 y))) y))
(-.f64 (/.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x #s(literal 0 binary64))) (*.f64 y (/.f64 y (fma.f64 x x #s(literal 0 binary64)))))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) (fma.f64 x x (+.f64 y y)))) #s(literal -1 binary64)))
(+.f64 (/.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x #s(literal 0 binary64))) (neg.f64 (*.f64 y (/.f64 y (fma.f64 x x #s(literal 0 binary64))))))
(+.f64 (+.f64 y y) (*.f64 x x))
(+.f64 (fma.f64 x x y) y)
(+.f64 y (fma.f64 x x y))
(+.f64 (*.f64 x x) (+.f64 y y))
(*.f64 (pow.f64 (exp.f64 (log.f64 x)) #s(literal 1 binary64)) (pow.f64 (exp.f64 (log.f64 x)) #s(literal 1 binary64)))
(*.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)))
(*.f64 x x)
(pow.f64 (exp.f64 (log.f64 x)) #s(literal 2 binary64))
(pow.f64 (*.f64 x x) #s(literal 1 binary64))
(pow.f64 x #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 x))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))

eval46.0ms (1.6%)

Memory
12.4MiB live, 50.1MiB allocated
Compiler

Compiled 8 883 to 706 computations (92.1% saved)

prune69.0ms (2.4%)

Memory
-14.3MiB live, 66.3MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New3044308
Fresh000
Picked101
Done000
Total3054309
Accuracy
100.0%
Counts
309 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x x (+.f64 y y))
62.9%
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
56.0%
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
46.6%
#s(approx (+ (+ (* x x) y) y) (*.f64 #s(literal 2 binary64) y))
Compiler

Compiled 28 to 15 computations (46.4% saved)

simplify5.0ms (0.2%)

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

Found 9 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 y y)
cost-diff0
(fma.f64 x x (+.f64 y 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 x x)
cost-diff0
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
cost-diff0
#s(approx (+ (+ (* x x) y) y) (*.f64 #s(literal 2 binary64) y))
cost-diff128
(*.f64 #s(literal 2 binary64) y)
Rules
lower-+.f32
lower-+.f64
lower-fma.f32
+-commutative
lower-fma.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01467
01965
12565
02563
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (+ (+ (* x x) y) y) (*.f64 #s(literal 2 binary64) y))
(*.f64 #s(literal 2 binary64) y)
#s(literal 2 binary64)
y
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
(*.f64 x x)
x
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
#s(approx (+ (* x x) y) (*.f64 x x))
(*.f64 x x)
x
y
(fma.f64 x x (+.f64 y y))
x
(+.f64 y y)
y
Outputs
#s(approx (+ (+ (* x x) y) y) (*.f64 #s(literal 2 binary64) y))
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
(*.f64 #s(literal 2 binary64) y)
(+.f64 y y)
#s(literal 2 binary64)
y
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
(*.f64 x x)
x
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
#s(approx (+ (* x x) y) (*.f64 x x))
(*.f64 x x)
x
y
(fma.f64 x x (+.f64 y y))
x
(+.f64 y y)
y

localize39.0ms (1.3%)

Memory
-2.3MiB live, 36.3MiB allocated
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 x x (+.f64 y y))
accuracy0
(+.f64 y y)
accuracy0
(*.f64 x x)
accuracy0.00390625
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
accuracy28.13386397086973
#s(approx (+ (* x x) y) (*.f64 x x))
accuracy0
(*.f64 x x)
accuracy28.139744303995926
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
accuracy0
(*.f64 #s(literal 2 binary64) y)
accuracy34.14712297769542
#s(approx (+ (+ (* x x) y) y) (*.f64 #s(literal 2 binary64) y))
Samples
27.0ms256×0valid
Compiler

Compiled 54 to 11 computations (79.6% saved)

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

series5.0ms (0.2%)

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

39 calls:

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

simplify137.0ms (4.7%)

Memory
-12.3MiB live, 105.4MiB allocated
Algorithm
egg-herbie
Rules
2 345×lower-fma.f64
2 345×lower-fma.f32
1 670×lower-*.f64
1 670×lower-*.f32
663×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027786
180786
2193786
3654786
41927786
53632786
66731786
08180696
Stop Event
iter limit
node limit
Counts
156 → 153
Calls
Call 1
Inputs
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 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)))))
(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)
(* -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) (+ 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)
(+ (* 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)
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 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)))))
(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)
(* -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) (+ 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)
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
y
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (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)
(+ (* 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)))))
(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)
(* -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)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
Outputs
(* 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)
(*.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)
(*.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 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
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) (+ 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)
(+ 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 (+ 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
(* -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))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.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)
(*.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)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))

rewrite50.0ms (1.7%)

Memory
13.5MiB live, 53.0MiB allocated
Rules
854×frac-times
252×lower-fma.f32
251×lower-fma.f64
238×associate-*r/
170×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01457
01945
17545
266745
01955
17555
066753
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
8 → 134
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) y)
#s(approx (+ (+ (* x x) y) y) (*.f64 #s(literal 2 binary64) y))
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
(*.f64 x x)
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
#s(approx (+ (* x x) y) (*.f64 x x))
(fma.f64 x x (+.f64 y y))
(+.f64 y y)
Outputs
(*.f64 (*.f64 (+.f64 y y) #s(literal 2 binary64)) y)
(*.f64 (*.f64 (+.f64 y y) y) #s(literal 2 binary64))
(*.f64 (pow.f64 (+.f64 y y) #s(literal 3/2 binary64)) (pow.f64 (+.f64 y y) #s(literal 3/2 binary64)))
(*.f64 #s(literal 4 binary64) (*.f64 y y))
(*.f64 #s(literal 8 binary64) (*.f64 (*.f64 y y) y))
(*.f64 #s(literal 0 binary64) (/.f64 #s(literal 1 binary64) #s(literal 0 binary64)))
(*.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) (/.f64 #s(literal 1 binary64) (fma.f64 y y #s(literal 0 binary64))))
(*.f64 (*.f64 y y) #s(literal 4 binary64))
(*.f64 (*.f64 (*.f64 y y) y) #s(literal 8 binary64))
(*.f64 (+.f64 y y) (+.f64 y y))
(*.f64 y (*.f64 #s(literal 2 binary64) (+.f64 y y)))
(*.f64 y #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 y (+.f64 y y)))
(*.f64 #s(literal 2 binary64) y)
(pow.f64 (+.f64 y y) #s(literal 3 binary64))
(pow.f64 (+.f64 y y) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 0 binary64) (+.f64 y y)) #s(literal 0 binary64))
(/.f64 (*.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) (+.f64 y y)) (fma.f64 y y #s(literal 0 binary64)))
(/.f64 (*.f64 (+.f64 y y) (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y))) (fma.f64 y y #s(literal 0 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 y y #s(literal 0 binary64)) (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y))))
(/.f64 #s(literal 1 binary64) (+.f64 y y))
(/.f64 (neg.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y))) (neg.f64 (fma.f64 y y #s(literal 0 binary64))))
(/.f64 (*.f64 #s(literal 0 binary64) (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y))) (*.f64 #s(literal 0 binary64) (fma.f64 y y #s(literal 0 binary64))))
(/.f64 (*.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) #s(literal 0 binary64)) (*.f64 (fma.f64 y y #s(literal 0 binary64)) #s(literal 0 binary64)))
(/.f64 (*.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y))) (*.f64 (fma.f64 y y #s(literal 0 binary64)) (fma.f64 y y #s(literal 0 binary64))))
(/.f64 (pow.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) #s(literal 3 binary64)) (pow.f64 (fma.f64 y y #s(literal 0 binary64)) #s(literal 3 binary64)))
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(/.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) (fma.f64 y y #s(literal 0 binary64)))
(fma.f64 (+.f64 y y) y (*.f64 (+.f64 y y) y))
(fma.f64 y (+.f64 y y) (*.f64 y (+.f64 y y)))
(-.f64 (/.f64 (*.f64 y y) #s(literal 0 binary64)) (/.f64 (*.f64 y y) #s(literal 0 binary64)))
(exp.f64 (*.f64 (log.f64 (+.f64 y y)) #s(literal 3 binary64)))
(+.f64 (*.f64 y (+.f64 y y)) (*.f64 y (+.f64 y y)))
(+.f64 (*.f64 (+.f64 y y) y) (*.f64 (+.f64 y y) y))
(+.f64 y y)
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
(*.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)))
(*.f64 x x)
(pow.f64 x #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))
(*.f64 (*.f64 (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (-.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)) (/.f64 #s(literal 1 binary64) (-.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)))
(*.f64 (fma.f64 (*.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(approx (+ (* x x) y) (*.f64 x x))) #s(approx (+ (* x x) y) (*.f64 x x)) (*.f64 (*.f64 y y) y)) (/.f64 #s(literal 1 binary64) (fma.f64 y (-.f64 y #s(approx (+ (* x x) y) (*.f64 x x))) (*.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(approx (+ (* x x) y) (*.f64 x x))))))
(/.f64 (-.f64 (*.f64 y y) (*.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(approx (+ (* x x) y) (*.f64 x x)))) (-.f64 y #s(approx (+ (* x x) y) (*.f64 x x))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (*.f64 (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (-.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 y (-.f64 y #s(approx (+ (* x x) y) (*.f64 x x))) (*.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(approx (+ (* x x) y) (*.f64 x x)))) (fma.f64 (*.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(approx (+ (* x x) y) (*.f64 x x))) #s(approx (+ (* x x) y) (*.f64 x x)) (*.f64 (*.f64 y y) y))))
(/.f64 (neg.f64 (*.f64 (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (-.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y))) (neg.f64 (-.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)))
(/.f64 (neg.f64 (fma.f64 (*.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(approx (+ (* x x) y) (*.f64 x x))) #s(approx (+ (* x x) y) (*.f64 x x)) (*.f64 (*.f64 y y) y))) (neg.f64 (fma.f64 y (-.f64 y #s(approx (+ (* x x) y) (*.f64 x x))) (*.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(approx (+ (* x x) y) (*.f64 x x))))))
(/.f64 (*.f64 (+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y) (-.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)) (-.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y))
(/.f64 (fma.f64 (*.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(approx (+ (* x x) y) (*.f64 x x))) #s(approx (+ (* x x) y) (*.f64 x x)) (*.f64 (*.f64 y y) y)) (fma.f64 y y (-.f64 (*.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(approx (+ (* x x) y) (*.f64 x x))) (*.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y))))
(/.f64 (fma.f64 (*.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(approx (+ (* x x) y) (*.f64 x x))) #s(approx (+ (* x x) y) (*.f64 x x)) (*.f64 (*.f64 y y) y)) (fma.f64 y (-.f64 y #s(approx (+ (* x x) y) (*.f64 x x))) (*.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(approx (+ (* x x) y) (*.f64 x x)))))
(-.f64 (/.f64 (*.f64 #s(approx (+ (* x x) y) (*.f64 x x)) #s(approx (+ (* x x) y) (*.f64 x x))) (-.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)) (/.f64 (*.f64 y y) (-.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)))
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
(+.f64 y #s(approx (+ (* x x) y) (*.f64 x x)))
#s(approx (+ (* x x) y) (*.f64 x x))
(*.f64 (*.f64 (fma.f64 x x (+.f64 y y)) (fma.f64 x x #s(literal 0 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 x x #s(literal 0 binary64))))
(*.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (+.f64 y y)) (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 x x (neg.f64 y)) y)))
(*.f64 (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 y y) y)) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y (-.f64 y (fma.f64 x x y))))))
(*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (*.f64 x x) (+.f64 y y)) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 (*.f64 x x) x) x (-.f64 (+.f64 y y) (*.f64 (+.f64 y y) (*.f64 x x))))))
(/.f64 (-.f64 (+.f64 y y) (*.f64 (*.f64 (*.f64 x x) x) x)) (-.f64 (+.f64 y y) (*.f64 x x)))
(/.f64 (-.f64 (*.f64 y y) (*.f64 (fma.f64 x x y) (fma.f64 x x y))) (-.f64 y (fma.f64 x x y)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 x x #s(literal 0 binary64)) (*.f64 (fma.f64 x x (+.f64 y y)) (fma.f64 x x #s(literal 0 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (fma.f64 x x (neg.f64 y)) y) (-.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (+.f64 y y))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y (-.f64 y (fma.f64 x x y)))) (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 y y) y))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 (*.f64 x x) x) x (-.f64 (+.f64 y y) (*.f64 (+.f64 y y) (*.f64 x x)))) (fma.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (*.f64 x x) (+.f64 y y))))
(/.f64 (neg.f64 (*.f64 (fma.f64 x x (+.f64 y y)) (fma.f64 x x #s(literal 0 binary64)))) (neg.f64 (fma.f64 x x #s(literal 0 binary64))))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (+.f64 y y))) (neg.f64 (-.f64 (fma.f64 x x (neg.f64 y)) y)))
(/.f64 (neg.f64 (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 y y) y))) (neg.f64 (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y (-.f64 y (fma.f64 x x y))))))
(/.f64 (neg.f64 (fma.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (*.f64 x x) (+.f64 y y))) (neg.f64 (fma.f64 (*.f64 (*.f64 x x) x) x (-.f64 (+.f64 y y) (*.f64 (+.f64 y y) (*.f64 x x))))))
(/.f64 (*.f64 (fma.f64 x x (+.f64 y y)) (fma.f64 x x #s(literal 0 binary64))) (fma.f64 x x #s(literal 0 binary64)))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (+.f64 y y)) (-.f64 (fma.f64 x x (neg.f64 y)) y))
(/.f64 (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 y y) y)) (fma.f64 y y (-.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (*.f64 (fma.f64 x x y) y))))
(/.f64 (fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x y) (*.f64 (*.f64 y y) y)) (fma.f64 (fma.f64 x x y) (fma.f64 x x y) (*.f64 y (-.f64 y (fma.f64 x x y)))))
(/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (*.f64 x x) (+.f64 y y)) (+.f64 (+.f64 y y) (-.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (*.f64 (+.f64 y y) (*.f64 x x)))))
(/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (*.f64 x x) (+.f64 y y)) (fma.f64 (*.f64 (*.f64 x x) x) x (-.f64 (+.f64 y y) (*.f64 (+.f64 y y) (*.f64 x x)))))
(fma.f64 (*.f64 (+.f64 y y) #s(literal 2 binary64)) y (*.f64 x x))
(fma.f64 (*.f64 (+.f64 y y) y) #s(literal 2 binary64) (*.f64 x x))
(fma.f64 (pow.f64 (+.f64 y y) #s(literal 3/2 binary64)) (pow.f64 (+.f64 y y) #s(literal 3/2 binary64)) (*.f64 x x))
(fma.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)) (+.f64 y y))
(fma.f64 #s(literal 4 binary64) (*.f64 y y) (*.f64 x x))
(fma.f64 #s(literal 8 binary64) (*.f64 (*.f64 y y) y) (*.f64 x x))
(fma.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x (neg.f64 y))) (/.f64 #s(literal 1 binary64) (fma.f64 x x (neg.f64 y))) y)
(fma.f64 #s(literal 0 binary64) (/.f64 #s(literal 1 binary64) #s(literal 0 binary64)) (*.f64 x x))
(fma.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) (/.f64 #s(literal 1 binary64) (fma.f64 y y #s(literal 0 binary64))) (*.f64 x x))
(fma.f64 (*.f64 y y) #s(literal 4 binary64) (*.f64 x x))
(fma.f64 (fma.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (*.f64 x x) (*.f64 (*.f64 y y) y)) (/.f64 #s(literal 1 binary64) (fma.f64 y (-.f64 y (*.f64 x x)) (*.f64 (*.f64 (*.f64 x x) x) x))) y)
(fma.f64 (*.f64 (*.f64 y y) y) #s(literal 8 binary64) (*.f64 x x))
(fma.f64 (+.f64 y y) (+.f64 y y) (*.f64 x x))
(fma.f64 x x (+.f64 y y))
(fma.f64 y (*.f64 #s(literal 2 binary64) (+.f64 y y)) (*.f64 x x))
(fma.f64 y #s(literal 2 binary64) (*.f64 x x))
(fma.f64 #s(literal 2 binary64) (*.f64 y (+.f64 y y)) (*.f64 x x))
(fma.f64 #s(literal 2 binary64) y (*.f64 x x))
(-.f64 (/.f64 (*.f64 (fma.f64 x x y) (fma.f64 x x y)) (fma.f64 x x #s(literal 0 binary64))) (/.f64 (*.f64 y y) (fma.f64 x x #s(literal 0 binary64))))
(-.f64 (/.f64 (*.f64 (*.f64 (*.f64 x x) x) x) (-.f64 (fma.f64 x x (neg.f64 y)) y)) (/.f64 (+.f64 y y) (-.f64 (fma.f64 x x (neg.f64 y)) y)))
(+.f64 (+.f64 y y) (*.f64 x x))
(+.f64 (*.f64 x x) (+.f64 y y))
(+.f64 (fma.f64 x x y) y)
(+.f64 y (fma.f64 x x y))
(*.f64 (*.f64 (+.f64 y y) #s(literal 2 binary64)) y)
(*.f64 (*.f64 (+.f64 y y) y) #s(literal 2 binary64))
(*.f64 (pow.f64 (+.f64 y y) #s(literal 3/2 binary64)) (pow.f64 (+.f64 y y) #s(literal 3/2 binary64)))
(*.f64 #s(literal 4 binary64) (*.f64 y y))
(*.f64 #s(literal 8 binary64) (*.f64 (*.f64 y y) y))
(*.f64 #s(literal 0 binary64) (/.f64 #s(literal 1 binary64) #s(literal 0 binary64)))
(*.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) (/.f64 #s(literal 1 binary64) (fma.f64 y y #s(literal 0 binary64))))
(*.f64 (*.f64 y y) #s(literal 4 binary64))
(*.f64 (*.f64 (*.f64 y y) y) #s(literal 8 binary64))
(*.f64 (+.f64 y y) (+.f64 y y))
(*.f64 y (*.f64 #s(literal 2 binary64) (+.f64 y y)))
(*.f64 y #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 y (+.f64 y y)))
(*.f64 #s(literal 2 binary64) y)
(pow.f64 (+.f64 y y) #s(literal 3 binary64))
(pow.f64 (+.f64 y y) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 0 binary64) (+.f64 y y)) #s(literal 0 binary64))
(/.f64 (*.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) (+.f64 y y)) (fma.f64 y y #s(literal 0 binary64)))
(/.f64 (*.f64 (+.f64 y y) (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y))) (fma.f64 y y #s(literal 0 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 y y #s(literal 0 binary64)) (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y))))
(/.f64 #s(literal 1 binary64) (+.f64 y y))
(/.f64 (neg.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y))) (neg.f64 (fma.f64 y y #s(literal 0 binary64))))
(/.f64 (*.f64 #s(literal 0 binary64) (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y))) (*.f64 #s(literal 0 binary64) (fma.f64 y y #s(literal 0 binary64))))
(/.f64 (*.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) #s(literal 0 binary64)) (*.f64 (fma.f64 y y #s(literal 0 binary64)) #s(literal 0 binary64)))
(/.f64 (*.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y))) (*.f64 (fma.f64 y y #s(literal 0 binary64)) (fma.f64 y y #s(literal 0 binary64))))
(/.f64 (pow.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) #s(literal 3 binary64)) (pow.f64 (fma.f64 y y #s(literal 0 binary64)) #s(literal 3 binary64)))
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(/.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) (fma.f64 y y #s(literal 0 binary64)))
(fma.f64 (+.f64 y y) y (*.f64 (+.f64 y y) y))
(fma.f64 y (+.f64 y y) (*.f64 y (+.f64 y y)))
(-.f64 (/.f64 (*.f64 y y) #s(literal 0 binary64)) (/.f64 (*.f64 y y) #s(literal 0 binary64)))
(exp.f64 (*.f64 (log.f64 (+.f64 y y)) #s(literal 3 binary64)))
(+.f64 (*.f64 y (+.f64 y y)) (*.f64 y (+.f64 y y)))
(+.f64 (*.f64 (+.f64 y y) y) (*.f64 (+.f64 y y) y))
(+.f64 y y)

eval35.0ms (1.2%)

Memory
2.5MiB live, 40.9MiB allocated
Compiler

Compiled 3 095 to 244 computations (92.1% saved)

prune37.0ms (1.3%)

Memory
-2.1MiB live, 36.3MiB allocated
Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New3021303
Fresh000
Picked134
Done000
Total3034307
Accuracy
100.0%
Counts
307 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x x (+.f64 y y))
62.9%
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
46.6%
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
56.0%
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
Compiler

Compiled 28 to 14 computations (50% saved)

simplify4.0ms (0.1%)

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

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 y y)
cost-diff0
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
Rules
lower-+.f32
lower-+.f64
lower-fma.f64
lower-fma.f32
lower-*.f64
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))
(+.f64 y y)
y

localize141.0ms (4.8%)

Memory
-31.9MiB live, 28.7MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0
(+.f64 y y)
accuracy34.14712297769542
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
Samples
10.0ms256×0valid
Compiler

Compiled 13 to 8 computations (38.5% saved)

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

series1.0ms (0%)

Memory
2.3MiB live, 2.3MiB 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 (* 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>) () ())) ())
#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 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 #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 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 (+.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 (+.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>) () ())) ())
Calls

9 calls:

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

simplify121.0ms (4.1%)

Memory
16.7MiB live, 134.0MiB allocated
Algorithm
egg-herbie
Rules
1 617×lower-fma.f64
1 617×lower-fma.f32
1 532×lower-*.f64
1 532×lower-*.f32
987×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
019180
153180
2130180
3431180
41321180
53236180
66164180
08044162
Stop Event
iter limit
node limit
Counts
36 → 36
Calls
Call 1
Inputs
(* 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)))))
(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)
(* -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)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
(* 2 y)
Outputs
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* (pow x 2) (+ 1 (* 2 (/ y (pow x 2)))))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(pow x 2)
(*.f64 x x)
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(+ (* 2 y) (pow x 2))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* y (+ 2 (/ (pow x 2) y)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.f64 y #s(literal 2 binary64)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 2)))
(fma.f64 x x (*.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)
(*.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)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* 2 y)
(*.f64 y #s(literal 2 binary64))

rewrite190.0ms (6.5%)

Memory
-18.5MiB live, 60.7MiB allocated
Rules
994×frac-times
276×associate-*l/
248×associate-*r/
157×flip-+
156×flip3-+
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
0814
14314
237614
3797114
0814
14314
237614
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
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
(*.f64 #s(literal 0 binary64) (/.f64 #s(literal 1 binary64) #s(literal 0 binary64)))
(*.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) (/.f64 #s(literal 1 binary64) (fma.f64 y y #s(literal 0 binary64))))
(*.f64 #s(literal 2 binary64) y)
(*.f64 y #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 y y #s(literal 0 binary64)) (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y))))
(/.f64 #s(literal 1 binary64) (+.f64 y y))
(/.f64 (neg.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y))) (neg.f64 (fma.f64 y y #s(literal 0 binary64))))
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(/.f64 (*.f64 (fma.f64 y y #s(literal 0 binary64)) (+.f64 y y)) (fma.f64 y y #s(literal 0 binary64)))
(-.f64 (/.f64 (*.f64 y y) #s(literal 0 binary64)) (/.f64 (*.f64 y y) #s(literal 0 binary64)))
(+.f64 y y)

eval4.0ms (0.1%)

Memory
11.0MiB live, 11.0MiB allocated
Compiler

Compiled 318 to 27 computations (91.5% saved)

prune4.0ms (0.1%)

Memory
8.7MiB live, 8.7MiB allocated
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New48048
Fresh000
Picked011
Done033
Total48452
Accuracy
100.0%
Counts
52 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x x (+.f64 y y))
62.9%
(+.f64 #s(approx (+ (* x x) y) (*.f64 x x)) y)
46.6%
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
56.0%
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
Compiler

Compiled 61 to 23 computations (62.3% saved)

regimes14.0ms (0.5%)

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

4 calls:

6.0ms
(+.f64 (+.f64 (*.f64 x x) y) y)
3.0ms
y
3.0ms
x
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 20 to 12 computations (40% saved)

regimes14.0ms (0.5%)

Memory
-13.4MiB live, 21.9MiB allocated
Counts
4 → 2
Calls
Call 1
Inputs
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
#s(approx (+ (+ (* x x) y) y) (*.f64 #s(literal 2 binary64) y))
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
(+.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:

7.0ms
x
2.0ms
(+.f64 (+.f64 (*.f64 x x) y) y)
2.0ms
y
2.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
89.7%2x
70.5%3y
84.3%2(+.f64 (+.f64 (*.f64 x x) y) y)
89.7%2(*.f64 x x)
Compiler

Compiled 20 to 12 computations (40% saved)

regimes4.0ms (0.1%)

Memory
8.0MiB live, 8.0MiB allocated
Counts
3 → 2
Calls
Call 1
Inputs
#s(approx (+ (+ (* x x) y) y) (+.f64 y y))
#s(approx (+ (+ (* x x) y) y) (*.f64 #s(literal 2 binary64) y))
#s(approx (+ (+ (* x x) y) y) (*.f64 x x))
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
88.4%2x
88.4%2(*.f64 x x)
Compiler

Compiled 8 to 5 computations (37.5% saved)

regimes6.0ms (0.2%)

Memory
14.0MiB live, 14.0MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

4 calls:

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

Compiled 20 to 12 computations (40% saved)

bsearch16.0ms (0.5%)

Memory
-28.1MiB live, 15.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
8.0ms
6.311929076479267e-116
3.4446527678369626e-111
Samples
4.0ms128×0valid
Compiler

Compiled 124 to 74 computations (40.3% saved)

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

bsearch9.0ms (0.3%)

Memory
17.3MiB live, 17.3MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
8.0ms
5.48672599079292e-45
1.656513289350551e-41
Samples
4.0ms128×0valid
Compiler

Compiled 108 to 66 computations (38.9% saved)

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

simplify6.0ms (0.2%)

Memory
18.3MiB live, 18.2MiB allocated
Algorithm
egg-herbie
Rules
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01873
11973
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 x x (+.f64 y y))
(if (<=.f64 (*.f64 x x) #s(literal 4603064921880259/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288 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 3640719006524275/25108406941546723055343157692830665664409421777856138051584 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 x x (+.f64 y y))
(if (<=.f64 (*.f64 x x) #s(literal 4603064921880259/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288 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 3640719006524275/25108406941546723055343157692830665664409421777856138051584 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))

soundness479.0ms (16.4%)

Memory
-31.6MiB live, 329.5MiB allocated
Rules
3 653×lower-fma.f64
3 653×lower-fma.f32
2 391×lower-*.f32
2 390×lower-*.f64
2 279×lower-fma.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01457
01945
17545
266745
01955
17555
066753
0515
0815
13715
231615
3498715
0810313
027282
180282
2193282
3655282
41935282
53634282
66739282
08124246
Stop Event
done
iter limit
node limit
iter limit
node limit
iter limit
iter limit
iter limit
node limit
iter limit
Compiler

Compiled 102 to 50 computations (51% saved)

preprocess37.0ms (1.3%)

Memory
27.0MiB live, 104.3MiB allocated
Remove

(abs x)

Compiler

Compiled 136 to 52 computations (61.8% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...