Linear.Quaternion:$clog from linear-1.19.1.3

Time bar (total: 4.0s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze20.0ms (0.5%)

Memory
-2.3MiB live, 38.1MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
62.5%62.4%37.5%0.1%0%0%0%5
66.7%62.4%31.2%0.1%0%6.2%0%6
75%65.6%21.9%0.1%0%12.5%0%7
80%68.7%17.2%0.1%0%14%0%8
85.7%70.2%11.7%0.1%0%18%0%9
88.9%71.8%9%0.1%0%19.1%0%10
92.3%72.6%6%0.1%0%21.3%0%11
94.1%73.4%4.6%0.1%0%22%0%12
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample756.0ms (18.9%)

Memory
-27.8MiB live, 1 006.1MiB allocated
Samples
515.0ms8 256×0valid
14.0ms338×0invalid
Precisions
Click to see histograms. Total time spent on operations: 318.0ms
ival-mult: 156.0ms (49.1% of total)
ival-sqrt: 94.0ms (29.6% of total)
ival-add: 57.0ms (17.9% of total)
ival-true: 7.0ms (2.2% of total)
ival-assert: 3.0ms (0.9% of total)
Bogosity

explain96.0ms (2.4%)

Memory
8.6MiB live, 90.6MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
800-0-(sqrt.f64 (+.f64 (*.f64 x x) y))
00-0-(+.f64 (*.f64 x x) y)
00-0-y
00-0-(*.f64 x x)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (+.f64 (*.f64 x x) y))oflow-rescue800
(+.f64 (*.f64 x x) y)overflow80
(*.f64 x x)overflow80
Confusion
Predicted +Predicted -
+800
-0176
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+8000
-00176
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0176
180
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
57.0ms512×0valid
Compiler

Compiled 42 to 19 computations (54.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 4.0ms (35.7% of total)
ival-sqrt: 4.0ms (35.7% of total)
ival-add: 3.0ms (26.8% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess20.0ms (0.5%)

Memory
17.2MiB live, 17.2MiB allocated
Algorithm
egg-herbie
Rules
64×sub-neg
34×distribute-lft-neg-in
34×associate-+l-
32×associate--r+
32×cancel-sign-sub-inv
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01532
13432
26932
312432
418832
525032
631232
732432
833032
056
086
196
095
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 x x) y))
Outputs
(sqrt.f64 (+.f64 (*.f64 x x) y))
(sqrt.f64 (fma.f64 x x y))
Symmetry

(abs x)

Compiler

Compiled 6 to 5 computations (16.7% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 6 to 5 computations (16.7% saved)

simplify3.0ms (0.1%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(sqrt.f64 (+.f64 (*.f64 x x) y))
cost-diff128
(+.f64 (*.f64 x x) y)
Rules
lower-+.f32
lift-sqrt.f64
lift-+.f64
lower-fma.f64
lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0516
0816
1916
0914
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 x x) y))
(+.f64 (*.f64 x x) y)
(*.f64 x x)
x
y
Outputs
(sqrt.f64 (+.f64 (*.f64 x x) y))
(sqrt.f64 (fma.f64 x x y))
(+.f64 (*.f64 x x) y)
(fma.f64 x x y)
(*.f64 x x)
x
y

localize19.0ms (0.5%)

Memory
-16.4MiB live, 21.8MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x x)
accuracy0.0078125
(+.f64 (*.f64 x x) y)
accuracy18.636975022066892
(sqrt.f64 (+.f64 (*.f64 x x) y))
Samples
15.0ms256×0valid
Compiler

Compiled 18 to 7 computations (61.1% saved)

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

series6.0ms (0.2%)

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

6 calls:

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

simplify212.0ms (5.3%)

Memory
25.1MiB live, 174.6MiB allocated
Algorithm
egg-herbie
Rules
23 502×lower-fma.f64
23 502×lower-fma.f32
5 416×lower-*.f64
5 416×lower-*.f32
2 450×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0133615
1383600
21202592
34035567
08298515
Stop Event
iter limit
node limit
Counts
60 → 55
Calls
Call 1
Inputs
(pow x 2)
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
x
(+ x (* 1/2 (/ y x)))
(+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x)))))
(+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x)))))
y
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(sqrt y)
(* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))))
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)))
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))))
y
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
(sqrt y)
(+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y)))))
(+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y))))))
(+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5))))))))))
(pow x 2)
(pow x 2)
(pow x 2)
(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))))
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* -1 x)
(* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2))))))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
Outputs
(pow x 2)
(*.f64 x x)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
x
(+ x (* 1/2 (/ y x)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x)))))
(fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) y x)
(+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x)))))
(fma.f64 (fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 5 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) y (/.f64 #s(literal 1/2 binary64) x)) y x)
y
(* y (+ 1 (/ (pow x 2) y)))
(fma.f64 x x y)
(* y (+ 1 (/ (pow x 2) y)))
(fma.f64 x x y)
(* y (+ 1 (/ (pow x 2) y)))
(fma.f64 x x y)
(sqrt y)
(sqrt.f64 y)
(* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))) y)
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)))) y)
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 1/16 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 7 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))))) 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)
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(sqrt.f64 y)
(* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))) y)
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)))) y)
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))))
(*.f64 (fma.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 7 binary64)))) (pow.f64 x #s(literal 6 binary64))) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))))) y)
y
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(sqrt y)
(sqrt.f64 y)
(+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y)))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (sqrt.f64 y))
(+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y))))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 y)))
(+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5))))))))))
(fma.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (*.f64 #s(literal 1/16 binary64) x)) x (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) #s(literal -1/8 binary64))) (pow.f64 x #s(literal 4 binary64)) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (sqrt.f64 y)))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ 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)
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))
(fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) y x)
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))
(fma.f64 (*.f64 (pow.f64 y #s(literal 3 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 x #s(literal 6 binary64)))) x (fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) y x))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (/ 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)
(* -1 x)
(neg.f64 x)
(* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2))))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 y x) (neg.f64 x))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))))
(neg.f64 (fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) y x))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))))
(neg.f64 (fma.f64 (*.f64 (pow.f64 y #s(literal 3 binary64)) (/.f64 #s(literal 1/16 binary64) (pow.f64 x #s(literal 6 binary64)))) x (fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) y 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)

rewrite143.0ms (3.6%)

Memory
1.6MiB live, 197.0MiB allocated
Rules
5 034×lower-fma.f64
5 034×lower-fma.f32
4 204×lower-/.f64
4 204×lower-/.f32
3 240×lower-*.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0514
0814
12614
216914
3152114
0848912
Stop Event
iter limit
node limit
iter limit
Counts
3 → 228
Calls
Call 1
Inputs
(+.f64 (*.f64 x x) y)
(sqrt.f64 (+.f64 (*.f64 x x) y))
(*.f64 x x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval73.0ms (1.8%)

Memory
-9.8MiB live, 114.5MiB allocated
Compiler

Compiled 6 400 to 869 computations (86.4% saved)

prune10.0ms (0.2%)

Memory
-16.0MiB live, 22.0MiB allocated
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2776283
Fresh000
Picked101
Done000
Total2786284
Accuracy
100.0%
Counts
284 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
70.9%
(sqrt.f64 (fma.f64 x x y))
38.6%
(sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)))
34.5%
(sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x)))
64.3%
#s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
38.7%
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
1.3%
#s(approx (sqrt (+ (* x x) y)) (neg.f64 x))
Compiler

Compiled 74 to 66 computations (10.8% saved)

simplify27.0ms (0.7%)

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

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 #s(literal 1/2 binary64) x)
cost-diff0
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
cost-diff0
#s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
cost-diff0
(*.f64 x x)
cost-diff0
#s(approx (+ (* x x) y) (*.f64 x x))
cost-diff0
(sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x)))
cost-diff0
(sqrt.f64 y)
cost-diff0
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
cost-diff0
(neg.f64 x)
cost-diff0
#s(approx (sqrt (+ (* x x) y)) (neg.f64 x))
cost-diff0
(fma.f64 x x y)
cost-diff0
(sqrt.f64 (fma.f64 x x y))
Rules
384×lower-fma.f32
380×lower-fma.f64
264×lower-*.f32
262×lower-*.f64
164×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01878
02778
13678
24278
34578
44778
55178
66678
710378
813378
924278
1039178
1167878
1296078
13102178
14103578
15104778
0104778
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(sqrt.f64 (fma.f64 x x y))
(fma.f64 x x y)
x
y
#s(approx (sqrt (+ (* x x) y)) (neg.f64 x))
(neg.f64 x)
x
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
(sqrt.f64 y)
y
(sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x)))
#s(approx (+ (* x x) y) (*.f64 x x))
(*.f64 x x)
x
#s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(/.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
x
y
Outputs
(sqrt.f64 (fma.f64 x x y))
(fma.f64 x x y)
x
y
#s(approx (sqrt (+ (* x x) y)) (neg.f64 x))
(neg.f64 x)
x
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
(sqrt.f64 y)
y
(sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x)))
#s(approx (+ (* x x) y) (*.f64 x x))
(*.f64 x x)
x
#s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(/.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
x
y

