From Rump in a 1983 paper, rewritten

Time bar (total: 5.3s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
100%0%0%100%0%0%0%1
Compiler

Compiled 23 to 17 computations (26.1% saved)

sample1.1s (21%)

Memory
21.5MiB live, 1 193.7MiB allocated
Samples
730.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 518.0ms
ival-mult: 166.0ms (32% of total)
ival-pow: 123.0ms (23.7% of total)
ival-==: 122.0ms (23.5% of total)
ival-sub: 74.0ms (14.3% of total)
exact: 20.0ms (3.9% of total)
ival-and: 10.0ms (1.9% of total)
ival-assert: 3.0ms (0.6% of total)
Bogosity

explain131.0ms (2.5%)

Memory
34.3MiB live, 112.4MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2560-0-(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
00-0-(*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64)))
00-0-#s(literal 9 binary64)
00-0-#s(literal 4 binary64)
00-0-(-.f64 (*.f64 y y) #s(literal 2 binary64))
00-0-#s(literal 2 binary64)
00-0-y
00-0-(pow.f64 x #s(literal 4 binary64))
00-0-(*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64)))
00-0-(*.f64 y y)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))cancellation10
Confusion
Predicted +Predicted -
+2560
-00
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+25600
-000
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
1256
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
48.0ms512×0valid
Compiler

Compiled 109 to 37 computations (66.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-mult: 8.0ms (42.5% of total)
ival-pow: 5.0ms (26.6% of total)
ival-sub: 4.0ms (21.3% of total)
exact: 1.0ms (5.3% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess155.0ms (2.9%)

Memory
-15.2MiB live, 102.0MiB allocated
Algorithm
egg-herbie
Rules
912×lower-fma.f64
912×lower-fma.f32
466×cancel-sign-sub-inv
454×distribute-lft-in
442×distribute-rgt-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02781
17781
222279
369979
4134979
5188279
6265679
7292379
8303475
9306575
10307075
11307075
12309075
13309875
14309875
15317275
01115
01715
12915
26915
318315
429515
539815
658515
779915
898615
9100915
0100914
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
Outputs
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
Symmetry

(abs y)

(abs x)

Compiler

Compiled 15 to 11 computations (26.7% saved)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
3.1%
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify42.0ms (0.8%)

Memory
-1.2MiB live, 36.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(pow.f64 x #s(literal 4 binary64))
cost-diff0
(*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64)))
cost-diff0
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
cost-diff128
(-.f64 (*.f64 y y) #s(literal 2 binary64))
Rules
912×lower-fma.f64
912×lower-fma.f32
384×lower-*.f32
378×lower-*.f64
214×cancel-sign-sub-inv
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01145
01745
12945
26945
318345
429545
539845
658545
779945
898645
9100945
0100942
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
(*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64)))
#s(literal 9 binary64)
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 4 binary64)
(*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64)))
(*.f64 y y)
y
(-.f64 (*.f64 y y) #s(literal 2 binary64))
#s(literal 2 binary64)
Outputs
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
#s(literal 9 binary64)
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 4 binary64)
(*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64)))
(*.f64 (*.f64 (fma.f64 y y #s(literal -2 binary64)) y) y)
(*.f64 y y)
y
(-.f64 (*.f64 y y) #s(literal 2 binary64))
(fma.f64 y y #s(literal -2 binary64))
#s(literal 2 binary64)

localize70.0ms (1.3%)

Memory
3.5MiB live, 44.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64)))
accuracy0
(*.f64 y y)
accuracy0
(*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64)))
accuracy61.99859042974503
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
Samples
63.0ms256×0valid
Compiler

