Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, A

Time bar (total: 6.0s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

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

Compiled 9 to 7 computations (22.2% saved)

sample824.0ms (13.7%)

Memory
38.7MiB live, 947.7MiB allocated
Samples
613.0ms8 254×0valid
0.0ms1valid
Precisions
Click to see histograms. Total time spent on operations: 363.0ms
ival-mult: 200.0ms (55.2% of total)
ival-add: 116.0ms (32% of total)
ival-sub: 37.0ms (10.2% of total)
ival-true: 6.0ms (1.7% of total)
ival-assert: 3.0ms (0.8% of total)
adjust: 0.0ms (0% of total)
Bogosity

explain65.0ms (1.1%)

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

Compiled 41 to 19 computations (53.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 4.0ms (41.5% of total)
ival-add: 3.0ms (31.1% of total)
ival-sub: 2.0ms (20.7% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess51.0ms (0.9%)

Memory
-13.1MiB live, 66.6MiB allocated
Algorithm
egg-herbie
Rules
496×lower-fma.f64
496×lower-fma.f32
234×cancel-sign-sub-inv
200×sub-neg
192×lower-*.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01541
15635
216535
345035
495735
5122435
6124835
057
087
1177
2377
3667
41087
52237
63467
75097
85447
95467
05466
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(-.f64 (+.f64 x y) (*.f64 x y))
Outputs
(-.f64 (+.f64 x y) (*.f64 x y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
Symmetry

(sort x y)

Compiler

Compiled 7 to 5 computations (28.6% saved)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 7 to 5 computations (28.6% saved)

simplify18.0ms (0.3%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x y)
cost-diff0
(+.f64 x y)
cost-diff128
(-.f64 (+.f64 x y) (*.f64 x y))
Rules
496×lower-fma.f64
496×lower-fma.f32
192×lower-*.f32
190×lower-*.f64
136×lower-+.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0515
0815
11715
23715
36615
410815
522315
634615
750915
854415
954615
054614
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(-.f64 (+.f64 x y) (*.f64 x y))
(+.f64 x y)
x
y
(*.f64 x y)
Outputs
(-.f64 (+.f64 x y) (*.f64 x y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+.f64 x y)
(+.f64 y x)
x
y
(*.f64 x y)
(*.f64 y x)

localize18.0ms (0.3%)

Memory
-7.7MiB live, 31.0MiB allocated
Localize:

Found 3 expressions of interest:

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

Compiled 17 to 7 computations (58.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-add: 3.0ms (47.2% of total)
ival-mult: 2.0ms (31.5% of total)
ival-sub: 1.0ms (15.7% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.1%)

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

6 calls:

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

simplify289.0ms (4.8%)

Memory
-33.1MiB live, 205.6MiB allocated
Algorithm
egg-herbie
Rules
19 840×lower-fma.f64
19 840×lower-fma.f32
4 002×associate-*r/
3 856×lower-/.f32
3 856×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
042280
1125280
2282280
3843280
42196280
53219280
64113280
74716280
85053280
95271280
105366280
115406280
125426280
135426280
145444280
155444280
09619262
Stop Event
iter limit
node limit
Counts
72 → 64
Calls
Call 1
Inputs
x
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
x
(+ x y)
(+ x y)
(+ x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* y (- 1 x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
y
(* y (+ 1 (/ x y)))
(* y (+ 1 (/ x y)))
(* y (+ 1 (/ x y)))
(* x y)
(* x y)
(* x y)
(* x y)
(* y (+ 1 (* -1 x)))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
y
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* x y)
(* x y)
(* x y)
(* x y)
y
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
y
(+ x y)
(+ x y)
(+ x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x (- 1 y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
x
(* x (+ 1 (/ y x)))
(* x (+ 1 (/ y x)))
(* x (+ 1 (/ y x)))
(* x y)
(* x y)
(* x y)
(* x y)
(* x (+ 1 (* -1 y)))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
x
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* x y)
(* x y)
(* x y)
(* x y)
Outputs
x
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
x
(+ x y)
(+.f64 y x)
(+ x y)
(+.f64 y x)
(+ x y)
(+.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
y
(* y (+ 1 (/ x y)))
(+.f64 y x)
(* y (+ 1 (/ x y)))
(+.f64 y x)
(* y (+ 1 (/ x y)))
(+.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
y
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+.f64 y x)
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+.f64 y x)
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
y
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
y
(+ x y)
(+.f64 y x)
(+ x y)
(+.f64 y x)
(+ x y)
(+.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
x
(* x (+ 1 (/ y x)))
(+.f64 y x)
(* x (+ 1 (/ y x)))
(+.f64 y x)
(* x (+ 1 (/ y x)))
(+.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
x
(* -1 (* x (- (* -1 (/ y x)) 1)))
(+.f64 y x)
(* -1 (* x (- (* -1 (/ y x)) 1)))
(+.f64 y x)
(* -1 (* x (- (* -1 (/ y x)) 1)))
(+.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)

rewrite229.0ms (3.8%)

Memory
4.8MiB live, 160.2MiB allocated
Rules
5 194×lower-fma.f64
5 194×lower-fma.f32
4 332×lower-*.f32
4 330×lower-*.f64
2 332×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0513
0813
14113
235613
3536213
0830413
Stop Event
iter limit
node limit
iter limit
Counts
3 → 189
Calls
Call 1
Inputs
(-.f64 (+.f64 x y) (*.f64 x y))
(+.f64 x y)
(*.f64 x y)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval48.0ms (0.8%)

Memory
24.5MiB live, 70.6MiB allocated
Compiler

Compiled 5 320 to 566 computations (89.4% saved)

prune9.0ms (0.1%)

Memory
-19.5MiB live, 18.4MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2503253
Fresh000
Picked011
Done000
Total2504254
Accuracy
100.0%
Counts
254 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (+.f64 x y) (*.f64 x y))
100.0%
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
67.5%
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
63.1%
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
Compiler

Compiled 26 to 23 computations (11.5% saved)

simplify19.0ms (0.3%)

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

Found 9 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 #s(literal 1 binary64) x)
cost-diff0
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
cost-diff0
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
cost-diff0
(-.f64 #s(literal 1 binary64) y)
cost-diff0
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
cost-diff0
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
cost-diff0
(-.f64 #s(literal 1 binary64) x)
cost-diff0
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
cost-diff0
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
Rules
496×lower-fma.f32
494×lower-fma.f64
192×lower-*.f32
188×lower-*.f64
136×lower-+.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01474
01974
13674
26671
39871
417171
529771
644071
752371
855371
055371
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
y
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
x
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
y
Outputs
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
y
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
x
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) y) x y))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
y

localize51.0ms (0.8%)

Memory
-8.2MiB live, 29.5MiB allocated
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 #s(literal 1 binary64) x)
accuracy0
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
accuracy0.00390625
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
accuracy0
(-.f64 #s(literal 1 binary64) y)
accuracy0.01171875
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
accuracy20.814859930825584
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
accuracy0
(-.f64 #s(literal 1 binary64) x)
accuracy0.0078125
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
accuracy23.590381859069623
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
Samples
21.0ms256×0valid
Compiler

Compiled 58 to 13 computations (77.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 5.0ms (44.3% of total)
ival-sub: 3.0ms (26.6% of total)
ival-add: 3.0ms (26.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series10.0ms (0.2%)

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

6 calls:

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

simplify289.0ms (4.8%)

Memory
-26.8MiB live, 132.2MiB allocated
Algorithm
egg-herbie
Rules
4 268×lower-fma.f64
4 268×lower-fma.f32
4 064×lower-*.f64
4 064×lower-*.f32
2 480×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071913
1221884
2541884
31326884
42656884
53882884
64466884
74902884
85099884
95189884
105934884
116106884
126336884
137080884
08004812
Stop Event
iter limit
node limit
Counts
168 → 158
Calls
Call 1
Inputs
x
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(* y (- 1 x))
(* y (- 1 x))
(* y (- 1 x))
(* y (- 1 x))
x
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
x
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
1
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(+ 1 (* -1 y))
x
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
x
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(* y (- 1 x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- 1 x))
(* y (- 1 x))
(* y (- 1 x))
(* y (- 1 x))
(* y (- 1 x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* -1 (* x y))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- 1 x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- 1 x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (+ 1 (* -1 x)))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* y (- 1 x))
(* y (- 1 x))
(* y (- 1 x))
(* y (- 1 x))
(* y (+ 1 (* -1 x)))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* x y))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 y)
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* y (+ 1 (* -1 x)))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* y (- 1 x))
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))
y
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
y
(+ y (* -1 (* x y)))
(+ y (* -1 (* x y)))
(+ y (* -1 (* x y)))
1
(+ 1 (* -1 x))
(+ 1 (* -1 x))
(+ 1 (* -1 x))
y
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
y
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
y
(+ y (* x (+ 1 (* -1 y))))
(+ y (* x (+ 1 (* -1 y))))
(+ y (* x (+ 1 (* -1 y))))
(* x (- 1 y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* -1 (* x y))
(* x (+ (* -1 y) (/ y x)))
(* x (+ (* -1 y) (/ y x)))
(* x (+ (* -1 y) (/ y x)))
(* -1 x)
(* x (- (/ 1 x) 1))
(* x (- (/ 1 x) 1))
(* x (- (/ 1 x) 1))
(* x (- 1 y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (+ 1 (* -1 y)))
(* x (+ 1 (+ (* -1 y) (/ y x))))
(* x (+ 1 (+ (* -1 y) (/ y x))))
(* x (+ 1 (+ (* -1 y) (/ y x))))
(* x (+ 1 (* -1 y)))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x y))
(* -1 (* x (+ y (* -1 (/ y x)))))
(* -1 (* x (+ y (* -1 (/ y x)))))
(* -1 (* x (+ y (* -1 (/ y x)))))
(* -1 x)
(* -1 (* x (- 1 (/ 1 x))))
(* -1 (* x (- 1 (/ 1 x))))
(* -1 (* x (- 1 (/ 1 x))))
(* x (+ 1 (* -1 y)))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (+ 1 (* -1 y)))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- y 1)))
(* -1 (* x (- (+ y (* -1 (/ y x))) 1)))
(* -1 (* x (- (+ y (* -1 (/ y x))) 1)))
(* -1 (* x (- (+ y (* -1 (/ y x))) 1)))
Outputs
x
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
x
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
x
(+ x (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(+ x (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(+ x (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
1
#s(literal 1 binary64)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
x
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
x
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* y (+ (* -1 x) (/ x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* y (+ (* -1 x) (/ x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* y (+ (* -1 x) (/ x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 y)
(neg.f64 y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* -1 (* y (+ x (* -1 (/ x y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* y (+ x (* -1 (/ x y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* y (+ x (* -1 (/ x y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
y
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
y
(+ y (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(+ y (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(+ y (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
1
#s(literal 1 binary64)
(+ 1 (* -1 x))
(-.f64 #s(literal 1 binary64) x)
(+ 1 (* -1 x))
(-.f64 #s(literal 1 binary64) x)
(+ 1 (* -1 x))
(-.f64 #s(literal 1 binary64) x)
y
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
y
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
y
(+ y (* x (+ 1 (* -1 y))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (+ 1 (* -1 y))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (+ 1 (* -1 y))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* x (+ (* -1 y) (/ y x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* x (+ (* -1 y) (/ y x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* x (+ (* -1 y) (/ y x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 x)
(neg.f64 x)
(* x (- (/ 1 x) 1))
(-.f64 #s(literal 1 binary64) x)
(* x (- (/ 1 x) 1))
(-.f64 #s(literal 1 binary64) x)
(* x (- (/ 1 x) 1))
(-.f64 #s(literal 1 binary64) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (+ 1 (+ (* -1 y) (/ y x))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (+ 1 (+ (* -1 y) (/ y x))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (+ 1 (+ (* -1 y) (/ y x))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* -1 (* x (+ y (* -1 (/ y x)))))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* x (+ y (* -1 (/ y x)))))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* x (+ y (* -1 (/ y x)))))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 x)
(neg.f64 x)
(* -1 (* x (- 1 (/ 1 x))))
(-.f64 #s(literal 1 binary64) x)
(* -1 (* x (- 1 (/ 1 x))))
(-.f64 #s(literal 1 binary64) x)
(* -1 (* x (- 1 (/ 1 x))))
(-.f64 #s(literal 1 binary64) x)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- y 1)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* x (- (+ y (* -1 (/ y x))) 1)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (+ y (* -1 (/ y x))) 1)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (+ y (* -1 (/ y x))) 1)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)

rewrite317.0ms (5.3%)

Memory
3.3MiB live, 177.4MiB allocated
Rules
8 172×lower-fma.f32
8 170×lower-fma.f64
5 766×lower-*.f32
5 762×lower-*.f64
4 076×lower-/.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01462
01962
18859
270859
0848059
Stop Event
iter limit
node limit
iter limit
Counts
8 → 332
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(-.f64 #s(literal 1 binary64) x)
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(-.f64 #s(literal 1 binary64) y)
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval109.0ms (1.8%)

Memory
6.6MiB live, 88.3MiB allocated
Compiler

Compiled 8 929 to 1 348 computations (84.9% saved)

prune46.0ms (0.8%)

Memory
-6.1MiB live, 31.9MiB allocated
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New5436549
Fresh000
Picked303
Done101
Total5476553
Accuracy
100.0%
Counts
553 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
63.1%
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x y))
67.5%
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x))
70.8%
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
31.2%
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))
38.2%
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x))
34.9%
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y))
Compiler

Compiled 68 to 68 computations (0% saved)

simplify69.0ms (1.2%)

Memory
-8.5MiB live, 28.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 y)
cost-diff0
(fma.f64 (neg.f64 y) x x)
cost-diff0
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x))
cost-diff0
(neg.f64 y)
cost-diff0
#s(approx (- 1 y) (neg.f64 y))
cost-diff0
(*.f64 #s(approx (- 1 y) (neg.f64 y)) x)
cost-diff0
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))
cost-diff0
#s(approx (- 1 y) #s(literal 1 binary64))
cost-diff0
(*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x)
cost-diff0
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x))
cost-diff0
#s(approx (- 1 x) #s(literal 1 binary64))
cost-diff0
(*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y)
cost-diff0
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y))
cost-diff0
#s(approx (- 1 x) #s(literal 1 binary64))
cost-diff0
(fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)
cost-diff0
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
Rules
704×lower-fma.f32
700×lower-fma.f64
352×lower-*.f32
346×lower-*.f64
200×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022146
029146
155146
276146
3116146
4166146
5357146
6483146
7614146
8790146
9924146
10945146
11951146
12960146
13966146
0966141
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)
#s(approx (- 1 x) #s(literal 1 binary64))
#s(literal 1 binary64)
y
x
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y))
(*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y)
#s(approx (- 1 x) #s(literal 1 binary64))
#s(literal 1 binary64)
y
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x))
(*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x)
#s(approx (- 1 y) #s(literal 1 binary64))
#s(literal 1 binary64)
x
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))
(*.f64 #s(approx (- 1 y) (neg.f64 y)) x)
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
y
x
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x))
(fma.f64 (neg.f64 y) x x)
(neg.f64 y)
y
x
Outputs
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)
#s(approx (- 1 x) #s(literal 1 binary64))
#s(literal 1 binary64)
y
x
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y))
(*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y)
#s(approx (- 1 x) #s(literal 1 binary64))
#s(literal 1 binary64)
y
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x))
(*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x)
#s(approx (- 1 y) #s(literal 1 binary64))
#s(literal 1 binary64)
x
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))
(*.f64 #s(approx (- 1 y) (neg.f64 y)) x)
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
y
x
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x))
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
(fma.f64 (neg.f64 y) x x)
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(neg.f64 y)
y
x

localize64.0ms (1.1%)

Memory
20.8MiB live, 59.1MiB allocated
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 (neg.f64 y) x x)
accuracy0
(neg.f64 y)
accuracy20.814859930825584
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x))
accuracy0
(neg.f64 y)
accuracy0.01171875
(*.f64 #s(approx (- 1 y) (neg.f64 y)) x)
accuracy20.814859930825584
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))
accuracy29.866798141177007
#s(approx (- 1 y) (neg.f64 y))
accuracy0.01171875
(*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x)
accuracy20.814859930825584
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x))
accuracy34.238087156482294
#s(approx (- 1 y) #s(literal 1 binary64))
accuracy0.0078125
(*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y)
accuracy23.590381859069623
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y))
accuracy33.710328843873874
#s(approx (- 1 x) #s(literal 1 binary64))
accuracy0
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
accuracy0.00390625
(fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)
accuracy33.710328843873874
#s(approx (- 1 x) #s(literal 1 binary64))
Samples
54.0ms256×0valid
Compiler

Compiled 92 to 16 computations (82.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 42.0ms
ival-sub: 30.0ms (72% of total)
ival-mult: 6.0ms (14.4% of total)
ival-add: 4.0ms (9.6% of total)
ival-neg: 1.0ms (2.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series47.0ms (0.8%)

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

6 calls:

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

simplify240.0ms (4%)

Memory
13.3MiB live, 128.7MiB allocated
Algorithm
egg-herbie
Rules
4 304×lower-fma.f64
4 304×lower-fma.f32
4 152×lower-*.f64
4 152×lower-*.f32
2 480×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711539
12211464
25411464
313161464
426471464
538631464
644481464
748841464
850811464
951711464
1059101464
1160791464
1263091464
1370531464
080201356
Stop Event
iter limit
node limit
Counts
288 → 272
Calls
Call 1
Inputs
x
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
x
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
x
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(* y (- 1 x))
(* y (- 1 x))
(* y (- 1 x))
(* y (- 1 x))
x
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
x
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
1
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(+ 1 (* -1 y))
x
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
x
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
1
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
x
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
x
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
(+ x (* -1 (* x y)))
(* y (- 1 x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- 1 x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- 1 x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- 1 x))
(* y (- 1 x))
(* y (- 1 x))
(* y (- 1 x))
(* y (- 1 x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* -1 (* x y))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- 1 x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* -1 (* x y))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* y (- 1 x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* -1 (* x y))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* y (+ (* -1 x) (/ x y)))
(* y (+ 1 (* -1 x)))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* y (- 1 x))
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))
(* y (+ 1 (* -1 x)))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* y (- 1 x))
(* y (- 1 x))
(* y (- 1 x))
(* y (- 1 x))
(* y (+ 1 (* -1 x)))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* x y))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 y)
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* y (+ 1 (* -1 x)))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* x y))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 y)
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* y (+ 1 (* -1 x)))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* x y))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
(* -1 (* y (+ x (* -1 (/ x y)))))
y
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
y
(+ y (* x (+ 1 (* -1 y))))
(+ y (* x (+ 1 (* -1 y))))
(+ y (* x (+ 1 (* -1 y))))
1
(+ 1 (* -1 x))
(+ 1 (* -1 x))
(+ 1 (* -1 x))
y
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
y
(+ y (* -1 (* x y)))
(+ y (* -1 (* x y)))
(+ y (* -1 (* x y)))
y
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
y
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
y
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
(* x (+ 1 (* -1 y)))
(* x (+ 1 (* -1 y)))
(* x (+ 1 (* -1 y)))
(* x (+ 1 (* -1 y)))
(* x (- 1 y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (+ 1 (* -1 y)))
(* x (+ 1 (+ (* -1 y) (/ y x))))
(* x (+ 1 (+ (* -1 y) (/ y x))))
(* x (+ 1 (+ (* -1 y) (/ y x))))
(* -1 x)
(* x (- (/ 1 x) 1))
(* x (- (/ 1 x) 1))
(* x (- (/ 1 x) 1))
(* x (- 1 y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* -1 (* x y))
(* x (+ (* -1 y) (/ y x)))
(* x (+ (* -1 y) (/ y x)))
(* x (+ (* -1 y) (/ y x)))
(* x (- 1 y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (+ 1 (* -1 y)))
(* x (+ 1 (* -1 y)))
(* x (+ 1 (* -1 y)))
(* x (+ 1 (* -1 y)))
(* x (+ 1 (* -1 y)))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- y 1)))
(* -1 (* x (- (+ y (* -1 (/ y x))) 1)))
(* -1 (* x (- (+ y (* -1 (/ y x))) 1)))
(* -1 (* x (- (+ y (* -1 (/ y x))) 1)))
(* -1 x)
(* -1 (* x (- 1 (/ 1 x))))
(* -1 (* x (- 1 (/ 1 x))))
(* -1 (* x (- 1 (/ 1 x))))
(* x (+ 1 (* -1 y)))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x y))
(* -1 (* x (+ y (* -1 (/ y x)))))
(* -1 (* x (+ y (* -1 (/ y x)))))
(* -1 (* x (+ y (* -1 (/ y x)))))
(* x (+ 1 (* -1 y)))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (+ 1 (* -1 y)))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (- 1 y))
(* x (+ 1 (* -1 y)))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- y 1)))
(* -1 (* x (- y 1)))
(* -1 (* x (- y 1)))
(* -1 (* x (- y 1)))
Outputs
x
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
x
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
x
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
x
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
x
(+ x (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(+ x (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(+ x (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
1
#s(literal 1 binary64)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
x
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
x
(+ x (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(+ x (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(+ x (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
1
#s(literal 1 binary64)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
x
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
x
(+ x (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(+ x (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(+ x (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* y (+ (* -1 x) (/ x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* y (+ (* -1 x) (/ x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* y (+ (* -1 x) (/ x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 y)
(neg.f64 y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* y (+ (* -1 x) (/ x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* y (+ (* -1 x) (/ x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* y (+ (* -1 x) (/ x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 y)
(neg.f64 y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* y (+ (* -1 x) (/ x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* y (+ (* -1 x) (/ x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* y (+ (* -1 x) (/ x y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (+ (* -1 (- 1 x)) (* -1 (/ x y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* -1 (* y (+ x (* -1 (/ x y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* y (+ x (* -1 (/ x y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* y (+ x (* -1 (/ x y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* -1 (* y (+ x (* -1 (/ x y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* y (+ x (* -1 (/ x y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* y (+ x (* -1 (/ x y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* -1 (* y (+ x (* -1 (/ x y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* y (+ x (* -1 (/ x y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* y (+ x (* -1 (/ x y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
y
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
y
(+ y (* x (+ 1 (* -1 y))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (+ 1 (* -1 y))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (+ 1 (* -1 y))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
1
#s(literal 1 binary64)
(+ 1 (* -1 x))
(-.f64 #s(literal 1 binary64) x)
(+ 1 (* -1 x))
(-.f64 #s(literal 1 binary64) x)
(+ 1 (* -1 x))
(-.f64 #s(literal 1 binary64) x)
y
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
y
(+ y (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(+ y (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(+ y (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
y
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
y
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
y
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (+ 1 (+ (* -1 y) (/ y x))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (+ 1 (+ (* -1 y) (/ y x))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (+ 1 (+ (* -1 y) (/ y x))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 x)
(neg.f64 x)
(* x (- (/ 1 x) 1))
(-.f64 #s(literal 1 binary64) x)
(* x (- (/ 1 x) 1))
(-.f64 #s(literal 1 binary64) x)
(* x (- (/ 1 x) 1))
(-.f64 #s(literal 1 binary64) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* x (+ (* -1 y) (/ y x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* x (+ (* -1 y) (/ y x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* x (+ (* -1 y) (/ y x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- y 1)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* x (- (+ y (* -1 (/ y x))) 1)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (+ y (* -1 (/ y x))) 1)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (+ y (* -1 (/ y x))) 1)))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 x)
(neg.f64 x)
(* -1 (* x (- 1 (/ 1 x))))
(-.f64 #s(literal 1 binary64) x)
(* -1 (* x (- 1 (/ 1 x))))
(-.f64 #s(literal 1 binary64) x)
(* -1 (* x (- 1 (/ 1 x))))
(-.f64 #s(literal 1 binary64) x)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* -1 (* x (+ y (* -1 (/ y x)))))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* x (+ y (* -1 (/ y x)))))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* x (+ y (* -1 (/ y x)))))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* x (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) y) x y)
(* -1 (* x (- y 1)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* x (- y 1)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* x (- y 1)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)
(* -1 (* x (- y 1)))
(*.f64 (-.f64 #s(literal 1 binary64) y) x)

rewrite520.0ms (8.7%)

Memory
23.8MiB live, 137.4MiB allocated
Rules
10 892×lower-fma.f32
10 888×lower-fma.f64
5 776×lower-*.f32
5 770×lower-*.f64
3 790×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022128
029128
1117128
2841128
08755123
Stop Event
iter limit
node limit
iter limit
Counts
14 → 159
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)
#s(approx (- 1 x) #s(literal 1 binary64))
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y))
(*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y)
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x))
(*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x)
#s(approx (- 1 y) #s(literal 1 binary64))
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))
(*.f64 #s(approx (- 1 y) (neg.f64 y)) x)
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x))
(fma.f64 (neg.f64 y) x x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval437.0ms (7.3%)

Memory
-34.2MiB live, 136.4MiB allocated
Compiler

Compiled 5 046 to 640 computations (87.3% saved)

prune13.0ms (0.2%)

Memory
7.3MiB live, 46.6MiB allocated
Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New4750475
Fresh011
Picked055
Done000
Total4756481
Accuracy
100.0%
Counts
481 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
63.1%
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x y))
67.5%
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x))
70.8%
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
31.2%
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))
38.2%
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x))
34.9%
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y))
Compiler

Compiled 34 to 34 computations (0% saved)

simplify33.0ms (0.5%)

Memory
-3.1MiB live, 41.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 y)
cost-diff0
(fma.f64 (neg.f64 y) x y)
cost-diff0
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x y))
Rules
496×lower-fma.f32
494×lower-fma.f64
192×lower-*.f64
192×lower-*.f32
136×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0822
01122
12822
24522
37722
412322
523422
635122
750522
851422
951622
051621
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x y))
(fma.f64 (neg.f64 y) x y)
(neg.f64 y)
y
x
Outputs
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x y))
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 x) y y))
(fma.f64 (neg.f64 y) x y)
(fma.f64 (neg.f64 x) y y)
(neg.f64 y)
y
x

localize49.0ms (0.8%)

Memory
19.6MiB live, 58.5MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 (neg.f64 y) x y)
accuracy0
(neg.f64 y)
accuracy23.590381859069623
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x y))
Samples
44.0ms256×0valid
Compiler

Compiled 19 to 10 computations (47.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 36.0ms
ival-add: 30.0ms (82.3% of total)
ival-mult: 3.0ms (8.2% of total)
ival-sub: 1.0ms (2.7% of total)
ival-neg: 1.0ms (2.7% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series6.0ms (0.1%)

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

6 calls:

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

simplify164.0ms (2.7%)

Memory
23.3MiB live, 139.6MiB allocated
Algorithm
egg-herbie
Rules
9 112×lower-fma.f64
9 112×lower-fma.f32
2 944×lower-*.f64
2 944×lower-*.f32
2 416×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043286
1132286
2304286
3909286
42342286
53270286
63921286
74667286
84889286
95036286
105854286
08383268
Stop Event
iter limit
node limit
Counts
60 → 57
Calls
Call 1
Inputs
x
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(+ x (* y (- 1 x)))
(* y (+ 1 (* -1 x)))
(* y (+ 1 (* -1 x)))
(* y (+ 1 (* -1 x)))
(* y (+ 1 (* -1 x)))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* y (- 1 x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (- (+ 1 (/ x y)) x))
(* y (+ 1 (* -1 x)))
(* y (+ 1 (* -1 x)))
(* y (+ 1 (* -1 x)))
(* y (+ 1 (* -1 x)))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* y (+ 1 (* -1 x)))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(* -1 (* y (- x 1)))
(* -1 (* y (- x 1)))
(* -1 (* y (- x 1)))
(* -1 (* y (- x 1)))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
y
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
(+ y (* x (- 1 y)))
y
(+ y (* -1 (* x y)))
(+ y (* -1 (* x y)))
(+ y (* -1 (* x y)))
(* x (- 1 y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* x (- (+ 1 (/ y x)) y))
(* -1 (* x y))
(* x (+ (* -1 y) (/ y x)))
(* x (+ (* -1 y) (/ y x)))
(* x (+ (* -1 y) (/ y x)))
(* x (+ 1 (* -1 y)))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(* -1 (* x y))
(* -1 (* x (+ y (* -1 (/ y x)))))
(* -1 (* x (+ y (* -1 (/ y x)))))
(* -1 (* x (+ y (* -1 (/ y x)))))
Outputs
x
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(+ x (* y (- 1 x)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* y (- 1 x))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* y (- (+ 1 (/ x y)) x))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* y (+ 1 (* -1 x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* -1 (* y (- (* -1 (/ x y)) (+ 1 (* -1 x)))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* -1 (* y (- x 1)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (- x 1)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (- x 1)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* y (- x 1)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
y
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(+ y (* x (- 1 y)))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
y
(+ y (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(+ y (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(+ y (* -1 (* x y)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* x (- 1 y))
(fma.f64 (neg.f64 y) x x)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* x (- (+ 1 (/ y x)) y))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* x (+ (* -1 y) (/ y x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* x (+ (* -1 y) (/ y x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* x (+ (* -1 y) (/ y x)))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* x (+ 1 (* -1 y)))
(fma.f64 (neg.f64 y) x x)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* -1 (* x (- (* -1 (/ y x)) (+ 1 (* -1 y)))))
(fma.f64 (-.f64 #s(literal 1 binary64) x) y x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x (+ y (* -1 (/ y x)))))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* x (+ y (* -1 (/ y x)))))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)
(* -1 (* x (+ y (* -1 (/ y x)))))
(*.f64 (-.f64 #s(literal 1 binary64) x) y)

rewrite184.0ms (3.1%)

Memory
20.7MiB live, 248.5MiB allocated
Rules
8 648×lower-fma.f32
8 646×lower-fma.f64
4 702×lower-*.f64
4 702×lower-*.f32
3 144×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
01120
16220
249920
3744920
0882020
Stop Event
iter limit
node limit
iter limit
Counts
3 → 101
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x y))
(fma.f64 (neg.f64 y) x y)
(neg.f64 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>

eval59.0ms (1%)

Memory
-31.1MiB live, 97.5MiB allocated
Compiler

Compiled 2 498 to 380 computations (84.8% saved)

prune6.0ms (0.1%)

Memory
28.7MiB live, 28.7MiB allocated
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New1580158
Fresh000
Picked011
Done055
Total1586164
Accuracy
100.0%
Counts
164 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
63.1%
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x y))
67.5%
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x))
70.8%
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
31.2%
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))
38.2%
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x))
34.9%
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y))
Compiler

Compiled 94 to 64 computations (31.9% saved)

regimes15.0ms (0.3%)

Memory
-31.1MiB live, 53.3MiB allocated
Counts
10 → 1
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y))
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x))
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) y) x))
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x))
#s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x y))
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
(-.f64 (+.f64 x y) (*.f64 x y))
Outputs
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
Calls

3 calls:

6.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
5.0ms
x
4.0ms
y
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(-.f64 (+.f64 x y) (*.f64 x y))
Compiler

Compiled 9 to 9 computations (0% saved)

regimes10.0ms (0.2%)

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

3 calls:

3.0ms
x
3.0ms
y
3.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
Results
AccuracySegmentsBranch
99.7%3x
99.7%3y
98.9%2(-.f64 (+.f64 x y) (*.f64 x y))
Compiler

Compiled 9 to 9 computations (0% saved)

regimes32.0ms (0.5%)

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

1 calls:

32.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
Results
AccuracySegmentsBranch
98.9%2(-.f64 (+.f64 x y) (*.f64 x y))
Compiler

Compiled 7 to 5 computations (28.6% saved)

regimes3.0ms (0.1%)

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

1 calls:

3.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
Results
AccuracySegmentsBranch
98.9%2(-.f64 (+.f64 x y) (*.f64 x y))
Compiler

Compiled 7 to 5 computations (28.6% saved)

regimes7.0ms (0.1%)

Memory
13.1MiB live, 13.1MiB allocated
Counts
5 → 3
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y))
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x))
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
Outputs
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
#s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y))
Calls

3 calls:

2.0ms
x
2.0ms
y
2.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
Results
AccuracySegmentsBranch
98.7%3y
81.9%3x
90.9%3(-.f64 (+.f64 x y) (*.f64 x y))
Compiler

Compiled 9 to 9 computations (0% saved)

regimes5.0ms (0.1%)

Memory
8.1MiB live, 8.1MiB allocated
Counts
4 → 3
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y))
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x))
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))
Outputs
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))
Calls

2 calls:

2.0ms
y
2.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
Results
AccuracySegmentsBranch
87.5%3(-.f64 (+.f64 x y) (*.f64 x y))
84.3%3y
Compiler

Compiled 8 to 7 computations (12.5% saved)

regimes13.0ms (0.2%)

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

3 calls:

9.0ms
x
2.0ms
y
2.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
Results
AccuracySegmentsBranch
70.8%1x
70.8%1y
70.8%1(-.f64 (+.f64 x y) (*.f64 x y))
Compiler

Compiled 9 to 9 computations (0% saved)

regimes5.0ms (0.1%)

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

3 calls:

2.0ms
x
2.0ms
y
2.0ms
(-.f64 (+.f64 x y) (*.f64 x y))
Results
AccuracySegmentsBranch
61.9%2x
64.0%2y
70.3%2(-.f64 (+.f64 x y) (*.f64 x y))
Compiler

Compiled 9 to 9 computations (0% saved)

regimes4.0ms (0.1%)

Memory
11.3MiB live, 11.3MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

3 calls:

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

Compiled 9 to 9 computations (0% saved)

bsearch0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.0967124523631728e-250
1.554513895208913e-275
Compiler

Compiled 10 to 10 computations (0% saved)

bsearch0.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.0967124523631728e-250
1.554513895208913e-275
Compiler

Compiled 10 to 10 computations (0% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.0967124523631728e-250
1.554513895208913e-275
Compiler

Compiled 10 to 10 computations (0% saved)

bsearch29.0ms (0.5%)

Memory
-24.1MiB live, 55.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
5.662544142792465e-11
1.69247538681166e-5
14.0ms
-250607.5757113109
-5.439490486778936e-5
Samples
12.0ms304×0valid
Compiler

Compiled 238 to 276 computations (-16% saved)

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

bsearch1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.1599312408351714e+308
+inf
0.0ms
-inf
-3.3161054212005937e+305
Compiler

Compiled 10 to 10 computations (0% saved)

bsearch0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.0967124523631728e-250
1.554513895208913e-275
Compiler

Compiled 10 to 10 computations (0% saved)

simplify27.0ms (0.4%)

Memory
23.5MiB live, 62.4MiB allocated
Algorithm
egg-herbie
Rules
18×*-commutative-binary64-*.f64
14×+-commutative-binary64-+.f64
12×sub-neg-binary64-neg.f64-+.f64--.f64
neg-sub0-binary64--.f64-neg.f64
neg-mul-1-binary64-*.f64-neg.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
053314
173314
286314
391314
493314
Stop Event
saturated
Calls
Call 1
Inputs
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
(if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal -1612226962694291/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352 binary64)) #s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x)) #s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x y)))
(if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal -1612226962694291/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352 binary64)) #s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x)) #s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y)))
(if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal -1612226962694291/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352 binary64)) #s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) y) x)) #s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y)))
(if (<=.f64 y #s(literal -250000 binary64)) #s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x)) (if (<=.f64 y #s(literal 2434970217729661/147573952589676412928 binary64)) #s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)) #s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y))))
(if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal -inf.0 binary64)) #s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x)) (if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal +inf.0 binary64)) #s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)) #s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))))
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal -1612226962694291/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352 binary64)) #s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x)) #s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y)))
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y))
Outputs
#s(approx (- (+ x y) (* x y)) (fma.f64 (-.f64 #s(literal 1 binary64) x) y x))
(if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal -1612226962694291/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352 binary64)) #s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x)) #s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x y)))
(if (<=.f64 (-.f64 (+.f64 y x) (*.f64 y x)) #s(literal -1612226962694291/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352 binary64)) #s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x)) #s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x y)))
(if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal -1612226962694291/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352 binary64)) #s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x)) #s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y)))
(if (<=.f64 (-.f64 (+.f64 y x) (*.f64 y x)) #s(literal -1612226962694291/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352 binary64)) #s(approx (- (+ x y) (* x y)) (fma.f64 (neg.f64 y) x x)) #s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y)))
(if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal -1612226962694291/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352 binary64)) #s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) y) x)) #s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y)))
(if (<=.f64 (-.f64 (+.f64 y x) (*.f64 y x)) #s(literal -1612226962694291/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352 binary64)) #s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) y) x)) #s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y)))
(if (<=.f64 y #s(literal -250000 binary64)) #s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x)) (if (<=.f64 y #s(literal 2434970217729661/147573952589676412928 binary64)) #s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)) #s(approx (- (+ x y) (* x y)) (*.f64 (-.f64 #s(literal 1 binary64) x) y))))
(if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal -inf.0 binary64)) #s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x)) (if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal +inf.0 binary64)) #s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)) #s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))))
(if (<=.f64 (-.f64 (+.f64 y x) (*.f64 y x)) #s(literal -inf.0 binary64)) #s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x)) (if (<=.f64 (-.f64 (+.f64 y x) (*.f64 y x)) #s(literal +inf.0 binary64)) #s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x)) #s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) (neg.f64 y)) x))))
#s(approx (- (+ x y) (* x y)) (fma.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y x))
(if (<=.f64 (-.f64 (+.f64 x y) (*.f64 x y)) #s(literal -1612226962694291/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352 binary64)) #s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x)) #s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y)))
(if (<=.f64 (-.f64 (+.f64 y x) (*.f64 y x)) #s(literal -1612226962694291/16122269626942909129404900662735492142298807557254685123533957184651913530173488143140175045399694454793530120643833272670970079330526292030350920973600450955456136596649325078391464772840162385651374295294530896122681527488756156580761624107880751845994219387748352 binary64)) #s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) x)) #s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y)))
#s(approx (- (+ x y) (* x y)) (*.f64 #s(approx (- 1 x) #s(literal 1 binary64)) y))

soundness1.5s (25%)

Memory
17.0MiB live, 524.0MiB allocated
Rules
19 840×lower-fma.f64
19 840×lower-fma.f32
8 172×lower-fma.f32
8 170×lower-fma.f64
5 766×lower-*.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01462
01962
18859
270859
0848059
042280
1125280
2282280
3843280
42196280
53219280
64113280
74716280
85053280
95271280
105366280
115406280
125426280
135426280
145444280
155444280
09619262
071913
1221884
2541884
31326884
42656884
53882884
64466884
74902884
85099884
95189884
105934884
116106884
126336884
137080884
08004812
Stop Event
done
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 297 to 180 computations (39.4% saved)

preprocess69.0ms (1.2%)

Memory
-25.4MiB live, 172.2MiB allocated
Remove

(sort x y)

Compiler

Compiled 364 to 118 computations (67.6% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...