localize93.0ms (2.3%)

Memory
-36.9MiB live, 47.1MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0
(/.f64 #s(literal 1/2 binary64) x)
accuracy0.0625
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
accuracy22.58709542355253
#s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
accuracy0
(*.f64 x x)
accuracy9.106802710918593
(sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x)))
accuracy23.000235018212248
#s(approx (+ (* x x) y) (*.f64 x x))
accuracy0
(sqrt.f64 y)
accuracy19.214046027259453
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
accuracy0
(neg.f64 x)
accuracy43.33804439467765
#s(approx (sqrt (+ (* x x) y)) (neg.f64 x))
accuracy0
(fma.f64 x x y)
accuracy9.106802710918593
(sqrt.f64 (fma.f64 x x y))
Samples
72.0ms176×0valid
7.0ms80×0invalid
Compiler

Compiled 67 to 13 computations (80.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-mult: 3.0ms (24.3% of total)
ival-sqrt: 3.0ms (24.3% of total)
ival-div: 2.0ms (16.2% of total)
ival-add: 2.0ms (16.2% of total)
ival-neg: 1.0ms (8.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series13.0ms (0.3%)

Memory
23.0MiB live, 23.0MiB allocated
Counts
12 → 240
Calls
Call 1
Inputs
#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())
#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())
#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())
#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())
#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())
#s(alt (sqrt.f64 y) (patch (sqrt.f64 y) #<representation binary64>) () ())
#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<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 (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())
#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())
#s(alt (/.f64 #s(literal 1/2 binary64) x) (patch (/.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())
Outputs
#s(alt x (taylor 0 y) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (+ x (* 1/2 (/ y x))) (taylor 0 y) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x))))) (taylor 0 y) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x))))) (taylor 0 y) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (+ x (* 1/2 (/ y x))) (taylor 0 y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x))))) (taylor 0 y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x))))) (taylor 0 y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (+ x (* 1/2 (/ y x))) (taylor 0 y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x))))) (taylor 0 y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x))))) (taylor 0 y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor 0 y) (#s(alt (sqrt.f64 y) (patch (sqrt.f64 y) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor 0 y) (#s(alt (sqrt.f64 y) (patch (sqrt.f64 y) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor 0 y) (#s(alt (sqrt.f64 y) (patch (sqrt.f64 y) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor 0 y) (#s(alt (sqrt.f64 y) (patch (sqrt.f64 y) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 y) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (+ x (* 1/2 (/ y x))) (taylor 0 y) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x))))) (taylor 0 y) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x))))) (taylor 0 y) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #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 x (taylor 0 y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (+ x (* 1/2 (/ y x))) (taylor 0 y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x))))) (taylor 0 y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x))))) (taylor 0 y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 y) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (+ x (* 1/2 (/ y x))) (taylor 0 y) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (+ x (* 1/2 (/ y x))) (taylor 0 y) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (+ x (* 1/2 (/ y x))) (taylor 0 y) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor inf y) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))) (taylor inf y) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))) (taylor inf y) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))) (taylor inf y) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt y (taylor inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))) (taylor inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))) (taylor inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))) (taylor inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))) (taylor inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))) (taylor inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))) (taylor inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor inf y) (#s(alt (sqrt.f64 y) (patch (sqrt.f64 y) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor inf y) (#s(alt (sqrt.f64 y) (patch (sqrt.f64 y) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor inf y) (#s(alt (sqrt.f64 y) (patch (sqrt.f64 y) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor inf y) (#s(alt (sqrt.f64 y) (patch (sqrt.f64 y) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor inf y) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))) (taylor inf y) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))) (taylor inf y) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))) (taylor inf y) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #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 (sqrt y) (taylor inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))) (taylor inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))) (taylor inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))) (taylor inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (/ y x)) (taylor inf y) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* 1/2 (/ 1 x)) (/ x y))) (taylor inf y) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* 1/2 (/ 1 x)) (/ x y))) (taylor inf y) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* 1/2 (/ 1 x)) (/ x y))) (taylor inf y) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt y) (pow (sqrt -1) 2))) (taylor -inf y) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))) (taylor -inf y) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))) (taylor -inf y) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))) (taylor -inf y) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt y (taylor -inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt y) (pow (sqrt -1) 2))) (taylor -inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))) (taylor -inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))) (taylor -inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))) (taylor -inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt y) (pow (sqrt -1) 2))) (taylor -inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))) (taylor -inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))) (taylor -inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))) (taylor -inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt y) (pow (sqrt -1) 2))) (taylor -inf y) (#s(alt (sqrt.f64 y) (patch (sqrt.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt y) (pow (sqrt -1) 2))) (taylor -inf y) (#s(alt (sqrt.f64 y) (patch (sqrt.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt y) (pow (sqrt -1) 2))) (taylor -inf y) (#s(alt (sqrt.f64 y) (patch (sqrt.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt y) (pow (sqrt -1) 2))) (taylor -inf y) (#s(alt (sqrt.f64 y) (patch (sqrt.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (sqrt y) (pow (sqrt -1) 2))) (taylor -inf y) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))) (taylor -inf y) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))) (taylor -inf y) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))) (taylor -inf y) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #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 (* -1 (* (sqrt y) (pow (sqrt -1) 2))) (taylor -inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))) (taylor -inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))) (taylor -inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))) (taylor -inf y) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (/ y x)) (taylor -inf y) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ x y)) (* 1/2 (/ 1 x))))) (taylor -inf y) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ x y)) (* 1/2 (/ 1 x))))) (taylor -inf y) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ x y)) (* 1/2 (/ 1 x))))) (taylor -inf y) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor 0 x) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y))))) (taylor 0 x) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y)))))) (taylor 0 x) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5)))))))))) (taylor 0 x) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt y (taylor 0 x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y))))) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y)))))) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5)))))))))) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y))))) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y)))))) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5)))))))))) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor 0 x) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y))))) (taylor 0 x) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y)))))) (taylor 0 x) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5)))))))))) (taylor 0 x) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<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 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 (sqrt y) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y))))) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y)))))) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5)))))))))) (taylor 0 x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (/ y x)) (taylor 0 x) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (/ (+ (* 1/2 y) (pow x 2)) x) (taylor 0 x) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (/ (+ (* 1/2 y) (pow x 2)) x) (taylor 0 x) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (/ (+ (* 1/2 y) (pow x 2)) x) (taylor 0 x) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1/2 binary64) x) (patch (/.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1/2 binary64) x) (patch (/.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1/2 binary64) x) (patch (/.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor 0 x) (#s(alt (/.f64 #s(literal 1/2 binary64) x) (patch (/.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))) (taylor inf x) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))) (taylor inf x) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 (/ y (pow x 2))))) (taylor inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))) (taylor inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))) (taylor inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 (/ y (pow x 2))))) (taylor inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))) (taylor inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))) (taylor inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))) (taylor inf x) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))) (taylor inf x) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #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 (*.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 x (taylor inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 (/ y (pow x 2))))) (taylor inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))) (taylor inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))) (taylor inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1/2 binary64) x) (patch (/.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1/2 binary64) x) (patch (/.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1/2 binary64) x) (patch (/.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor inf x) (#s(alt (/.f64 #s(literal 1/2 binary64) x) (patch (/.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2)))))) (taylor -inf x) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))) (taylor -inf x) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))) (taylor -inf x) (#s(alt (sqrt.f64 (fma.f64 x x y)) (patch (sqrt.f64 (fma.f64 x x y)) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt (fma.f64 x x y) (patch (fma.f64 x x y) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2)))))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) (patch #s(approx (sqrt (+ (* x x) y)) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2)))))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (patch #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2)))))) (taylor -inf x) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))) (taylor -inf x) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))) (taylor -inf x) (#s(alt (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (patch (sqrt.f64 #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 (*.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 (* -1 x) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2)))))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))) (taylor -inf x) (#s(alt #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) (patch #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1/2 (/ y (pow x 2))) 1))) (taylor -inf x) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1/2 (/ y (pow x 2))) 1))) (taylor -inf x) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1/2 (/ y (pow x 2))) 1))) (taylor -inf x) (#s(alt (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) (patch (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1/2 binary64) x) (patch (/.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1/2 binary64) x) (patch (/.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1/2 binary64) x) (patch (/.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (/ 1/2 x) (taylor -inf x) (#s(alt (/.f64 #s(literal 1/2 binary64) x) (patch (/.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
((sqrt (+ (* x x) y)) (+ (* x x) y) (sqrt (+ (* x x) y)) (neg x) (sqrt (+ (* x x) y)) (sqrt y) (sqrt (+ (* x x) y)) (+ (* x x) y) (* x x) (sqrt (+ (* x x) y)) (+ (* (/ 1/2 x) y) x) (/ 1/2 x))
1.0ms
y
@0
((sqrt (+ (* x x) y)) (+ (* x x) y) (sqrt (+ (* x x) y)) (neg x) (sqrt (+ (* x x) y)) (sqrt y) (sqrt (+ (* x x) y)) (+ (* x x) y) (* x x) (sqrt (+ (* x x) y)) (+ (* (/ 1/2 x) y) x) (/ 1/2 x))
1.0ms
x
@inf
((sqrt (+ (* x x) y)) (+ (* x x) y) (sqrt (+ (* x x) y)) (neg x) (sqrt (+ (* x x) y)) (sqrt y) (sqrt (+ (* x x) y)) (+ (* x x) y) (* x x) (sqrt (+ (* x x) y)) (+ (* (/ 1/2 x) y) x) (/ 1/2 x))
1.0ms
x
@-inf
((sqrt (+ (* x x) y)) (+ (* x x) y) (sqrt (+ (* x x) y)) (neg x) (sqrt (+ (* x x) y)) (sqrt y) (sqrt (+ (* x x) y)) (+ (* x x) y) (* x x) (sqrt (+ (* x x) y)) (+ (* (/ 1/2 x) y) x) (/ 1/2 x))
1.0ms
x
@0
((sqrt (+ (* x x) y)) (+ (* x x) y) (sqrt (+ (* x x) y)) (neg x) (sqrt (+ (* x x) y)) (sqrt y) (sqrt (+ (* x x) y)) (+ (* x x) y) (* x x) (sqrt (+ (* x x) y)) (+ (* (/ 1/2 x) y) x) (/ 1/2 x))

simplify260.0ms (6.5%)

Memory
3.8MiB live, 193.8MiB allocated
Algorithm
egg-herbie
Rules
23 474×lower-fma.f64
23 474×lower-fma.f32
5 372×lower-*.f64
5 372×lower-*.f32
2 410×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01492889
14252814
213152774
344862654
087152430
Stop Event
iter limit
node limit
Counts
240 → 221
Calls
Call 1
Inputs
x
(+ x (* 1/2 (/ y x)))
(+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x)))))
(+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x)))))
(pow x 2)
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
x
(+ x (* 1/2 (/ y x)))
(+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x)))))
(+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x)))))
x
(+ x (* 1/2 (/ y x)))
(+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x)))))
(+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x)))))
(sqrt y)
(sqrt y)
(sqrt y)
(sqrt y)
x
(+ x (* 1/2 (/ y x)))
(+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x)))))
(+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x)))))
(pow x 2)
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
x
(+ x (* 1/2 (/ y x)))
(+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x)))))
(+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x)))))
x
(+ x (* 1/2 (/ y x)))
(+ x (* 1/2 (/ y x)))
(+ x (* 1/2 (/ y x)))
(sqrt y)
(* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))))
y
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(sqrt y)
(* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))))
(sqrt y)
(* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))))
(sqrt y)
(sqrt y)
(sqrt y)
(sqrt y)
(sqrt y)
(* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))))
y
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(sqrt y)
(* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))))
(* 1/2 (/ y x))
(* y (+ (* 1/2 (/ 1 x)) (/ x y)))
(* y (+ (* 1/2 (/ 1 x)) (/ x y)))
(* y (+ (* 1/2 (/ 1 x)) (/ x y)))
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))))
y
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))))
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))))
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))))
y
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))))
(* 1/2 (/ y x))
(* -1 (* y (- (* -1 (/ x y)) (* 1/2 (/ 1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (* 1/2 (/ 1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (* 1/2 (/ 1 x)))))
(sqrt y)
(+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y)))))
(+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y))))))
(+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5))))))))))
y
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
(sqrt y)
(+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y)))))
(+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y))))))
(+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5))))))))))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(sqrt y)
(+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y)))))
(+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y))))))
(+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5))))))))))
(sqrt y)
(+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y)))))
(+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y))))))
(+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5))))))))))
y
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(sqrt y)
(+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y)))))
(+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y))))))
(+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5))))))))))
(* 1/2 (/ y x))
(/ (+ (* 1/2 y) (pow x 2)) x)
(/ (+ (* 1/2 y) (pow x 2)) x)
(/ (+ (* 1/2 y) (pow x 2)) x)
(/ 1/2 x)
(/ 1/2 x)
(/ 1/2 x)
(/ 1/2 x)
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))
(pow x 2)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))
(pow x 2)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(/ 1/2 x)
(/ 1/2 x)
(/ 1/2 x)
(/ 1/2 x)
(* -1 x)
(* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2))))))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))))
(pow x 2)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* -1 x)
(* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2))))))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2))))))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))))
(* -1 x)
(* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2))))))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))))
(pow x 2)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* -1 x)
(* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2))))))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))))
x
(* -1 (* x (- (* -1/2 (/ y (pow x 2))) 1)))
(* -1 (* x (- (* -1/2 (/ y (pow x 2))) 1)))
(* -1 (* x (- (* -1/2 (/ y (pow x 2))) 1)))
(/ 1/2 x)
(/ 1/2 x)
(/ 1/2 x)
(/ 1/2 x)
Outputs
x
(+ x (* 1/2 (/ y x)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x)))))
(fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) y x)
(+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x)))))
(fma.f64 (fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 5 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) y (/.f64 #s(literal 1/2 binary64) x)) y x)
(pow x 2)
(*.f64 x x)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
x
(+ x (* 1/2 (/ y x)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x)))))
(fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) y x)
(+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x)))))
(fma.f64 (fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 5 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) y (/.f64 #s(literal 1/2 binary64) x)) y x)
x
(+ x (* 1/2 (/ y x)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x)))))
(fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) y x)
(+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x)))))
(fma.f64 (fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 5 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) y (/.f64 #s(literal 1/2 binary64) x)) y x)
(sqrt y)
(sqrt.f64 y)
(sqrt y)
(sqrt.f64 y)
(sqrt y)
(sqrt.f64 y)
(sqrt y)
(sqrt.f64 y)
x
(+ x (* 1/2 (/ y x)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x)))))
(fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) y x)
(+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x)))))
(fma.f64 (fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 5 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) y (/.f64 #s(literal 1/2 binary64) x)) y x)
(pow x 2)
(*.f64 x x)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
x
(+ x (* 1/2 (/ y x)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x)))))
(fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) y x)
(+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x)))))
(fma.f64 (fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 5 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) y (/.f64 #s(literal 1/2 binary64) x)) y x)
x
(+ x (* 1/2 (/ y x)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(+ x (* 1/2 (/ y x)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(+ x (* 1/2 (/ y x)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(sqrt y)
(sqrt.f64 y)
(* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))
(*.f64 (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))) y)
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)))) y)
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 1/16 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 7 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))))) 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)
(sqrt y)
(sqrt.f64 y)
(* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))
(*.f64 (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))) y)
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)))) y)
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 1/16 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 7 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))))) y)
(sqrt y)
(sqrt.f64 y)
(* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))
(*.f64 (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))) y)
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)))) y)
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 1/16 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 7 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))))) y)
(sqrt y)
(sqrt.f64 y)
(sqrt y)
(sqrt.f64 y)
(sqrt y)
(sqrt.f64 y)
(sqrt y)
(sqrt.f64 y)
(sqrt y)
(sqrt.f64 y)
(* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))
(*.f64 (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))) y)
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)))) y)
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 1/16 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 7 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))))) 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)
(sqrt y)
(sqrt.f64 y)
(* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))
(*.f64 (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))) y)
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)))) y)
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 1/16 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 7 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))))) y)
(* 1/2 (/ y x))
(*.f64 (/.f64 #s(literal 1/2 binary64) x) y)
(* y (+ (* 1/2 (/ 1 x)) (/ x y)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* y (+ (* 1/2 (/ 1 x)) (/ x y)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* y (+ (* 1/2 (/ 1 x)) (/ x y)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(sqrt.f64 y)
(* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))) y)
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)))) y)
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))))
(*.f64 (fma.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 7 binary64)))) (pow.f64 x #s(literal 6 binary64))) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))))) 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)
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(sqrt.f64 y)
(* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))) y)
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)))) y)
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))))
(*.f64 (fma.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 7 binary64)))) (pow.f64 x #s(literal 6 binary64))) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))))) y)
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(sqrt.f64 y)
(* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))) y)
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)))) y)
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))))
(*.f64 (fma.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 7 binary64)))) (pow.f64 x #s(literal 6 binary64))) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))))) y)
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(sqrt.f64 y)
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(sqrt.f64 y)
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(sqrt.f64 y)
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(sqrt.f64 y)
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(sqrt.f64 y)
(* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))) y)
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)))) y)
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))))
(*.f64 (fma.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 7 binary64)))) (pow.f64 x #s(literal 6 binary64))) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))))) 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)
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(sqrt.f64 y)
(* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))) y)
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)))) y)
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))))
(*.f64 (fma.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 7 binary64)))) (pow.f64 x #s(literal 6 binary64))) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))))) y)
(* 1/2 (/ y x))
(*.f64 (/.f64 #s(literal 1/2 binary64) x) y)
(* -1 (* y (- (* -1 (/ x y)) (* 1/2 (/ 1 x)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* -1 (* y (- (* -1 (/ x y)) (* 1/2 (/ 1 x)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* -1 (* y (- (* -1 (/ x y)) (* 1/2 (/ 1 x)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(sqrt y)
(sqrt.f64 y)
(+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y)))))
(fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (sqrt.f64 y))
(+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y))))))
(fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 y)))
(+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5))))))))))
(fma.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (*.f64 #s(literal 1/16 binary64) x)) x (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) #s(literal -1/8 binary64))) (pow.f64 x #s(literal 4 binary64)) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (sqrt.f64 y)))
y
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(sqrt y)
(sqrt.f64 y)
(+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y)))))
(fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (sqrt.f64 y))
(+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y))))))
(fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 y)))
(+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5))))))))))
(fma.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (*.f64 #s(literal 1/16 binary64) x)) x (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) #s(literal -1/8 binary64))) (pow.f64 x #s(literal 4 binary64)) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (sqrt.f64 y)))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(sqrt y)
(sqrt.f64 y)
(+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y)))))
(fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (sqrt.f64 y))
(+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y))))))
(fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 y)))
(+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5))))))))))
(fma.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (*.f64 #s(literal 1/16 binary64) x)) x (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) #s(literal -1/8 binary64))) (pow.f64 x #s(literal 4 binary64)) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (sqrt.f64 y)))
(sqrt y)
(sqrt.f64 y)
(+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y)))))
(fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (sqrt.f64 y))
(+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y))))))
(fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 y)))
(+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5))))))))))
(fma.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (*.f64 #s(literal 1/16 binary64) x)) x (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) #s(literal -1/8 binary64))) (pow.f64 x #s(literal 4 binary64)) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (sqrt.f64 y)))
y
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(sqrt y)
(sqrt.f64 y)
(+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y)))))
(fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (sqrt.f64 y))
(+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y))))))
(fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 y)))
(+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5))))))))))
(fma.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (*.f64 #s(literal 1/16 binary64) x)) x (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) #s(literal -1/8 binary64))) (pow.f64 x #s(literal 4 binary64)) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (sqrt.f64 y)))
(* 1/2 (/ y x))
(*.f64 (/.f64 #s(literal 1/2 binary64) x) y)
(/ (+ (* 1/2 y) (pow x 2)) x)
(/.f64 (fma.f64 y #s(literal 1/2 binary64) (*.f64 x x)) x)
(/ (+ (* 1/2 y) (pow x 2)) x)
(/.f64 (fma.f64 y #s(literal 1/2 binary64) (*.f64 x x)) x)
(/ (+ (* 1/2 y) (pow x 2)) x)
(/.f64 (fma.f64 y #s(literal 1/2 binary64) (*.f64 x x)) x)
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) x) (*.f64 (/.f64 y (pow.f64 x #s(literal 4 binary64))) y) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))
(fma.f64 (fma.f64 (*.f64 y y) (fma.f64 (/.f64 y (pow.f64 x #s(literal 6 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 1 binary64)) x (*.f64 (/.f64 #s(literal 1/2 binary64) 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)
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) x) (*.f64 (/.f64 y (pow.f64 x #s(literal 4 binary64))) y) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))
(fma.f64 (fma.f64 (*.f64 y y) (fma.f64 (/.f64 y (pow.f64 x #s(literal 6 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 1 binary64)) x (*.f64 (/.f64 #s(literal 1/2 binary64) x) y))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) x) (*.f64 (/.f64 y (pow.f64 x #s(literal 4 binary64))) y) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))
(fma.f64 (fma.f64 (*.f64 y y) (fma.f64 (/.f64 y (pow.f64 x #s(literal 6 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 1 binary64)) x (*.f64 (/.f64 #s(literal 1/2 binary64) x) y))
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) x) (*.f64 (/.f64 y (pow.f64 x #s(literal 4 binary64))) y) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))
(fma.f64 (fma.f64 (*.f64 y y) (fma.f64 (/.f64 y (pow.f64 x #s(literal 6 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 1 binary64)) x (*.f64 (/.f64 #s(literal 1/2 binary64) 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)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) x) (*.f64 (/.f64 y (pow.f64 x #s(literal 4 binary64))) y) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))
(fma.f64 (fma.f64 (*.f64 y y) (fma.f64 (/.f64 y (pow.f64 x #s(literal 6 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 1 binary64)) x (*.f64 (/.f64 #s(literal 1/2 binary64) x) y))
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
(* -1 x)
(neg.f64 x)
(* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2))))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 y x) (neg.f64 x))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) y) (/.f64 y (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) x (*.f64 (/.f64 #s(literal -1/2 binary64) x) y))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))))
(fma.f64 (fma.f64 (*.f64 y y) (fma.f64 (/.f64 y (pow.f64 x #s(literal 6 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 1 binary64)) (neg.f64 x) (*.f64 (/.f64 #s(literal -1/2 binary64) 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)
(* -1 x)
(neg.f64 x)
(* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2))))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 y x) (neg.f64 x))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) y) (/.f64 y (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) x (*.f64 (/.f64 #s(literal -1/2 binary64) x) y))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))))
(fma.f64 (fma.f64 (*.f64 y y) (fma.f64 (/.f64 y (pow.f64 x #s(literal 6 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 1 binary64)) (neg.f64 x) (*.f64 (/.f64 #s(literal -1/2 binary64) x) y))
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2))))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 y x) (neg.f64 x))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) y) (/.f64 y (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) x (*.f64 (/.f64 #s(literal -1/2 binary64) x) y))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))))
(fma.f64 (fma.f64 (*.f64 y y) (fma.f64 (/.f64 y (pow.f64 x #s(literal 6 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 1 binary64)) (neg.f64 x) (*.f64 (/.f64 #s(literal -1/2 binary64) x) y))
(* -1 x)
(neg.f64 x)
(* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2))))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 y x) (neg.f64 x))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) y) (/.f64 y (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) x (*.f64 (/.f64 #s(literal -1/2 binary64) x) y))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))))
(fma.f64 (fma.f64 (*.f64 y y) (fma.f64 (/.f64 y (pow.f64 x #s(literal 6 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 1 binary64)) (neg.f64 x) (*.f64 (/.f64 #s(literal -1/2 binary64) 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)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* -1 x)
(neg.f64 x)
(* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2))))))
(fma.f64 #s(literal -1/2 binary64) (/.f64 y x) (neg.f64 x))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) y) (/.f64 y (pow.f64 x #s(literal 4 binary64))) #s(literal -1 binary64)) x (*.f64 (/.f64 #s(literal -1/2 binary64) x) y))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))))
(fma.f64 (fma.f64 (*.f64 y y) (fma.f64 (/.f64 y (pow.f64 x #s(literal 6 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 1 binary64)) (neg.f64 x) (*.f64 (/.f64 #s(literal -1/2 binary64) x) y))
x
(* -1 (* x (- (* -1/2 (/ y (pow x 2))) 1)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* -1 (* x (- (* -1/2 (/ y (pow x 2))) 1)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* -1 (* x (- (* -1/2 (/ y (pow x 2))) 1)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)
(/ 1/2 x)
(/.f64 #s(literal 1/2 binary64) x)

rewrite176.0ms (4.4%)

Memory
9.4MiB live, 161.3MiB allocated
Rules
5 804×lower-fma.f32
5 800×lower-fma.f64
4 018×lower-*.f32
4 016×lower-*.f64
1 916×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01870
02770
17370
240870
3449470
0835970
Stop Event
iter limit
node limit
iter limit
Counts
12 → 282
Calls
Call 1
Inputs
(sqrt.f64 (fma.f64 x x y))
(fma.f64 x x y)
#s(approx (sqrt (+ (* x x) y)) (neg.f64 x))
(neg.f64 x)
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
(sqrt.f64 y)
(sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x)))
#s(approx (+ (* x x) y) (*.f64 x x))
(*.f64 x x)
#s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(/.f64 #s(literal 1/2 binary64) x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval153.0ms (3.8%)

Memory
-29.7MiB live, 146.1MiB allocated
Compiler

Compiled 7 683 to 1 037 computations (86.5% saved)

prune16.0ms (0.4%)

Memory
25.5MiB live, 25.5MiB allocated
Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New5030503
Fresh011
Picked055
Done000
Total5036509
Accuracy
100.0%
Counts
509 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
70.9%
(sqrt.f64 (fma.f64 x x y))
38.6%
(sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)))
34.5%
(sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x)))
64.3%
#s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
38.7%
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
1.3%
#s(approx (sqrt (+ (* x x) y)) (neg.f64 x))
Compiler

Compiled 37 to 33 computations (10.8% saved)

simplify192.0ms (4.8%)

Memory
-23.7MiB live, 15.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 y)
cost-diff0
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
cost-diff0
(/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))
cost-diff0
(sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)))
Rules
448×lower-fma.f32
446×lower-fma.f64
288×lower-*.f32
286×lower-*.f64
214×associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01050
01850
12750
23650
35650
48750
514950
631950
770950
8122250
9137350
10141150
11143950
0143950
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)))
(/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(neg.f64 y)
y
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 4 binary64)
(-.f64 (*.f64 x x) y)
(*.f64 x x)
Outputs
(sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)))
(sqrt.f64 (/.f64 (-.f64 (*.f64 y y) (pow.f64 x #s(literal 4 binary64))) (-.f64 y (*.f64 x x))))
(/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 x #s(literal 4 binary64))) (-.f64 y (*.f64 x x)))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(neg.f64 y)
y
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 4 binary64)
(-.f64 (*.f64 x x) y)
(fma.f64 x x (neg.f64 y))
(*.f64 x x)

localize35.0ms (0.9%)

Memory
17.1MiB live, 52.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(-.f64 (*.f64 x x) y)
accuracy0.7538979928166806
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
accuracy18.636975022066892
(sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)))
accuracy34.67770411336904
(/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))
Samples
23.0ms256×0valid
Compiler

Compiled 55 to 13 computations (76.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-mult: 3.0ms (20.1% of total)
ival-pow: 3.0ms (20.1% of total)
ival-div: 2.0ms (13.4% of total)
ival-sub: 2.0ms (13.4% of total)
ival-sqrt: 2.0ms (13.4% of total)
ival-add: 1.0ms (6.7% of total)
ival-neg: 1.0ms (6.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series10.0ms (0.2%)

Memory
13.9MiB live, 13.9MiB allocated
Counts
5 → 108
Calls
Call 1
Inputs
#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())
#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())
#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())
#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())
#s(alt (-.f64 (*.f64 x x) y) (patch (-.f64 (*.f64 x x) y) #<representation binary64>) () ())
Outputs
#s(alt x (taylor 0 y) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (+ x (* 1/2 (/ y x))) (taylor 0 y) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x))))) (taylor 0 y) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x))))) (taylor 0 y) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 y) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 y) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor 0 y) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 (pow y 2)) (pow x 4)) (taylor 0 y) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 (pow y 2)) (pow x 4)) (taylor 0 y) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 (pow y 2)) (pow x 4)) (taylor 0 y) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor 0 y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor 0 y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor 0 y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor 0 y) (#s(alt (neg.f64 y) (patch (neg.f64 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 (+ (* -1 y) (pow x 2)) (taylor 0 y) (#s(alt (-.f64 (*.f64 x x) y) (patch (-.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 y) (pow x 2)) (taylor 0 y) (#s(alt (-.f64 (*.f64 x x) y) (patch (-.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 y) (pow x 2)) (taylor 0 y) (#s(alt (-.f64 (*.f64 x x) y) (patch (-.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (sqrt y) (taylor inf y) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))) (taylor inf y) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))) (taylor inf y) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))) (taylor inf y) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt y (taylor inf y) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ (pow x 2) y))) (taylor inf y) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow y 2)) (taylor inf y) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1)) (taylor inf y) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1)) (taylor inf y) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1)) (taylor inf y) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (-.f64 (*.f64 x x) y) (patch (-.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ (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 (* y (- (/ (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 (* y (- (/ (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 (* (sqrt y) (pow (sqrt -1) 2))) (taylor -inf y) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))) (taylor -inf y) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))) (taylor -inf y) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))) (taylor -inf y) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt y (taylor -inf y) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ (pow x 2) y)) 1))) (taylor -inf y) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow y 2)) (taylor -inf y) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1)) (taylor -inf y) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1)) (taylor -inf y) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1)) (taylor -inf y) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (-.f64 (*.f64 x x) y) (patch (-.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1 (* -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 (* -1 (* y (+ 1 (* -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 (* -1 (* y (+ 1 (* -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 (sqrt y) (taylor 0 x) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y))))) (taylor 0 x) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y)))))) (taylor 0 x) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5)))))))))) (taylor 0 x) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt y (taylor 0 x) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (+ y (pow x 2)) (taylor 0 x) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (pow y 2)) (taylor 0 x) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 (pow y 2)) (pow x 4)) (taylor 0 x) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 (pow y 2)) (pow x 4)) (taylor 0 x) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 (pow y 2)) (pow x 4)) (taylor 0 x) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor 0 x) (#s(alt (-.f64 (*.f64 x x) y) (patch (-.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) y) (taylor 0 x) (#s(alt (-.f64 (*.f64 x x) y) (patch (-.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) y) (taylor 0 x) (#s(alt (-.f64 (*.f64 x x) y) (patch (-.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt (- (pow x 2) y) (taylor 0 x) (#s(alt (-.f64 (*.f64 x x) y) (patch (-.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 (/ y (pow x 2))))) (taylor inf x) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))) (taylor inf x) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))) (taylor inf x) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor inf x) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor inf x) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4))))) (taylor inf x) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4))))) (taylor inf x) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4))))) (taylor inf x) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<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 (* -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 (* -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 (* -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 (* -1 x) (taylor -inf x) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2)))))) (taylor -inf x) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))) (taylor -inf x) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))) (taylor -inf x) (#s(alt (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) (patch (sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1 (/ y (pow x 2)))) (taylor -inf x) (#s(alt (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) (patch (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)) #<representation binary64>) () ())) ())
#s(alt (pow x 4) (taylor -inf x) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4))))) (taylor -inf x) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4))))) (taylor -inf x) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4))))) (taylor -inf x) (#s(alt (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (patch (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) #<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 (* -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 (* -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 (* -1 (/ y (pow x 2))))) (taylor -inf x) (#s(alt (-.f64 (*.f64 x x) y) (patch (-.f64 (*.f64 x x) y) #<representation binary64>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
2.0ms
y
@inf
((sqrt (/ (+ (* (neg y) y) (pow x 4)) (- (* x x) y))) (/ (+ (* (neg y) y) (pow x 4)) (- (* x x) y)) (+ (* (neg y) y) (pow x 4)) (neg y) (- (* x x) y))
1.0ms
x
@inf
((sqrt (/ (+ (* (neg y) y) (pow x 4)) (- (* x x) y))) (/ (+ (* (neg y) y) (pow x 4)) (- (* x x) y)) (+ (* (neg y) y) (pow x 4)) (neg y) (- (* x x) y))
1.0ms
x
@0
((sqrt (/ (+ (* (neg y) y) (pow x 4)) (- (* x x) y))) (/ (+ (* (neg y) y) (pow x 4)) (- (* x x) y)) (+ (* (neg y) y) (pow x 4)) (neg y) (- (* x x) y))
1.0ms
y
@0
((sqrt (/ (+ (* (neg y) y) (pow x 4)) (- (* x x) y))) (/ (+ (* (neg y) y) (pow x 4)) (- (* x x) y)) (+ (* (neg y) y) (pow x 4)) (neg y) (- (* x x) y))
1.0ms
y
@-inf
((sqrt (/ (+ (* (neg y) y) (pow x 4)) (- (* x x) y))) (/ (+ (* (neg y) y) (pow x 4)) (- (* x x) y)) (+ (* (neg y) y) (pow x 4)) (neg y) (- (* x x) y))

simplify477.0ms (11.9%)

Memory
-16.0MiB live, 218.1MiB allocated
Algorithm
egg-herbie
Rules
21 708×lower-fma.f64
21 708×lower-fma.f32
5 014×lower-*.f64
5 014×lower-*.f32
2 602×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0152909
1441882
21377874
34619852
08225799
Stop Event
iter limit
node limit
Counts
108 → 103
Calls
Call 1
Inputs
x
(+ x (* 1/2 (/ y x)))
(+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x)))))
(+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x)))))
(pow x 2)
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
(pow x 4)
(+ (* -1 (pow y 2)) (pow x 4))
(+ (* -1 (pow y 2)) (pow x 4))
(+ (* -1 (pow y 2)) (pow x 4))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(pow x 2)
(+ (* -1 y) (pow x 2))
(+ (* -1 y) (pow x 2))
(+ (* -1 y) (pow x 2))
(sqrt y)
(* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))))
y
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(* y (+ 1 (/ (pow x 2) y)))
(* -1 (pow y 2))
(* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1))
(* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1))
(* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* y (- (/ (pow x 2) y) 1))
(* y (- (/ (pow x 2) y) 1))
(* y (- (/ (pow x 2) y) 1))
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))))
y
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) 1)))
(* -1 (pow y 2))
(* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1))
(* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1))
(* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 (* y (+ 1 (* -1 (/ (pow x 2) y)))))
(* -1 (* y (+ 1 (* -1 (/ (pow x 2) y)))))
(* -1 (* y (+ 1 (* -1 (/ (pow x 2) y)))))
(sqrt y)
(+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y)))))
(+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y))))))
(+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5))))))))))
y
(+ y (pow x 2))
(+ y (pow x 2))
(+ y (pow x 2))
(* -1 (pow y 2))
(+ (* -1 (pow y 2)) (pow x 4))
(+ (* -1 (pow y 2)) (pow x 4))
(+ (* -1 (pow y 2)) (pow x 4))
(* -1 y)
(- (pow x 2) y)
(- (pow x 2) y)
(- (pow x 2) y)
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))
(pow x 2)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(pow x 4)
(* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4)))))
(* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4)))))
(* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4)))))
(pow x 2)
(* (pow x 2) (+ 1 (* -1 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* -1 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* -1 (/ y (pow x 2)))))
(* -1 x)
(* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2))))))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))))
(pow x 2)
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(* (pow x 2) (+ 1 (/ y (pow x 2))))
(pow x 4)
(* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4)))))
(* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4)))))
(* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4)))))
(pow x 2)
(* (pow x 2) (+ 1 (* -1 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* -1 (/ y (pow x 2)))))
(* (pow x 2) (+ 1 (* -1 (/ y (pow x 2)))))
Outputs
x
(+ x (* 1/2 (/ y x)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(+ x (* y (+ (* -1/8 (/ y (pow x 3))) (* 1/2 (/ 1 x)))))
(fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 3 binary64))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) x)) y x)
(+ x (* y (+ (* y (- (* 1/16 (/ y (pow x 5))) (* 1/8 (/ 1 (pow x 3))))) (* 1/2 (/ 1 x)))))
(fma.f64 (fma.f64 (fma.f64 (/.f64 y (pow.f64 x #s(literal 5 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 3 binary64)))) y (/.f64 #s(literal 1/2 binary64) x)) y x)
(pow x 2)
(*.f64 x x)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(+ (* -1 (pow y 2)) (pow x 4))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(+ (* -1 (pow y 2)) (pow x 4))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(+ (* -1 (pow y 2)) (pow x 4))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(pow x 2)
(*.f64 x x)
(+ (* -1 y) (pow x 2))
(fma.f64 x x (neg.f64 y))
(+ (* -1 y) (pow x 2))
(fma.f64 x x (neg.f64 y))
(+ (* -1 y) (pow x 2))
(fma.f64 x x (neg.f64 y))
(sqrt y)
(sqrt.f64 y)
(* y (+ (sqrt (/ 1 y)) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))
(*.f64 (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))) y)
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)))) y)
(* y (+ (sqrt (/ 1 y)) (+ (* -1/8 (* (pow x 4) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (pow x 6) (sqrt (/ 1 (pow y 7))))) (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3)))))))))
(*.f64 (fma.f64 (*.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 1/16 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 7 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))))) 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)
(* -1 (pow y 2))
(*.f64 (neg.f64 y) y)
(* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1))
(*.f64 (fma.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) y) y) y (neg.f64 y)) y)
(* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1))
(*.f64 (fma.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) y) y) y (neg.f64 y)) y)
(* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1))
(*.f64 (fma.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) y) y) y (neg.f64 y)) y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* y (- (/ (pow x 2) y) 1))
(fma.f64 x x (neg.f64 y))
(* y (- (/ (pow x 2) y) 1))
(fma.f64 x x (neg.f64 y))
(* y (- (/ (pow x 2) y) 1))
(fma.f64 x x (neg.f64 y))
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(sqrt.f64 y)
(* -1 (* y (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))) y)
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2))))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)))) y)
(* -1 (* y (+ (* -1/8 (* (/ (pow x 4) (pow (sqrt -1) 2)) (sqrt (/ 1 (pow y 5))))) (+ (* 1/16 (* (/ (pow x 6) (pow (sqrt -1) 4)) (sqrt (/ 1 (pow y 7))))) (+ (* 1/2 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* (sqrt (/ 1 y)) (pow (sqrt -1) 2)))))))
(*.f64 (fma.f64 #s(literal -1/16 binary64) (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 7 binary64)))) (pow.f64 x #s(literal 6 binary64))) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 4 binary64))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 x x)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) y))))) 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)
(* -1 (pow y 2))
(*.f64 (neg.f64 y) y)
(* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1))
(*.f64 (fma.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) y) y) y (neg.f64 y)) y)
(* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1))
(*.f64 (fma.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) y) y) y (neg.f64 y)) y)
(* (pow y 2) (- (/ (pow x 4) (pow y 2)) 1))
(*.f64 (fma.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) y) y) y (neg.f64 y)) y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 (* y (+ 1 (* -1 (/ (pow x 2) y)))))
(fma.f64 x x (neg.f64 y))
(* -1 (* y (+ 1 (* -1 (/ (pow x 2) y)))))
(fma.f64 x x (neg.f64 y))
(* -1 (* y (+ 1 (* -1 (/ (pow x 2) y)))))
(fma.f64 x x (neg.f64 y))
(sqrt y)
(sqrt.f64 y)
(+ (sqrt y) (* 1/2 (* (pow x 2) (sqrt (/ 1 y)))))
(fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (sqrt.f64 y))
(+ (sqrt y) (* (pow x 2) (+ (* -1/8 (* (pow x 2) (sqrt (/ 1 (pow y 3))))) (* 1/2 (sqrt (/ 1 y))))))
(fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (fma.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) (sqrt.f64 y)))
(+ (sqrt y) (* (pow x 2) (+ (* 1/2 (sqrt (/ 1 y))) (* (pow x 2) (+ (* -1/8 (sqrt (/ 1 (pow y 3)))) (* 1/16 (* (pow x 2) (sqrt (/ 1 (pow y 5))))))))))
(fma.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 5 binary64)))) (*.f64 #s(literal 1/16 binary64) x)) x (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3 binary64)))) #s(literal -1/8 binary64))) (pow.f64 x #s(literal 4 binary64)) (fma.f64 (*.f64 (*.f64 x x) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) y)) (sqrt.f64 y)))
y
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(+ y (pow x 2))
(fma.f64 x x y)
(* -1 (pow y 2))
(*.f64 (neg.f64 y) y)
(+ (* -1 (pow y 2)) (pow x 4))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(+ (* -1 (pow y 2)) (pow x 4))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(+ (* -1 (pow y 2)) (pow x 4))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(* -1 y)
(neg.f64 y)
(- (pow x 2) y)
(fma.f64 x x (neg.f64 y))
(- (pow x 2) y)
(fma.f64 x x (neg.f64 y))
(- (pow x 2) y)
(fma.f64 x x (neg.f64 y))
x
(* x (+ 1 (* 1/2 (/ y (pow x 2)))))
(fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) x) (*.f64 (/.f64 y (pow.f64 x #s(literal 4 binary64))) y) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
(* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2)))))))
(fma.f64 (fma.f64 (*.f64 y y) (fma.f64 (/.f64 y (pow.f64 x #s(literal 6 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 1 binary64)) x (*.f64 (/.f64 #s(literal 1/2 binary64) 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 4)
(pow.f64 x #s(literal 4 binary64))
(* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4)))))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4)))))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4)))))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* -1 (/ y (pow x 2)))))
(fma.f64 x x (neg.f64 y))
(* (pow x 2) (+ 1 (* -1 (/ y (pow x 2)))))
(fma.f64 x x (neg.f64 y))
(* (pow x 2) (+ 1 (* -1 (/ y (pow x 2)))))
(fma.f64 x x (neg.f64 y))
(* -1 x)
(neg.f64 x)
(* -1 (* x (+ 1 (* 1/2 (/ y (pow x 2))))))
(neg.f64 (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (* 1/2 (/ y (pow x 2)))))))
(*.f64 (neg.f64 x) (fma.f64 y (fma.f64 (/.f64 y (pow.f64 x #s(literal 4 binary64))) #s(literal -1/8 binary64) (/.f64 (/.f64 #s(literal 1/2 binary64) x) x)) #s(literal 1 binary64)))
(* -1 (* x (+ 1 (+ (* -1/8 (/ (pow y 2) (pow x 4))) (+ (* 1/16 (/ (pow y 3) (pow x 6))) (* 1/2 (/ y (pow x 2))))))))
(neg.f64 (fma.f64 (fma.f64 (*.f64 y y) (fma.f64 (/.f64 y (pow.f64 x #s(literal 6 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 1 binary64)) x (*.f64 (/.f64 #s(literal 1/2 binary64) 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 4)
(pow.f64 x #s(literal 4 binary64))
(* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4)))))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4)))))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(* (pow x 4) (+ 1 (* -1 (/ (pow y 2) (pow x 4)))))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(pow x 2)
(*.f64 x x)
(* (pow x 2) (+ 1 (* -1 (/ y (pow x 2)))))
(fma.f64 x x (neg.f64 y))
(* (pow x 2) (+ 1 (* -1 (/ y (pow x 2)))))
(fma.f64 x x (neg.f64 y))
(* (pow x 2) (+ 1 (* -1 (/ y (pow x 2)))))
(fma.f64 x x (neg.f64 y))

rewrite203.0ms (5.1%)

Memory
11.9MiB live, 244.7MiB allocated
Rules
4 852×lower-fma.f32
4 850×lower-fma.f64
4 130×lower-*.f32
4 128×lower-*.f64
3 248×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01041
01841
17225
248625
3708025
0918523
Stop Event
iter limit
node limit
iter limit
Counts
5 → 609
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)))
(/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y))
(fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64)))
(neg.f64 y)
(-.f64 (*.f64 x x) y)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval147.0ms (3.7%)