Compiled 47 to 13 computations (72.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 4.0ms (44.1% of total)
ival-pow: 3.0ms (33.1% of total)
ival-sub: 2.0ms (22.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series8.0ms (0.2%)

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

6 calls:

TimeVariablePointExpression
1.0ms
y
@inf
((- (* y y) 2) (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* 9 (pow x 4)) (pow x 4) (* y y) (* (* y y) (- (* y y) 2)))
1.0ms
x
@inf
((- (* y y) 2) (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* 9 (pow x 4)) (pow x 4) (* y y) (* (* y y) (- (* y y) 2)))
1.0ms
y
@0
((- (* y y) 2) (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* 9 (pow x 4)) (pow x 4) (* y y) (* (* y y) (- (* y y) 2)))
1.0ms
x
@0
((- (* y y) 2) (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* 9 (pow x 4)) (pow x 4) (* y y) (* (* y y) (- (* y y) 2)))
1.0ms
x
@-inf
((- (* y y) 2) (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* 9 (pow x 4)) (pow x 4) (* y y) (* (* y y) (- (* y y) 2)))

simplify162.0ms (3.1%)

Memory
10.0MiB live, 122.9MiB allocated
Algorithm
egg-herbie
Rules
6 756×lower-fma.f64
6 756×lower-fma.f32
4 146×lower-*.f64
4 146×lower-*.f32
1 494×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040583
197568
2240568
3689562
42431562
56192562
08236528
Stop Event
iter limit
node limit
Counts
84 → 84
Calls
Call 1
Inputs
-2
(- (pow y 2) 2)
(- (pow y 2) 2)
(- (pow y 2) 2)
(* 9 (pow x 4))
(+ (* 2 (pow y 2)) (* 9 (pow x 4)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(* -2 (pow y 2))
(* (pow y 2) (- (pow y 2) 2))
(* (pow y 2) (- (pow y 2) 2))
(* (pow y 2) (- (pow y 2) 2))
(pow y 2)
(* (pow y 2) (- 1 (* 2 (/ 1 (pow y 2)))))
(* (pow y 2) (- 1 (* 2 (/ 1 (pow y 2)))))
(* (pow y 2) (- 1 (* 2 (/ 1 (pow y 2)))))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 4)
(* (pow y 4) (- 1 (* 2 (/ 1 (pow y 2)))))
(* (pow y 4) (- 1 (* 2 (/ 1 (pow y 2)))))
(* (pow y 4) (- 1 (* 2 (/ 1 (pow y 2)))))
(pow y 2)
(* (pow y 2) (- 1 (* 2 (/ 1 (pow y 2)))))
(* (pow y 2) (- 1 (* 2 (/ 1 (pow y 2)))))
(* (pow y 2) (- 1 (* 2 (/ 1 (pow y 2)))))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 4)
(* (pow y 4) (- 1 (* 2 (/ 1 (pow y 2)))))
(* (pow y 4) (- 1 (* 2 (/ 1 (pow y 2)))))
(* (pow y 4) (- 1 (* 2 (/ 1 (pow y 2)))))
(* -1 (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(pow x 4)
(pow x 4)
(pow x 4)
(pow x 4)
(* 9 (pow x 4))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(pow x 4)
(pow x 4)
(pow x 4)
(pow x 4)
(* 9 (pow x 4))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(pow x 4)
(pow x 4)
(pow x 4)
(pow x 4)
Outputs
-2
#s(literal -2 binary64)
(- (pow y 2) 2)
(fma.f64 y y #s(literal -2 binary64))
(- (pow y 2) 2)
(fma.f64 y y #s(literal -2 binary64))
(- (pow y 2) 2)
(fma.f64 y y #s(literal -2 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(+ (* 2 (pow y 2)) (* 9 (pow x 4)))
(fma.f64 (*.f64 y y) #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(* -2 (pow y 2))
(*.f64 (*.f64 y y) #s(literal -2 binary64))
(* (pow y 2) (- (pow y 2) 2))
(*.f64 (*.f64 (fma.f64 y y #s(literal -2 binary64)) y) y)
(* (pow y 2) (- (pow y 2) 2))
(*.f64 (*.f64 (fma.f64 y y #s(literal -2 binary64)) y) y)
(* (pow y 2) (- (pow y 2) 2))
(*.f64 (*.f64 (fma.f64 y y #s(literal -2 binary64)) y) y)
(pow y 2)
(*.f64 y y)
(* (pow y 2) (- 1 (* 2 (/ 1 (pow y 2)))))
(fma.f64 y y #s(literal -2 binary64))
(* (pow y 2) (- 1 (* 2 (/ 1 (pow y 2)))))
(fma.f64 y y #s(literal -2 binary64))
(* (pow y 2) (- 1 (* 2 (/ 1 (pow y 2)))))
(fma.f64 y y #s(literal -2 binary64))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 4)
(pow.f64 y #s(literal 4 binary64))
(* (pow y 4) (- 1 (* 2 (/ 1 (pow y 2)))))
(*.f64 (*.f64 (fma.f64 y y #s(literal -2 binary64)) y) y)
(* (pow y 4) (- 1 (* 2 (/ 1 (pow y 2)))))
(*.f64 (*.f64 (fma.f64 y y #s(literal -2 binary64)) y) y)
(* (pow y 4) (- 1 (* 2 (/ 1 (pow y 2)))))
(*.f64 (*.f64 (fma.f64 y y #s(literal -2 binary64)) y) y)
(pow y 2)
(*.f64 y y)
(* (pow y 2) (- 1 (* 2 (/ 1 (pow y 2)))))
(fma.f64 y y #s(literal -2 binary64))
(* (pow y 2) (- 1 (* 2 (/ 1 (pow y 2)))))
(fma.f64 y y #s(literal -2 binary64))
(* (pow y 2) (- 1 (* 2 (/ 1 (pow y 2)))))
(fma.f64 y y #s(literal -2 binary64))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 4)
(pow.f64 y #s(literal 4 binary64))
(* (pow y 4) (- 1 (* 2 (/ 1 (pow y 2)))))
(*.f64 (*.f64 (fma.f64 y y #s(literal -2 binary64)) y) y)
(* (pow y 4) (- 1 (* 2 (/ 1 (pow y 2)))))
(*.f64 (*.f64 (fma.f64 y y #s(literal -2 binary64)) y) y)
(* (pow y 4) (- 1 (* 2 (/ 1 (pow y 2)))))
(*.f64 (*.f64 (fma.f64 y y #s(literal -2 binary64)) y) y)
(* -1 (* (pow y 2) (- (pow y 2) 2)))
(*.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (-.f64 (/.f64 #s(literal 2 binary64) y) y) (pow.f64 y #s(literal 3 binary64)) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))

rewrite402.0ms (7.6%)

Memory
-37.8MiB live, 213.7MiB allocated
Rules
7 440×lower-fma.f64
7 440×lower-fma.f32
5 468×lower-*.f32
5 462×lower-*.f64
2 020×lower-pow.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01140
01740
16240
241940
3477640
0884037
Stop Event
iter limit
node limit
iter limit
Counts
6 → 264
Calls
Call 1
Inputs
(-.f64 (*.f64 y y) #s(literal 2 binary64))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
(*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64)))
(pow.f64 x #s(literal 4 binary64))
(*.f64 y y)
(*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64)))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval165.0ms (3.1%)

Memory
29.1MiB live, 104.6MiB allocated
Compiler

Compiled 10 365 to 923 computations (91.1% saved)

prune21.0ms (0.4%)

Memory
-1.4MiB live, 43.3MiB allocated
Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New3633366
Fresh000
Picked101
Done000
Total3643367
Accuracy
100.0%
Counts
367 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
3.1%
(fma.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal 9 binary64)) x) x (*.f64 (*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y) y))
9.6%
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
Compiler

Compiled 38 to 30 computations (21.1% saved)

simplify51.0ms (1%)

Memory
-14.8MiB live, 24.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
cost-diff0
(*.f64 y y)
cost-diff0
(neg.f64 y)
cost-diff0
(fma.f64 (neg.f64 y) y #s(literal 2 binary64))
cost-diff0
(*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y)
cost-diff0
(*.f64 (*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y) y)
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 (*.f64 x x) #s(literal 9 binary64))
cost-diff0
(pow.f64 x #s(literal 4 binary64))
cost-diff0
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
cost-diff0
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
Rules
1 344×lower-fma.f32
1 338×lower-fma.f64
672×lower-*.f32
658×lower-*.f64
328×cancel-sign-sub-inv
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
024129
039133
174133
2145126
3330122
4465122
5612122
6905122
71179122
81471122
91603122
101626122
111628122
121630122
01630122
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 4 binary64)
#s(literal 9 binary64)
(fma.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal 9 binary64)) x) x (*.f64 (*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y) y))
(*.f64 (*.f64 (*.f64 x x) #s(literal 9 binary64)) x)
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 x x)
x
#s(literal 9 binary64)
(*.f64 (*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y) y)
(*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y)
(fma.f64 (neg.f64 y) y #s(literal 2 binary64))
(neg.f64 y)
y
#s(literal 2 binary64)
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(fma.f64 (neg.f64 y) y #s(literal 2 binary64))
(neg.f64 y)
y
#s(literal 2 binary64)
(*.f64 y y)
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 4 binary64)
#s(literal 9 binary64)
Outputs
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 4 binary64)
#s(literal 9 binary64)
(fma.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal 9 binary64)) x) x (*.f64 (*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y) y))
(-.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64) (*.f64 #s(literal 2 binary64) (*.f64 y y))) (pow.f64 y #s(literal 4 binary64)))
(*.f64 (*.f64 (*.f64 x x) #s(literal 9 binary64)) x)
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 9 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 x x)
x
#s(literal 9 binary64)
(*.f64 (*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y) y)
(*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y)
(fma.f64 (neg.f64 y) y #s(literal 2 binary64))
(neg.f64 y)
y
#s(literal 2 binary64)
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(-.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64) (*.f64 #s(literal 2 binary64) (*.f64 y y))) (pow.f64 y #s(literal 4 binary64)))
(fma.f64 (neg.f64 y) y #s(literal 2 binary64))
(neg.f64 y)
y
#s(literal 2 binary64)
(*.f64 y y)
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow.f64 x #s(literal 4 binary64))
x
#s(literal 4 binary64)
#s(literal 9 binary64)

localize198.0ms (3.8%)

Memory
1.2MiB live, 121.6MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0
(pow.f64 x #s(literal 4 binary64))
accuracy0
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
accuracy0
(*.f64 y y)
accuracy0
(neg.f64 y)
accuracy0
(*.f64 (*.f64 x x) #s(literal 9 binary64))
accuracy0
(*.f64 x x)
accuracy0
(neg.f64 y)
accuracy61.99859042974503
(fma.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal 9 binary64)) x) x (*.f64 (*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y) y))
accuracy0
(pow.f64 x #s(literal 4 binary64))
accuracy0
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
accuracy57.826291447367076
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
Samples
179.0ms256×0valid
Compiler

Compiled 133 to 26 computations (80.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
ival-mult: 17.0ms (64.3% of total)
ival-add: 3.0ms (11.3% of total)
ival-pow: 3.0ms (11.3% of total)
ival-sub: 2.0ms (7.6% of total)
ival-neg: 1.0ms (3.8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series28.0ms (0.5%)

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

6 calls:

TimeVariablePointExpression
17.0ms
x
@-inf
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (pow x 4) 9) (pow x 4) (* (* x x) 9) (* x x) (* (* (+ (* (neg y) y) 2) y) y) (* (+ (* (neg y) y) 2) y) (+ (* (neg y) y) 2) (neg y) (* y y) (+ (* (* (* (* x x) 9) x) x) (* (* (+ (* (neg y) y) 2) y) y)))
2.0ms
x
@inf
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (pow x 4) 9) (pow x 4) (* (* x x) 9) (* x x) (* (* (+ (* (neg y) y) 2) y) y) (* (+ (* (neg y) y) 2) y) (+ (* (neg y) y) 2) (neg y) (* y y) (+ (* (* (* (* x x) 9) x) x) (* (* (+ (* (neg y) y) 2) y) y)))
1.0ms
y
@0
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (pow x 4) 9) (pow x 4) (* (* x x) 9) (* x x) (* (* (+ (* (neg y) y) 2) y) y) (* (+ (* (neg y) y) 2) y) (+ (* (neg y) y) 2) (neg y) (* y y) (+ (* (* (* (* x x) 9) x) x) (* (* (+ (* (neg y) y) 2) y) y)))
1.0ms
x
@0
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (pow x 4) 9) (pow x 4) (* (* x x) 9) (* x x) (* (* (+ (* (neg y) y) 2) y) y) (* (+ (* (neg y) y) 2) y) (+ (* (neg y) y) 2) (neg y) (* y y) (+ (* (* (* (* x x) 9) x) x) (* (* (+ (* (neg y) y) 2) y) y)))
1.0ms
y
@-inf
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (pow x 4) 9) (pow x 4) (* (* x x) 9) (* x x) (* (* (+ (* (neg y) y) 2) y) y) (* (+ (* (neg y) y) 2) y) (+ (* (neg y) y) 2) (neg y) (* y y) (+ (* (* (* (* x x) 9) x) x) (* (* (+ (* (neg y) y) 2) y) y)))

simplify202.0ms (3.8%)

Memory
-1.1MiB live, 195.9MiB allocated
Algorithm
egg-herbie
Rules
11 882×lower-fma.f64
11 882×lower-fma.f32
4 288×lower-*.f64
4 288×lower-*.f32
1 442×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0511109
11361046
23221046
39971046
429951046
558751046
082331014
Stop Event
iter limit
node limit
Counts
156 → 156
Calls
Call 1
Inputs
(* 9 (pow x 4))
(+ (* 2 (pow y 2)) (* 9 (pow x 4)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(* 2 (pow y 2))
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(* 2 y)
(* y (+ 2 (* -1 (pow y 2))))
(* y (+ 2 (* -1 (pow y 2))))
(* y (+ 2 (* -1 (pow y 2))))
2
(+ 2 (* -1 (pow y 2)))
(+ 2 (* -1 (pow y 2)))
(+ 2 (* -1 (pow y 2)))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(* 9 (pow x 4))
(+ (* 2 (pow y 2)) (* 9 (pow x 4)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 (pow y 3))
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 (pow y 2))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 (pow y 3))
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(* -1 (pow y 2))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* -1 (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(pow x 4)
(pow x 4)
(pow x 4)
(pow x 4)
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(* 9 (pow x 4))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(pow x 4)
(pow x 4)
(pow x 4)
(pow x 4)
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 9 (pow x 4))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(* 9 (pow x 4))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(pow x 4)
(pow x 4)
(pow x 4)
(pow x 4)
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(* 9 (pow x 2))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 9 (pow x 4))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
Outputs
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(+ (* 2 (pow y 2)) (* 9 (pow x 4)))
(fma.f64 (*.f64 y y) #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 2 (pow y 2))
(*.f64 (*.f64 y y) #s(literal 2 binary64))
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (* -1 (pow y 2))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* y (+ 2 (* -1 (pow y 2))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* y (+ 2 (* -1 (pow y 2))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
2
#s(literal 2 binary64)
(+ 2 (* -1 (pow y 2)))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(+ 2 (* -1 (pow y 2)))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(+ 2 (* -1 (pow y 2)))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(+ (* 2 (pow y 2)) (* 9 (pow x 4)))
(fma.f64 (*.f64 y y) #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* -1 (pow y 3))
(pow.f64 (neg.f64 y) #s(literal 3 binary64))
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* -1 (pow y 2))
(*.f64 (neg.f64 y) y)
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* -1 (pow y 3))
(pow.f64 (neg.f64 y) #s(literal 3 binary64))
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* -1 (pow y 2))
(*.f64 (neg.f64 y) y)
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* -1 (* (pow y 2) (- (pow y 2) 2)))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(* 9 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(* 9 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(* 9 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(* 9 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(* 9 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(* 9 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(* 9 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(* 9 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(* 9 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(* 9 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(* 9 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(* 9 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))

rewrite187.0ms (3.5%)

Memory
7.4MiB live, 285.2MiB allocated
Rules
13 152×lower-fma.f32
13 148×lower-fma.f64
6 104×lower-*.f32
6 090×lower-*.f64
2 584×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02381
03581
112178
284878
0955174
Stop Event
iter limit
node limit
iter limit
Counts
11 → 534
Calls
Call 1
Inputs
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow.f64 x #s(literal 4 binary64))
(*.f64 (*.f64 x x) #s(literal 9 binary64))
(*.f64 x x)
(*.f64 (*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y) y)
(*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y)
(fma.f64 (neg.f64 y) y #s(literal 2 binary64))
(neg.f64 y)
(*.f64 y y)
(fma.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal 9 binary64)) x) x (*.f64 (*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y) y))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval119.0ms (2.2%)

Memory
31.6MiB live, 265.5MiB allocated
Compiler

Compiled 18 704 to 1 775 computations (90.5% saved)

prune38.0ms (0.7%)

Memory
-21.7MiB live, 97.9MiB allocated
Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New8253828
Fresh000
Picked303
Done000
Total8283831
Accuracy
100.0%
Counts
831 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
1.5%
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y))
9.6%
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
Compiler

Compiled 38 to 26 computations (31.6% saved)

simplify54.0ms (1%)

Memory
15.1MiB live, 53.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 y y)
cost-diff0
(neg.f64 y)
cost-diff0
(fma.f64 (neg.f64 y) y #s(literal 2 binary64))
cost-diff0
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
cost-diff0
(-.f64 #s(literal 2 binary64) (*.f64 y y))
cost-diff0
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
cost-diff0
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
cost-diff0
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y))
cost-diff-5504
(*.f64 (*.f64 x x) (*.f64 x x))
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64))
cost-diff0
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
Rules
1 344×lower-fma.f32
1 340×lower-fma.f64
672×lower-*.f32
660×lower-*.f64
300×distribute-lft-neg-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
023148
036148
172136
2145122
3324122
4455122
5623122
6898122
71205122
81406122
91460122
101471122
111473122
121475122
01475122
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
(*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64))
(*.f64 (*.f64 x x) (*.f64 x x))
(*.f64 x x)
x
#s(literal 9 binary64)
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(-.f64 #s(literal 2 binary64) (*.f64 y y))
#s(literal 2 binary64)
(*.f64 y y)
y
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
(fma.f64 (neg.f64 y) y #s(literal 2 binary64))
(neg.f64 y)
y
#s(literal 2 binary64)
(*.f64 y y)
(*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64))
(*.f64 (*.f64 x x) (*.f64 x x))
(*.f64 x x)
x
#s(literal 9 binary64)
Outputs
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(*.f64 (*.f64 x x) (*.f64 x x))
(pow.f64 x #s(literal 4 binary64))
(*.f64 x x)
x
#s(literal 9 binary64)
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y))
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (fma.f64 y y #s(literal -2 binary64)) y) (neg.f64 y)))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(*.f64 (*.f64 (fma.f64 y y #s(literal -2 binary64)) y) (neg.f64 y))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y)
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(fma.f64 (neg.f64 y) y #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 y y)
y
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
(fma.f64 (*.f64 (fma.f64 y y #s(literal -2 binary64)) y) (neg.f64 y) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(fma.f64 (neg.f64 y) y #s(literal 2 binary64))
(neg.f64 y)
y
#s(literal 2 binary64)
(*.f64 y y)
(*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(*.f64 (*.f64 x x) (*.f64 x x))
(pow.f64 x #s(literal 4 binary64))
(*.f64 x x)
x
#s(literal 9 binary64)

localize321.0ms (6.1%)

Memory
-263.3MiB live, 144.5MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 (*.f64 x x) (*.f64 x x))
accuracy0
(*.f64 y y)
accuracy0
(*.f64 x x)
accuracy0
(neg.f64 y)
accuracy0
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
accuracy0
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
accuracy0
(*.f64 y y)
accuracy63.038054683620885
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y))
accuracy0
(*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64))
accuracy0
(*.f64 (*.f64 x x) (*.f64 x x))
accuracy0
(*.f64 x x)
accuracy57.826291447367076
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
Samples
306.0ms256×0valid
Compiler

Compiled 133 to 24 computations (82% saved)

Precisions
Click to see histograms. Total time spent on operations: 292.0ms
ival-sub: 273.0ms (93.6% of total)
ival-mult: 13.0ms (4.5% of total)
ival-pow: 3.0ms (1% of total)
ival-add: 2.0ms (0.7% of total)
ival-neg: 1.0ms (0.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series15.0ms (0.3%)

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

6 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (* x x) (* x x)) 9) (* x x) (* (* x x) (* x x)) (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (- 2 (* y y)) y) y) (* (- 2 (* y y)) y) (- 2 (* y y)) (+ (* (+ (* (neg y) y) 2) (* y y)) (* (* (* x x) (* x x)) 9)) (+ (* (neg y) y) 2) (neg y) (* y y))
1.0ms
x
@inf
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (* x x) (* x x)) 9) (* x x) (* (* x x) (* x x)) (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (- 2 (* y y)) y) y) (* (- 2 (* y y)) y) (- 2 (* y y)) (+ (* (+ (* (neg y) y) 2) (* y y)) (* (* (* x x) (* x x)) 9)) (+ (* (neg y) y) 2) (neg y) (* y y))
1.0ms
y
@-inf
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (* x x) (* x x)) 9) (* x x) (* (* x x) (* x x)) (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (- 2 (* y y)) y) y) (* (- 2 (* y y)) y) (- 2 (* y y)) (+ (* (+ (* (neg y) y) 2) (* y y)) (* (* (* x x) (* x x)) 9)) (+ (* (neg y) y) 2) (neg y) (* y y))
1.0ms
y
@inf
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (* x x) (* x x)) 9) (* x x) (* (* x x) (* x x)) (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (- 2 (* y y)) y) y) (* (- 2 (* y y)) y) (- 2 (* y y)) (+ (* (+ (* (neg y) y) 2) (* y y)) (* (* (* x x) (* x x)) 9)) (+ (* (neg y) y) 2) (neg y) (* y y))
1.0ms
x
@0
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (* x x) (* x x)) 9) (* x x) (* (* x x) (* x x)) (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (- 2 (* y y)) y) y) (* (- 2 (* y y)) y) (- 2 (* y y)) (+ (* (+ (* (neg y) y) 2) (* y y)) (* (* (* x x) (* x x)) 9)) (+ (* (neg y) y) 2) (neg y) (* y y))

simplify135.0ms (2.6%)

Memory
45.3MiB live, 238.1MiB allocated
Algorithm
egg-herbie
Rules
11 882×lower-fma.f64
11 882×lower-fma.f32
4 276×lower-*.f64
4 276×lower-*.f32
1 442×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0501416
11341326
23161326
39871326
429841326
558681326
082311278
Stop Event
iter limit
node limit
Counts
180 → 180
Calls
Call 1
Inputs
(* 9 (pow x 4))
(+ (* 2 (pow y 2)) (* 9 (pow x 4)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(* 9 (pow x 4))
(+ (* 2 (pow y 2)) (* 9 (pow x 4)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(* 2 (pow y 2))
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(* 2 y)
(* y (+ 2 (* -1 (pow y 2))))
(* y (+ 2 (* -1 (pow y 2))))
(* y (+ 2 (* -1 (pow y 2))))
2
(+ 2 (* -1 (pow y 2)))
(+ 2 (* -1 (pow y 2)))
(+ 2 (* -1 (pow y 2)))
(* 9 (pow x 4))
(+ (* 2 (pow y 2)) (* 9 (pow x 4)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
2
(+ 2 (* -1 (pow y 2)))
(+ 2 (* -1 (pow y 2)))
(+ 2 (* -1 (pow y 2)))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 (pow y 3))
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 (pow y 2))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* -1 (pow y 2))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 (pow y 3))
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(* -1 (pow y 2))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* -1 (pow y 2))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(pow y 2)
(pow y 2)
(pow y 2)
(pow y 2)
(* -1 (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 4)
(pow x 4)
(pow x 4)
(pow x 4)
(* -1 (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(* 9 (pow x 4))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 4)
(pow x 4)
(pow x 4)
(pow x 4)
(* 9 (pow x 4))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* 9 (pow x 4))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(* 9 (pow x 4))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(* 9 (pow x 4))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 4)
(pow x 4)
(pow x 4)
(pow x 4)
(* 9 (pow x 4))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* 9 (pow x 4))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
Outputs
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(+ (* 2 (pow y 2)) (* 9 (pow x 4)))
(fma.f64 (*.f64 y y) #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(+ (* 2 (pow y 2)) (* 9 (pow x 4)))
(fma.f64 (*.f64 y y) #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 2 (pow y 2))
(*.f64 (*.f64 y y) #s(literal 2 binary64))
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (* -1 (pow y 2))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* y (+ 2 (* -1 (pow y 2))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* y (+ 2 (* -1 (pow y 2))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
2
#s(literal 2 binary64)
(+ 2 (* -1 (pow y 2)))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(+ 2 (* -1 (pow y 2)))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(+ 2 (* -1 (pow y 2)))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(+ (* 2 (pow y 2)) (* 9 (pow x 4)))
(fma.f64 (*.f64 y y) #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
2
#s(literal 2 binary64)
(+ 2 (* -1 (pow y 2)))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(+ 2 (* -1 (pow y 2)))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(+ 2 (* -1 (pow y 2)))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* -1 (pow y 3))
(pow.f64 (neg.f64 y) #s(literal 3 binary64))
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* -1 (pow y 2))
(*.f64 (neg.f64 y) y)
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* -1 (pow y 2))
(*.f64 (neg.f64 y) y)
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* -1 (pow y 3))
(pow.f64 (neg.f64 y) #s(literal 3 binary64))
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* -1 (pow y 2))
(*.f64 (neg.f64 y) y)
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* -1 (pow y 2))
(*.f64 (neg.f64 y) y)
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(pow y 2)
(*.f64 y y)
(* -1 (* (pow y 2) (- (pow y 2) 2)))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(* -1 (* (pow y 2) (- (pow y 2) 2)))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(pow x 4)
(pow.f64 x #s(literal 4 binary64))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(* (pow x 4) (+ 9 (/ (* (pow y 2) (+ 2 (* -1 (pow y 2)))) (pow x 4))))
(fma.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))

rewrite185.0ms (3.5%)

Memory
-1.4MiB live, 316.2MiB allocated
Rules
12 836×lower-fma.f32
12 832×lower-fma.f64
5 274×lower-*.f32
5 262×lower-*.f64
2 792×lower-/.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
023118
036102
1142102
2934100
09392100
Stop Event
iter limit
node limit
iter limit
Counts
12 → 552
Calls
Call 1
Inputs
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
(*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64))
(*.f64 x x)
(*.f64 (*.f64 x x) (*.f64 x x))
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
(fma.f64 (neg.f64 y) y #s(literal 2 binary64))
(neg.f64 y)
(*.f64 y y)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval117.0ms (2.2%)

Memory
-1.9MiB live, 265.9MiB allocated
Compiler

Compiled 17 184 to 1 859 computations (89.2% saved)

prune22.0ms (0.4%)

Memory
-4.2MiB live, 73.1MiB allocated
Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New8641865
Fresh000
Picked213
Done000
Total8662868
Accuracy
100.0%
Counts
868 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
11.1%
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y))
Compiler

Compiled 25 to 18 computations (28% saved)

simplify46.0ms (0.9%)

Memory
7.0MiB live, 45.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (- 2 (* y y)) #s(literal 2 binary64))
cost-diff0
(*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y)
cost-diff0
(*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y)
cost-diff0
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y))
Rules
1 008×lower-fma.f64
1 008×lower-fma.f32
480×lower-*.f32
476×lower-*.f64
232×distribute-lft-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01656
01856
13756
27956
319456
430856
540256
658456
781856
8104256
9118856
10124156
11146456
12146656
13146956
14147156
0147155
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y))
(*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y)
(*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y)
#s(approx (- 2 (* y y)) #s(literal 2 binary64))
#s(literal 2 binary64)
y
Outputs
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y))
(*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y)
(*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y)
#s(approx (- 2 (* y y)) #s(literal 2 binary64))
#s(literal 2 binary64)
y

localize33.0ms (0.6%)

Memory
-15.6MiB live, 65.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y)
accuracy0
(*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y)
accuracy63.01911743068786
#s(approx (- 2 (* y y)) #s(literal 2 binary64))
accuracy63.038054683620885
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y))
Samples
25.0ms256×0valid
Compiler

Compiled 40 to 16 computations (60% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult: 12.0ms (66.5% of total)
ival-sub: 3.0ms (16.6% of total)
ival-pow: 2.0ms (11.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series6.0ms (0.1%)

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

6 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (- 2 (* y y)) y) y) (* (- 2 (* y y)) y) (- 2 (* y y)))
1.0ms
y
@inf
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (- 2 (* y y)) y) y) (* (- 2 (* y y)) y) (- 2 (* y y)))
1.0ms
x
@inf
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (- 2 (* y y)) y) y) (* (- 2 (* y y)) y) (- 2 (* y y)))
1.0ms
x
@-inf
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (- 2 (* y y)) y) y) (* (- 2 (* y y)) y) (- 2 (* y y)))
1.0ms
y
@0
((- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (* (* (- 2 (* y y)) y) y) (* (- 2 (* y y)) y) (- 2 (* y y)))

simplify147.0ms (2.8%)

Memory
8.4MiB live, 201.4MiB allocated
Algorithm
egg-herbie
Rules
13 978×lower-fma.f64
13 978×lower-fma.f32
4 406×lower-*.f64
4 406×lower-*.f32
1 412×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045553
1117508
2293508
3976508
42911508
55773508
08342492
Stop Event
iter limit
node limit
Counts
60 → 60
Calls
Call 1
Inputs
(* 9 (pow x 4))
(+ (* 2 (pow y 2)) (* 9 (pow x 4)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(* 2 (pow y 2))
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(* 2 y)
(* y (+ 2 (* -1 (pow y 2))))
(* y (+ 2 (* -1 (pow y 2))))
(* y (+ 2 (* -1 (pow y 2))))
2
(+ 2 (* -1 (pow y 2)))
(+ 2 (* -1 (pow y 2)))
(+ 2 (* -1 (pow y 2)))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 (pow y 3))
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 (pow y 2))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(* -1 (pow y 4))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 (pow y 3))
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(* -1 (pow y 2))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(* -1 (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(* 9 (pow x 4))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* 9 (pow x 4))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
Outputs
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(+ (* 2 (pow y 2)) (* 9 (pow x 4)))
(fma.f64 (*.f64 y y) #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))
(+ (* 9 (pow x 4)) (* (pow y 2) (+ 2 (* -1 (pow y 2)))))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))
(* 2 (pow y 2))
(*.f64 (*.f64 y y) #s(literal 2 binary64))
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 2) (+ 2 (* -1 (pow y 2))))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* 2 y)
(*.f64 y #s(literal 2 binary64))
(* y (+ 2 (* -1 (pow y 2))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* y (+ 2 (* -1 (pow y 2))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* y (+ 2 (* -1 (pow y 2))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
2
#s(literal 2 binary64)
(+ 2 (* -1 (pow y 2)))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(+ 2 (* -1 (pow y 2)))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(+ 2 (* -1 (pow y 2)))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* -1 (pow y 3))
(pow.f64 (neg.f64 y) #s(literal 3 binary64))
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* (pow y 3) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* -1 (pow y 2))
(*.f64 (neg.f64 y) y)
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))
(* (pow y 4) (- (+ (* 9 (/ (pow x 4) (pow y 4))) (* 2 (/ 1 (pow y 2)))) 1))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))
(* -1 (pow y 4))
(neg.f64 (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* (pow y 4) (- (* 2 (/ 1 (pow y 2))) 1))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(* -1 (pow y 3))
(pow.f64 (neg.f64 y) #s(literal 3 binary64))
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* -1 (* (pow y 3) (- 1 (* 2 (/ 1 (pow y 2))))))
(*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y)
(* -1 (pow y 2))
(*.f64 (neg.f64 y) y)
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* (pow y 2) (- (* 2 (/ 1 (pow y 2))) 1))
(-.f64 #s(literal 2 binary64) (*.f64 y y))
(* -1 (* (pow y 2) (- (pow y 2) 2)))
(*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y)
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))
(- (* 9 (pow x 4)) (* (pow y 2) (- (pow y 2) 2)))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))
(* 9 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))
(* (pow x 4) (+ 9 (* -1 (/ (* (pow y 2) (- (pow y 2) 2)) (pow x 4)))))
(neg.f64 (fma.f64 #s(literal -9 binary64) (pow.f64 x #s(literal 4 binary64)) (fma.f64 #s(literal -2 binary64) (*.f64 y y) (pow.f64 y #s(literal 4 binary64)))))

rewrite137.0ms (2.6%)

Memory
25.2MiB live, 216.3MiB allocated
Rules
6 764×lower-fma.f64
6 764×lower-fma.f32
4 578×lower-*.f32
4 574×lower-*.f64
2 018×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01654
01854
17854
254254
3592454
0825353
Stop Event
iter limit
node limit
iter limit
Counts
4 → 8
Calls
Call 1
Inputs
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y))
(*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y)
(*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y)
#s(approx (- 2 (* y y)) #s(literal 2 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval22.0ms (0.4%)

Memory
-10.6MiB live, 36.8MiB allocated
Compiler

Compiled 716 to 66 computations (90.8% saved)

prune9.0ms (0.2%)

Memory
-22.0MiB live, 16.1MiB allocated
Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New68068
Fresh000
Picked011
Done011
Total68270
Accuracy
100.0%
Counts
70 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
11.1%
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y))
Compiler

Compiled 123 to 52 computations (57.7% saved)

regimes20.0ms (0.4%)

Memory
2.9MiB live, 41.1MiB allocated
Counts
8 → 1
Calls
Call 1
Inputs
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y))
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y))
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
(fma.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal 9 binary64)) x) x (*.f64 (*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y) y))
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)))
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
Outputs
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
Calls

7 calls:

5.0ms
y
2.0ms
x
2.0ms
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
2.0ms
(pow.f64 x #s(literal 4 binary64))
2.0ms
(*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64)))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
100.0%1(*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64)))
100.0%1(pow.f64 x #s(literal 4 binary64))
100.0%1(*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64)))
100.0%1(*.f64 y y)
Compiler

Compiled 37 to 34 computations (8.1% saved)

regimes11.0ms (0.2%)

Memory
27.7MiB live, 27.7MiB allocated
Accuracy

Total -6.2b remaining (-10.8%)