Memory
-17.6MiB live, 238.5MiB allocated
Compiler

Compiled 18 991 to 2 359 computations (87.6% saved)

prune17.0ms (0.4%)

Memory
1.3MiB live, 76.3MiB allocated
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New7120712
Fresh000
Picked011
Done055
Total7126718
Accuracy
100.0%
Counts
718 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
70.9%
(sqrt.f64 (fma.f64 x x y))
38.6%
(sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)))
34.5%
(sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x)))
64.3%
#s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
38.7%
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
1.3%
#s(approx (sqrt (+ (* x x) y)) (neg.f64 x))
Compiler

Compiled 80 to 57 computations (28.8% saved)

regimes65.0ms (1.6%)

Memory
-12.6MiB live, 36.5MiB allocated
Counts
7 → 2
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* x x) y)) (neg.f64 x))
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
(sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x)))
(sqrt.f64 (fma.f64 x x y))
#s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
(sqrt.f64 (+.f64 (*.f64 x x) y))
(sqrt.f64 (/.f64 (fma.f64 (neg.f64 y) y (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) y)))
Outputs
(sqrt.f64 (fma.f64 x x y))
#s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x))
Calls

5 calls:

52.0ms
y
3.0ms
x
3.0ms
(sqrt.f64 (+.f64 (*.f64 x x) y))
3.0ms
(+.f64 (*.f64 x x) y)
3.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
100.0%2x
86.8%2y
100.0%2(sqrt.f64 (+.f64 (*.f64 x x) y))
100.0%2(+.f64 (*.f64 x x) y)
100.0%2(*.f64 x x)
Compiler