Threshold costs -6.2b (-10.8%)

Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y))
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (-.f64 #s(literal 2 binary64) (*.f64 y y)) y) y))
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
(fma.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal 9 binary64)) x) x (*.f64 (*.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) y) y))
Outputs
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y))
Calls

7 calls:

2.0ms
(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
2.0ms
(*.f64 y y)
2.0ms
(*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64)))
1.0ms
(pow.f64 x #s(literal 4 binary64))
1.0ms
(*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
11.1%1x
11.1%1y
11.1%1(-.f64 (*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64))))
11.1%1(*.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64)))
11.1%1(pow.f64 x #s(literal 4 binary64))
11.1%1(*.f64 (*.f64 y y) (-.f64 (*.f64 y y) #s(literal 2 binary64)))
11.1%1(*.f64 y y)
Compiler

Compiled 37 to 34 computations (8.1% saved)

simplify27.0ms (0.5%)

Memory
-26.5MiB live, 54.4MiB 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
02345
13045
23245
33345
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y))
Outputs
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) #s(literal 9 binary64)))
(fma.f64 (fma.f64 (neg.f64 y) y #s(literal 2 binary64)) (*.f64 y y) (*.f64 #s(literal 9 binary64) (*.f64 (*.f64 x x) (*.f64 x x))))
#s(approx (- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))) (*.f64 (*.f64 #s(approx (- 2 (* y y)) #s(literal 2 binary64)) y) y))

soundness834.0ms (15.8%)

Memory
18.5MiB live, 595.1MiB allocated
Rules
13 152×lower-fma.f32
13 148×lower-fma.f64
11 882×lower-fma.f64
11 882×lower-fma.f32
11 882×lower-fma.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01140
01740
16240
241940
3477640
0884037
0511109
11361046
23221046
39971046
429951046
558751046
082331014
040583
197568
2240568
3689562
42431562
56192562
08236528
0501416
11341326
23161326
39871326
429841326
558681326
082311278
02381
03581
112178
284878
0955174
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 111 to 60 computations (45.9% saved)

preprocess50.0ms (1%)

Memory
6.8MiB live, 91.6MiB allocated
Remove

(abs x)

(abs y)

Compiler

Compiled 224 to 140 computations (37.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...