Compiled 16 to 16 computations (0% saved)

regimes11.0ms (0.3%)

Memory
25.5MiB live, 25.5MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* x x) y)) (neg.f64 x))
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
(sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x)))
(sqrt.f64 (fma.f64 x x y))
Outputs
(sqrt.f64 (fma.f64 x x y))
Calls

5 calls:

2.0ms
x
2.0ms
y
2.0ms
(+.f64 (*.f64 x x) y)
2.0ms
(sqrt.f64 (+.f64 (*.f64 x x) y))
2.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
70.9%1y
70.9%1x
70.9%1(sqrt.f64 (+.f64 (*.f64 x x) y))
70.9%1(+.f64 (*.f64 x x) y)
70.9%1(*.f64 x x)
Compiler

Compiled 16 to 16 computations (0% saved)

regimes20.0ms (0.5%)

Memory
-12.9MiB live, 24.8MiB allocated
Counts
3 → 4
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* x x) y)) (neg.f64 x))
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
(sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x)))
Outputs
(sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x)))
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
(sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x)))
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
Calls

5 calls:

11.0ms
(*.f64 x x)
2.0ms
x
2.0ms
y
2.0ms
(sqrt.f64 (+.f64 (*.f64 x x) y))
2.0ms
(+.f64 (*.f64 x x) y)
Results
AccuracySegmentsBranch
59.7%2x
41.1%2(sqrt.f64 (+.f64 (*.f64 x x) y))
41.1%2(+.f64 (*.f64 x x) y)
59.7%2(*.f64 x x)
63.1%4y
Compiler

Compiled 16 to 16 computations (0% saved)

regimes11.0ms (0.3%)

Memory
-13.2MiB live, 23.6MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (sqrt (+ (* x x) y)) (neg.f64 x))
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
Outputs
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
Calls

5 calls:

4.0ms
(sqrt.f64 (+.f64 (*.f64 x x) y))
2.0ms
x
2.0ms
y
2.0ms
(+.f64 (*.f64 x x) y)
1.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
38.7%1(sqrt.f64 (+.f64 (*.f64 x x) y))
38.7%1(+.f64 (*.f64 x x) y)
38.7%1(*.f64 x x)
38.7%1x
38.7%1y
Compiler

Compiled 16 to 16 computations (0% saved)

regimes7.0ms (0.2%)

Memory
19.0MiB live, 19.0MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

5 calls:

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

Compiled 16 to 16 computations (0% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.2532775612205626e+240
1.9891119302992907e+241
Compiler

Compiled 9 to 10 computations (-11.1% saved)

bsearch33.0ms (0.8%)

Memory
-10.4MiB live, 67.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
2.68734244110948e-22
3.6242984740032465e-22
9.0ms
2.286334186544004e-119
1.6662172348265387e-117
12.0ms
1.3278857285028347e-150
5.78224511427965e-147
Samples
12.0ms288×0valid
Compiler

Compiled 153 to 208 computations (-35.9% saved)

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

simplify26.0ms (0.6%)

Memory
-4.3MiB live, 73.6MiB allocated
Algorithm
egg-herbie
Rules
*-commutative-binary64-*.f64
neg-sub0-binary64--.f64-neg.f64
+-commutative-binary64-+.f64
neg-mul-1-binary64-*.f64-neg.f64
sub-neg-binary64-neg.f64-+.f64--.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03097
13497
23697
33797
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 x x) #s(literal 2000000000000000027892227608239848875948331713973276662224188341819360978852261087276817026157211448419590306798994022928930976947274441820681149515165893814064695493653429650468157899728643681221664311148496427387162969229963912192655884288 binary64)) (sqrt.f64 (fma.f64 x x y)) #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)))
(sqrt.f64 (fma.f64 x x y))
(if (<=.f64 y #s(literal 8637914485522937/3599131035634557106248430806148785487095757694641533306480604458089470064537190296255232548883112685719936728506816716098566612844395439751206812144692131084107776 binary64)) (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (if (<=.f64 y #s(literal 3270774259330231/90854840536950861318665475986000566794205170085914757535186274897579911014174740415773881339220445695095315200783272241691825203576832 binary64)) #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (if (<=.f64 y #s(literal 5954941421116423/21267647932558653966460912964485513216 binary64)) (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)))))
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
#s(approx (sqrt (+ (* x x) y)) (neg.f64 x))
Outputs
(if (<=.f64 (*.f64 x x) #s(literal 2000000000000000027892227608239848875948331713973276662224188341819360978852261087276817026157211448419590306798994022928930976947274441820681149515165893814064695493653429650468157899728643681221664311148496427387162969229963912192655884288 binary64)) (sqrt.f64 (fma.f64 x x y)) #s(approx (sqrt (+ (* x x) y)) (fma.f64 (/.f64 #s(literal 1/2 binary64) x) y x)))
(sqrt.f64 (fma.f64 x x y))
(if (<=.f64 y #s(literal 8637914485522937/3599131035634557106248430806148785487095757694641533306480604458089470064537190296255232548883112685719936728506816716098566612844395439751206812144692131084107776 binary64)) (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) (if (<=.f64 y #s(literal 3270774259330231/90854840536950861318665475986000566794205170085914757535186274897579911014174740415773881339220445695095315200783272241691825203576832 binary64)) #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)) (if (<=.f64 y #s(literal 5954941421116423/21267647932558653966460912964485513216 binary64)) (sqrt.f64 #s(approx (+ (* x x) y) (*.f64 x x))) #s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y)))))
#s(approx (sqrt (+ (* x x) y)) (sqrt.f64 y))
#s(approx (sqrt (+ (* x x) y)) (neg.f64 x))

soundness582.0ms (14.5%)

Memory
8.6MiB live, 338.3MiB allocated
Rules
23 502×lower-fma.f64
23 502×lower-fma.f32
5 416×lower-*.f64
5 416×lower-*.f32
5 034×lower-fma.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0514
0814
12614
216914
3152114
0848912
0133615
1383600
21202592
34035567
08298515
Stop Event
done
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 95 to 59 computations (37.9% saved)

preprocess73.0ms (1.8%)

Memory
9.9MiB live, 48.4MiB allocated
Compiler

Compiled 220 to 120 computations (45.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...