Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2, A

Time bar (total: 5.4s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

Memory
0.7MiB live, 0.7MiB 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 13 to 12 computations (7.7% saved)

sample1.2s (21.2%)

Memory
4.5MiB live, 510.6MiB allocated
Samples
883.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 715.0ms
ival-sub: 286.0ms (40% of total)
const: 204.0ms (28.5% of total)
ival-mult: 170.0ms (23.8% of total)
ival-add: 35.0ms (4.9% of total)
exact: 9.0ms (1.3% of total)
ival-true: 7.0ms (1% of total)
ival-assert: 4.0ms (0.6% of total)
Bogosity

explain174.0ms (3.2%)

Memory
-7.3MiB live, 69.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(-.f64 y #s(literal 1 binary64))
00-0-#s(literal 1 binary64)
00-0-(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
00-0-(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
00-0-#s(literal 918938533204673/1000000000000000 binary64)
00-0-(*.f64 x (-.f64 y #s(literal 1 binary64)))
00-0-y
00-0-(*.f64 y #s(literal 1/2 binary64))
00-0-#s(literal 1/2 binary64)
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
71.0ms512×0valid
Compiler

Compiled 87 to 34 computations (60.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 23.0ms
const: 9.0ms (38.3% of total)
ival-mult: 6.0ms (25.6% of total)
ival-sub: 5.0ms (21.3% of total)
ival-add: 2.0ms (8.5% of total)
exact: 1.0ms (4.3% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess132.0ms (2.4%)

Memory
-3.0MiB live, 44.7MiB allocated
Algorithm
egg-herbie
Rules
1 376×lower-fma.f64
1 376×lower-fma.f32
670×sub-neg
472×unsub-neg
462×distribute-rgt-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02461
17559
219655
361749
4151245
5280545
6339445
7351145
8353145
9353345
10353545
11355545
01011
01511
13011
25811
31169
42189
54479
68529
712529
814899
915109
015108
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
Outputs
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
Compiler

Compiled 11 to 10 computations (9.1% saved)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
Compiler

Compiled 11 to 10 computations (9.1% saved)

simplify45.0ms (0.8%)

Memory
-5.8MiB live, 32.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 y #s(literal 1 binary64))
cost-diff0
(*.f64 x (-.f64 y #s(literal 1 binary64)))
cost-diff128
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
cost-diff320
(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
Rules
1 376×lower-fma.f64
1 376×lower-fma.f32
352×lower-+.f32
352×lower--.f32
350×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01036
01536
13036
25836
311632
421832
544732
685232
7125232
8148932
9151032
0151031
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
(*.f64 x (-.f64 y #s(literal 1 binary64)))
x
(-.f64 y #s(literal 1 binary64))
y
#s(literal 1 binary64)
(*.f64 y #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(literal 918938533204673/1000000000000000 binary64)
Outputs
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (neg.f64 x))
(*.f64 x (-.f64 y #s(literal 1 binary64)))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
x
(-.f64 y #s(literal 1 binary64))
y
#s(literal 1 binary64)
(*.f64 y #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
#s(literal 1/2 binary64)
#s(literal 918938533204673/1000000000000000 binary64)

localize58.0ms (1.1%)

Memory
-2.5MiB live, 35.0MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
accuracy0
(*.f64 y #s(literal 1/2 binary64))
accuracy0.0078125
(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
accuracy0.0078125
(*.f64 x (-.f64 y #s(literal 1 binary64)))
Samples
49.0ms256×0valid
Compiler

Compiled 38 to 12 computations (68.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
const: 4.0ms (34.9% of total)
ival-sub: 3.0ms (26.1% of total)
ival-mult: 3.0ms (26.1% of total)
ival-add: 1.0ms (8.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series8.0ms (0.1%)

Memory
8.5MiB live, 8.5MiB allocated
Counts
5 → 96
Calls
Call 1
Inputs
#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())
#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 y #s(literal 1/2 binary64)) (patch (*.f64 y #s(literal 1/2 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (* -1 x) (taylor 0 y) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 x) (* y (- x 1/2))) (taylor 0 y) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 x) (* y (- x 1/2))) (taylor 0 y) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 x) (* y (- x 1/2))) (taylor 0 y) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 y) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 y) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 x) (* x y)) (taylor 0 y) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 x) (* x y)) (taylor 0 y) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 x) (* x y)) (taylor 0 y) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt -1 (taylor 0 y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- y 1) (taylor 0 y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- y 1) (taylor 0 y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- y 1) (taylor 0 y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 1/2 binary64)) (patch (*.f64 y #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 1/2 binary64)) (patch (*.f64 y #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 1/2 binary64)) (patch (*.f64 y #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 1/2 binary64)) (patch (*.f64 y #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (* -1 (/ x y))) 1/2)) (taylor inf y) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (* -1 (/ x y))) 1/2)) (taylor inf y) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (* -1 (/ x y))) 1/2)) (taylor inf y) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* -1 (/ x y)))) (taylor inf y) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* -1 (/ x y)))) (taylor inf y) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* -1 (/ x y)))) (taylor inf y) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt y (taylor inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- 1 (/ 1 y))) (taylor inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- 1 (/ 1 y))) (taylor inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- 1 (/ 1 y))) (taylor inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 1/2 binary64)) (patch (*.f64 y #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 1/2 binary64)) (patch (*.f64 y #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 1/2 binary64)) (patch (*.f64 y #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 1/2 binary64)) (patch (*.f64 y #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (* -1 x)))) (taylor -inf y) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (/ x y))))) (taylor -inf y) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (/ x y))))) (taylor -inf y) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (/ x y))))) (taylor -inf y) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (* -1 x)))) (taylor -inf y) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (/ x y)))) (taylor -inf y) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (/ x y)))) (taylor -inf y) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (/ x y)))) (taylor -inf y) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt y (taylor -inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (/ 1 y) 1))) (taylor -inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (/ 1 y) 1))) (taylor -inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (/ 1 y) 1))) (taylor -inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 1/2 binary64)) (patch (*.f64 y #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 1/2 binary64)) (patch (*.f64 y #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 1/2 binary64)) (patch (*.f64 y #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 1/2 binary64)) (patch (*.f64 y #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1/2 y) (taylor 0 x) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* x (- y 1)) (* 1/2 y)) (taylor 0 x) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* x (- y 1)) (* 1/2 y)) (taylor 0 x) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (* x (- y 1)) (* 1/2 y)) (taylor 0 x) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 918938533204673/1000000000000000 (* 1/2 y)) (taylor 0 x) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* -1/2 (/ y x))) 1)) (taylor inf x) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* -1/2 (/ y x))) 1)) (taylor inf x) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* -1/2 (/ y x))) 1)) (taylor inf x) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* 1/2 (/ y x))))) (taylor -inf x) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* 1/2 (/ y x))))) (taylor -inf x) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* 1/2 (/ y x))))) (taylor -inf x) (#s(alt (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) (patch (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) (patch (+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt (*.f64 x (-.f64 y #s(literal 1 binary64))) (patch (*.f64 x (-.f64 y #s(literal 1 binary64))) #<representation binary64>) () ())) ())
Calls

6 calls:

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

simplify216.0ms (4%)

Memory
21.5MiB live, 100.9MiB allocated
Algorithm
egg-herbie
Rules
11 900×lower-fma.f64
11 900×lower-fma.f32
3 162×lower-*.f64
3 162×lower-*.f32
1 298×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
076582
1232520
2695520
31797520
46379520
08166501
Stop Event
iter limit
node limit
Counts
96 → 94
Calls
Call 1
Inputs
(* -1 x)
(+ (* -1 x) (* y (- x 1/2)))
(+ (* -1 x) (* y (- x 1/2)))
(+ (* -1 x) (* y (- x 1/2)))
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(* -1 x)
(+ (* -1 x) (* x y))
(+ (* -1 x) (* x y))
(+ (* -1 x) (* x y))
-1
(- y 1)
(- y 1)
(- y 1)
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* y (- x 1/2))
(* y (- (+ x (* -1 (/ x y))) 1/2))
(* y (- (+ x (* -1 (/ x y))) 1/2))
(* y (- (+ x (* -1 (/ x y))) 1/2))
(* y (- x 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* x y)
(* y (+ x (* -1 (/ x y))))
(* y (+ x (* -1 (/ x y))))
(* y (+ x (* -1 (/ x y))))
y
(* y (- 1 (/ 1 y)))
(* y (- 1 (/ 1 y)))
(* y (- 1 (/ 1 y)))
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (/ x y)))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (/ x y)))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (/ x y)))))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* x y)
(* -1 (* y (+ (* -1 x) (/ x y))))
(* -1 (* y (+ (* -1 x) (/ x y))))
(* -1 (* y (+ (* -1 x) (/ x y))))
y
(* -1 (* y (- (/ 1 y) 1)))
(* -1 (* y (- (/ 1 y) 1)))
(* -1 (* y (- (/ 1 y) 1)))
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* -1/2 y)
(- (* x (- y 1)) (* 1/2 y))
(- (* x (- y 1)) (* 1/2 y))
(- (* x (- y 1)) (* 1/2 y))
(- 918938533204673/1000000000000000 (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- (+ y (* -1/2 (/ y x))) 1))
(* x (- (+ y (* -1/2 (/ y x))) 1))
(* x (- (+ y (* -1/2 (/ y x))) 1))
(* x (- y 1))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* 1/2 (/ y x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* 1/2 (/ y x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* 1/2 (/ y x)))))
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
Outputs
(* -1 x)
(neg.f64 x)
(+ (* -1 x) (* y (- x 1/2)))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(+ (* -1 x) (* y (- x 1/2)))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(+ (* -1 x) (* y (- x 1/2)))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* -1 x)
(neg.f64 x)
(+ (* -1 x) (* x y))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(+ (* -1 x) (* x y))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(+ (* -1 x) (* x y))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
-1
#s(literal -1 binary64)
(- y 1)
(-.f64 y #s(literal 1 binary64))
(- y 1)
(-.f64 y #s(literal 1 binary64))
(- y 1)
(-.f64 y #s(literal 1 binary64))
(* 1/2 y)
(*.f64 #s(literal 1/2 binary64) y)
(* 1/2 y)
(*.f64 #s(literal 1/2 binary64) y)
(* 1/2 y)
(*.f64 #s(literal 1/2 binary64) y)
(* 1/2 y)
(*.f64 #s(literal 1/2 binary64) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (* -1 (/ x y))) 1/2))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* y (- (+ x (* -1 (/ x y))) 1/2))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* y (- (+ x (* -1 (/ x y))) 1/2))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* x y)
(*.f64 y x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
y
(* y (- 1 (/ 1 y)))
(-.f64 y #s(literal 1 binary64))
(* y (- 1 (/ 1 y)))
(-.f64 y #s(literal 1 binary64))
(* y (- 1 (/ 1 y)))
(-.f64 y #s(literal 1 binary64))
(* 1/2 y)
(*.f64 #s(literal 1/2 binary64) y)
(* 1/2 y)
(*.f64 #s(literal 1/2 binary64) y)
(* 1/2 y)
(*.f64 #s(literal 1/2 binary64) y)
(* 1/2 y)
(*.f64 #s(literal 1/2 binary64) y)
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (/ x y)))))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (/ x y)))))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (/ x y)))))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
y
(* -1 (* y (- (/ 1 y) 1)))
(-.f64 y #s(literal 1 binary64))
(* -1 (* y (- (/ 1 y) 1)))
(-.f64 y #s(literal 1 binary64))
(* -1 (* y (- (/ 1 y) 1)))
(-.f64 y #s(literal 1 binary64))
(* 1/2 y)
(*.f64 #s(literal 1/2 binary64) y)
(* 1/2 y)
(*.f64 #s(literal 1/2 binary64) y)
(* 1/2 y)
(*.f64 #s(literal 1/2 binary64) y)
(* 1/2 y)
(*.f64 #s(literal 1/2 binary64) y)
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(- (* x (- y 1)) (* 1/2 y))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(- (* x (- y 1)) (* 1/2 y))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(- (* x (- y 1)) (* 1/2 y))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(- 918938533204673/1000000000000000 (* 1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (* -1/2 (/ y x))) 1))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* x (- (+ y (* -1/2 (/ y x))) 1))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* x (- (+ y (* -1/2 (/ y x))) 1))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* 1/2 (/ y x)))))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* -1 (* x (+ (* -1 (- y 1)) (* 1/2 (/ y x)))))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* -1 (* x (+ (* -1 (- y 1)) (* 1/2 (/ y x)))))
(neg.f64 (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)

rewrite270.0ms (5%)

Memory
-26.3MiB live, 148.7MiB allocated
Rules
7 498×lower-fma.f64
7 498×lower-fma.f32
4 788×lower-*.f32
4 784×lower-*.f64
3 354×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01031
01531
16931
252031
3772031
0824928
Stop Event
iter limit
node limit
iter limit
Counts
5 → 384
Calls
Call 1
Inputs
(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
(*.f64 x (-.f64 y #s(literal 1 binary64)))
(-.f64 y #s(literal 1 binary64))
(*.f64 y #s(literal 1/2 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval123.0ms (2.3%)

Memory
-1.4MiB live, 114.7MiB allocated
Compiler

Compiled 12 121 to 1 380 computations (88.6% saved)

prune55.0ms (1%)

Memory
-10.3MiB live, 34.4MiB allocated
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New4726478
Fresh000
Picked101
Done000
Total4736479
Accuracy
100.0%
Counts
479 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
48.4%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
100.0%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x)))
52.9%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
52.9%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x))
48.1%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
Compiler

Compiled 78 to 78 computations (0% saved)

simplify48.0ms (0.9%)

Memory
5.3MiB live, 44.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 y #s(literal 1 binary64))
cost-diff0
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
cost-diff0
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x))
cost-diff0
(-.f64 x #s(literal 1/2 binary64))
cost-diff0
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
cost-diff0
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
cost-diff0
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
cost-diff0
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
cost-diff0
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
cost-diff0
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
cost-diff0
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
cost-diff0
(-.f64 y #s(literal 1 binary64))
cost-diff192
(fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
Rules
1 376×lower-fma.f32
1 372×lower-fma.f64
352×lower-+.f64
352×lower-+.f32
352×lower--.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022120
030120
158112
288112
3159112
4295112
5572112
61035112
71448112
81588112
91600112
01600107
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
(-.f64 y #s(literal 1 binary64))
y
#s(literal 1 binary64)
x
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
#s(literal -1/2 binary64)
#s(literal 918938533204673/1000000000000000 binary64)
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
#s(literal 918938533204673/1000000000000000 binary64)
x
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
#s(literal -1/2 binary64)
y
#s(literal 918938533204673/1000000000000000 binary64)
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(-.f64 x #s(literal 1/2 binary64))
x
#s(literal 1/2 binary64)
y
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(-.f64 y #s(literal 1 binary64))
y
#s(literal 1 binary64)
x
Outputs
(fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(-.f64 y #s(literal 1 binary64))
y
#s(literal 1 binary64)
x
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
#s(literal -1/2 binary64)
#s(literal 918938533204673/1000000000000000 binary64)
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
#s(literal 918938533204673/1000000000000000 binary64)
x
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
#s(literal -1/2 binary64)
y
#s(literal 918938533204673/1000000000000000 binary64)
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(-.f64 x #s(literal 1/2 binary64))
x
#s(literal 1/2 binary64)
y
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 x (-.f64 y #s(literal 1 binary64))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(*.f64 x (-.f64 y #s(literal 1 binary64)))
(-.f64 y #s(literal 1 binary64))
y
#s(literal 1 binary64)
x

localize60.0ms (1.1%)

Memory
2.2MiB live, 79.7MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 y #s(literal 1 binary64))
accuracy0.0078125
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
accuracy30.117897191675414
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x))
accuracy0
(-.f64 x #s(literal 1/2 binary64))
accuracy0.0078125
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
accuracy33.21326271628777
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
accuracy0
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
accuracy33.00464269359592
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
accuracy0.00390625
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
accuracy30.112257424342637
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
accuracy0
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
accuracy0
(-.f64 y #s(literal 1 binary64))
accuracy0.00390625
(fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
Samples
48.0ms256×0valid
Compiler

Compiled 105 to 20 computations (81% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-mult: 7.0ms (34.6% of total)
ival-sub: 5.0ms (24.7% of total)
const: 5.0ms (24.7% of total)
ival-add: 3.0ms (14.8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series16.0ms (0.3%)

Memory
-10.0MiB live, 30.7MiB allocated
Counts
11 → 216
Calls
Call 1
Inputs
#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())
#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())
#s(alt (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) (patch (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) #<representation binary64>) () ())
#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())
#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())
#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())
#s(alt (-.f64 x #s(literal 1/2 binary64)) (patch (-.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())
#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())
Outputs
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 y) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt -1 (taylor 0 y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- y 1) (taylor 0 y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- y 1) (taylor 0 y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- y 1) (taylor 0 y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt 918938533204673/1000000000000000 (taylor 0 y) (#s(alt (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1/2 y)) (taylor 0 y) (#s(alt (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1/2 y)) (taylor 0 y) (#s(alt (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1/2 y)) (taylor 0 y) (#s(alt (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor 0 y) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor 0 y) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor 0 y) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor 0 y) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 y) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 x) (* x y)) (taylor 0 y) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 x) (* x y)) (taylor 0 y) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 x) (* x y)) (taylor 0 y) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt y (taylor inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- 1 (/ 1 y))) (taylor inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- 1 (/ 1 y))) (taylor inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- 1 (/ 1 y))) (taylor inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1/2 y) (taylor inf y) (#s(alt (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- (* 918938533204673/1000000000000000 (/ 1 y)) 1/2)) (taylor inf y) (#s(alt (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- (* 918938533204673/1000000000000000 (/ 1 y)) 1/2)) (taylor inf y) (#s(alt (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- (* 918938533204673/1000000000000000 (/ 1 y)) 1/2)) (taylor inf y) (#s(alt (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* -1 (/ x y)))) (taylor inf y) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* -1 (/ x y)))) (taylor inf y) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* -1 (/ x y)))) (taylor inf y) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (* -1 x)))) (taylor -inf y) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt y (taylor -inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (/ 1 y) 1))) (taylor -inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (/ 1 y) 1))) (taylor -inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (/ 1 y) 1))) (taylor -inf y) (#s(alt (-.f64 y #s(literal 1 binary64)) (patch (-.f64 y #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1/2 y) (taylor -inf y) (#s(alt (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1/2 (* 918938533204673/1000000000000000 (/ 1 y))))) (taylor -inf y) (#s(alt (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1/2 (* 918938533204673/1000000000000000 (/ 1 y))))) (taylor -inf y) (#s(alt (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1/2 (* 918938533204673/1000000000000000 (/ 1 y))))) (taylor -inf y) (#s(alt (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) (patch (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (* -1 x)))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (* -1 x)))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (* -1 x)))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor -inf y) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor -inf y) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor -inf y) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor -inf y) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (* -1 x)))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (/ x y)))) (taylor -inf y) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (/ x y)))) (taylor -inf y) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (/ x y)))) (taylor -inf y) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1/2 y)) (taylor 0 x) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1/2 y) (* x (- y 1)))) (taylor 0 x) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1/2 y) (* x (- y 1)))) (taylor 0 x) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1/2 y) (* x (- y 1)))) (taylor 0 x) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 918938533204673/1000000000000000 (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt 918938533204673/1000000000000000 (taylor 0 x) (#s(alt (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) (patch (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 x) (#s(alt (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) (patch (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 x) (#s(alt (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) (patch (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 x) (#s(alt (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) (patch (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) #<representation binary64>) () ())) ())
#s(alt (- 918938533204673/1000000000000000 (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (- 918938533204673/1000000000000000 (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* -1/2 y) (taylor 0 x) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (+ (* -1/2 y) (* x y)) (taylor 0 x) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (+ (* -1/2 y) (* x y)) (taylor 0 x) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (+ (* -1/2 y) (* x y)) (taylor 0 x) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt -1/2 (taylor 0 x) (#s(alt (-.f64 x #s(literal 1/2 binary64)) (patch (-.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 1/2) (taylor 0 x) (#s(alt (-.f64 x #s(literal 1/2 binary64)) (patch (-.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 1/2) (taylor 0 x) (#s(alt (-.f64 x #s(literal 1/2 binary64)) (patch (-.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 1/2) (taylor 0 x) (#s(alt (-.f64 x #s(literal 1/2 binary64)) (patch (-.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- 918938533204673/1000000000000000 (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (+ (* -1/2 (/ y x)) (* 918938533204673/1000000000000000 (/ 1 x)))) 1)) (taylor inf x) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (+ (* -1/2 (/ y x)) (* 918938533204673/1000000000000000 (/ 1 x)))) 1)) (taylor inf x) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (+ (* -1/2 (/ y x)) (* 918938533204673/1000000000000000 (/ 1 x)))) 1)) (taylor inf x) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) (patch (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1)) (taylor inf x) (#s(alt (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) (patch (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1)) (taylor inf x) (#s(alt (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) (patch (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1)) (taylor inf x) (#s(alt (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) (patch (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* x (+ y (* -1/2 (/ y x)))) (taylor inf x) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* x (+ y (* -1/2 (/ y x)))) (taylor inf x) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* x (+ y (* -1/2 (/ y x)))) (taylor inf x) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (-.f64 x #s(literal 1/2 binary64)) (patch (-.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (* 1/2 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 x #s(literal 1/2 binary64)) (patch (-.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (* 1/2 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 x #s(literal 1/2 binary64)) (patch (-.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (* 1/2 (/ 1 x)))) (taylor inf x) (#s(alt (-.f64 x #s(literal 1/2 binary64)) (patch (-.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1/2 y)) x))))) (taylor -inf x) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1/2 y)) x))))) (taylor -inf x) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1/2 y)) x))))) (taylor -inf x) (#s(alt (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch (fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) (patch (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x))))) (taylor -inf x) (#s(alt (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) (patch (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x))))) (taylor -inf x) (#s(alt (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) (patch (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x))))) (taylor -inf x) (#s(alt (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) (patch (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 y) (* 1/2 (/ y x))))) (taylor -inf x) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 y) (* 1/2 (/ y x))))) (taylor -inf x) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 y) (* 1/2 (/ y x))))) (taylor -inf x) (#s(alt (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) (patch (*.f64 (-.f64 x #s(literal 1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (-.f64 x #s(literal 1/2 binary64)) (patch (-.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 1/2 (/ 1 x)) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 1/2 binary64)) (patch (-.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 1/2 (/ 1 x)) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 1/2 binary64)) (patch (-.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 1/2 (/ 1 x)) 1))) (taylor -inf x) (#s(alt (-.f64 x #s(literal 1/2 binary64)) (patch (-.f64 x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt (*.f64 (-.f64 y #s(literal 1 binary64)) x) (patch (*.f64 (-.f64 y #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
Calls

6 calls:

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

simplify116.0ms (2.1%)

Memory
30.9MiB live, 186.3MiB allocated
Algorithm
egg-herbie
Rules
7 352×lower-fma.f64
7 352×lower-fma.f32
2 208×lower-*.f64
2 208×lower-*.f32
1 074×lower--.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0991456
13071321
28521321
322891321
466551321
080611217
Stop Event
iter limit
node limit
Counts
216 → 212
Calls
Call 1
Inputs
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
-1
(- y 1)
(- y 1)
(- y 1)
918938533204673/1000000000000000
(+ 918938533204673/1000000000000000 (* -1/2 y))
(+ 918938533204673/1000000000000000 (* -1/2 y))
(+ 918938533204673/1000000000000000 (* -1/2 y))
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(* -1 x)
(+ (* -1 x) (* x y))
(+ (* -1 x) (* x y))
(+ (* -1 x) (* x y))
(* y (- x 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
y
(* y (- 1 (/ 1 y)))
(* y (- 1 (/ 1 y)))
(* y (- 1 (/ 1 y)))
(* -1/2 y)
(* y (- (* 918938533204673/1000000000000000 (/ 1 y)) 1/2))
(* y (- (* 918938533204673/1000000000000000 (/ 1 y)) 1/2))
(* y (- (* 918938533204673/1000000000000000 (/ 1 y)) 1/2))
(* y (- x 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- x 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- x 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* x y)
(* y (+ x (* -1 (/ x y))))
(* y (+ x (* -1 (/ x y))))
(* y (+ x (* -1 (/ x y))))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
y
(* -1 (* y (- (/ 1 y) 1)))
(* -1 (* y (- (/ 1 y) 1)))
(* -1 (* y (- (/ 1 y) 1)))
(* -1/2 y)
(* -1 (* y (- 1/2 (* 918938533204673/1000000000000000 (/ 1 y)))))
(* -1 (* y (- 1/2 (* 918938533204673/1000000000000000 (/ 1 y)))))
(* -1 (* y (- 1/2 (* 918938533204673/1000000000000000 (/ 1 y)))))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* x y)
(* -1 (* y (+ (* -1 x) (/ x y))))
(* -1 (* y (+ (* -1 x) (/ x y))))
(* -1 (* y (+ (* -1 x) (/ x y))))
(+ 918938533204673/1000000000000000 (* -1/2 y))
(+ 918938533204673/1000000000000000 (+ (* -1/2 y) (* x (- y 1))))
(+ 918938533204673/1000000000000000 (+ (* -1/2 y) (* x (- y 1))))
(+ 918938533204673/1000000000000000 (+ (* -1/2 y) (* x (- y 1))))
(- 918938533204673/1000000000000000 (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
918938533204673/1000000000000000
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (* -1 x))
(- 918938533204673/1000000000000000 (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- 918938533204673/1000000000000000 (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(* -1/2 y)
(+ (* -1/2 y) (* x y))
(+ (* -1/2 y) (* x y))
(+ (* -1/2 y) (* x y))
-1/2
(- x 1/2)
(- x 1/2)
(- x 1/2)
(- 918938533204673/1000000000000000 (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- (+ y (+ (* -1/2 (/ y x)) (* 918938533204673/1000000000000000 (/ 1 x)))) 1))
(* x (- (+ y (+ (* -1/2 (/ y x)) (* 918938533204673/1000000000000000 (/ 1 x)))) 1))
(* x (- (+ y (+ (* -1/2 (/ y x)) (* 918938533204673/1000000000000000 (/ 1 x)))) 1))
(* x (- y 1))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* -1 x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(* x (- y 1))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- y 1))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x y)
(* x (+ y (* -1/2 (/ y x))))
(* x (+ y (* -1/2 (/ y x))))
(* x (+ y (* -1/2 (/ y x))))
x
(* x (- 1 (* 1/2 (/ 1 x))))
(* x (- 1 (* 1/2 (/ 1 x))))
(* x (- 1 (* 1/2 (/ 1 x))))
(* x (- y 1))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1/2 y)) x)))))
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* x y)
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
x
(* -1 (* x (- (* 1/2 (/ 1 x)) 1)))
(* -1 (* x (- (* 1/2 (/ 1 x)) 1)))
(* -1 (* x (- (* 1/2 (/ 1 x)) 1)))
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
Outputs
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
-1
#s(literal -1 binary64)
(- y 1)
(-.f64 y #s(literal 1 binary64))
(- y 1)
(-.f64 y #s(literal 1 binary64))
(- y 1)
(-.f64 y #s(literal 1 binary64))
918938533204673/1000000000000000
#s(literal 918938533204673/1000000000000000 binary64)
(+ 918938533204673/1000000000000000 (* -1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(+ 918938533204673/1000000000000000 (* -1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(+ 918938533204673/1000000000000000 (* -1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 x)
(neg.f64 x)
(+ (* -1 x) (* x y))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(+ (* -1 x) (* x y))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(+ (* -1 x) (* x y))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
y
(* y (- 1 (/ 1 y)))
(-.f64 y #s(literal 1 binary64))
(* y (- 1 (/ 1 y)))
(-.f64 y #s(literal 1 binary64))
(* y (- 1 (/ 1 y)))
(-.f64 y #s(literal 1 binary64))
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(* y (- (* 918938533204673/1000000000000000 (/ 1 y)) 1/2))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(* y (- (* 918938533204673/1000000000000000 (/ 1 y)) 1/2))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(* y (- (* 918938533204673/1000000000000000 (/ 1 y)) 1/2))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x y)
(*.f64 y x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
y
(* -1 (* y (- (/ 1 y) 1)))
(-.f64 y #s(literal 1 binary64))
(* -1 (* y (- (/ 1 y) 1)))
(-.f64 y #s(literal 1 binary64))
(* -1 (* y (- (/ 1 y) 1)))
(-.f64 y #s(literal 1 binary64))
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(* -1 (* y (- 1/2 (* 918938533204673/1000000000000000 (/ 1 y)))))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(* -1 (* y (- 1/2 (* 918938533204673/1000000000000000 (/ 1 y)))))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(* -1 (* y (- 1/2 (* 918938533204673/1000000000000000 (/ 1 y)))))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(+ 918938533204673/1000000000000000 (* -1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(+ 918938533204673/1000000000000000 (+ (* -1/2 y) (* x (- y 1))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1/2 y) (* x (- y 1))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1/2 y) (* x (- y 1))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- 918938533204673/1000000000000000 (* 1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
918938533204673/1000000000000000
#s(literal 918938533204673/1000000000000000 binary64)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(- 918938533204673/1000000000000000 (* 1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- 918938533204673/1000000000000000 (* 1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(+ (* -1/2 y) (* x y))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(+ (* -1/2 y) (* x y))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(+ (* -1/2 y) (* x y))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
-1/2
#s(literal -1/2 binary64)
(- x 1/2)
(-.f64 x #s(literal 1/2 binary64))
(- x 1/2)
(-.f64 x #s(literal 1/2 binary64))
(- x 1/2)
(-.f64 x #s(literal 1/2 binary64))
(- 918938533204673/1000000000000000 (* 1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (+ (* -1/2 (/ y x)) (* 918938533204673/1000000000000000 (/ 1 x)))) 1))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (+ (* -1/2 (/ y x)) (* 918938533204673/1000000000000000 (/ 1 x)))) 1))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (+ (* -1/2 (/ y x)) (* 918938533204673/1000000000000000 (/ 1 x)))) 1))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 x)
(neg.f64 x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x y)
(*.f64 y x)
(* x (+ y (* -1/2 (/ y x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* x (+ y (* -1/2 (/ y x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* x (+ y (* -1/2 (/ y x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
x
(* x (- 1 (* 1/2 (/ 1 x))))
(-.f64 x #s(literal 1/2 binary64))
(* x (- 1 (* 1/2 (/ 1 x))))
(-.f64 x #s(literal 1/2 binary64))
(* x (- 1 (* 1/2 (/ 1 x))))
(-.f64 x #s(literal 1/2 binary64))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 x)
(neg.f64 x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
x
(* -1 (* x (- (* 1/2 (/ 1 x)) 1)))
(-.f64 x #s(literal 1/2 binary64))
(* -1 (* x (- (* 1/2 (/ 1 x)) 1)))
(-.f64 x #s(literal 1/2 binary64))
(* -1 (* x (- (* 1/2 (/ 1 x)) 1)))
(-.f64 x #s(literal 1/2 binary64))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)

rewrite167.0ms (3.1%)

Memory
-2.2MiB live, 270.9MiB allocated
Rules
6 648×lower-fma.f32
6 644×lower-fma.f64
3 956×lower-/.f64
3 956×lower-/.f32
3 918×lower-*.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02297
03097
114689
2107689
0843689
Stop Event
iter limit
node limit
iter limit
Counts
11 → 426
Calls
Call 1
Inputs
(fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
(-.f64 y #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(-.f64 x #s(literal 1/2 binary64))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval94.0ms (1.7%)

Memory
-4.7MiB live, 235.6MiB allocated
Compiler

Compiled 13 792 to 1 544 computations (88.8% saved)

prune20.0ms (0.4%)

Memory
-7.5MiB live, 70.8MiB allocated
Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New7426748
Fresh101
Picked235
Done000
Total7459754
Accuracy
100.0%
Counts
754 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.1%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (*.f64 #s(literal -1/2 binary64) y)))
52.9%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))
48.4%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
52.9%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
48.1%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
24.4%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y))
28.9%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
26.1%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
25.6%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x)))
Compiler

Compiled 75 to 81 computations (-8% saved)

simplify60.0ms (1.1%)

Memory
13.0MiB live, 58.3MiB allocated
Algorithm
egg-herbie
Localize:

Found 14 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (- x 1/2) #s(literal -1/2 binary64))
cost-diff0
(*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)
cost-diff0
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y))
cost-diff0
(*.f64 y x)
cost-diff0
#s(approx (* (- y 1) x) (*.f64 y x))
cost-diff0
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x)))
cost-diff0
(neg.f64 x)
cost-diff0
#s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))
cost-diff0
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
cost-diff0
#s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))
cost-diff0
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
cost-diff0
(neg.f64 x)
cost-diff0
(fma.f64 y x (neg.f64 x))
cost-diff0
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))
Rules
1 424×lower-fma.f32
1 422×lower-fma.f64
384×lower-*.f32
380×lower-*.f64
368×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027144
031144
155144
287144
3170134
4403134
5784134
61243134
71563134
81630134
91634134
101636134
111639134
121641134
01641129
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))
(fma.f64 y x (neg.f64 x))
y
x
(neg.f64 x)
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))
#s(literal 918938533204673/1000000000000000 binary64)
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
#s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))
(neg.f64 x)
x
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x)))
#s(approx (* (- y 1) x) (*.f64 y x))
(*.f64 y x)
y
x
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y))
(*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)
#s(approx (- x 1/2) #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
y
Outputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x))
(fma.f64 y x (neg.f64 x))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
y
x
(neg.f64 x)
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))
#s(literal 918938533204673/1000000000000000 binary64)
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
#s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))
(neg.f64 x)
x
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x)))
#s(approx (* (- y 1) x) (*.f64 y x))
(*.f64 y x)
y
x
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y))
(*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)
#s(approx (- x 1/2) #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
y

localize66.0ms (1.2%)

Memory
3.5MiB live, 166.1MiB allocated
Localize:

Found 14 expressions of interest:

NewMetricScoreProgram
accuracy0.0078125
(*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)
accuracy33.003941406217486
#s(approx (- x 1/2) #s(literal -1/2 binary64))
accuracy33.21326271628777
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y))
accuracy0
(*.f64 y x)
accuracy30.117897191675414
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x)))
accuracy32.935829859423585
#s(approx (* (- y 1) x) (*.f64 y x))
accuracy0
(neg.f64 x)
accuracy30.05031643675688
#s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))
accuracy30.112257424342637
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
accuracy30.112257424342637
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
accuracy32.994075130549454
#s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))
accuracy0
(fma.f64 y x (neg.f64 x))
accuracy0
(neg.f64 x)
accuracy30.117897191675414
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))
Samples
37.0ms256×0valid
Compiler

Compiled 97 to 20 computations (79.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
ival-mult: 9.0ms (41% of total)
ival-sub: 5.0ms (22.8% of total)
const: 4.0ms (18.2% of total)
ival-add: 2.0ms (9.1% of total)
exact: 1.0ms (4.6% of total)
ival-neg: 1.0ms (4.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series16.0ms (0.3%)

Memory
-37.0MiB live, 41.6MiB allocated
Counts
13 → 264
Calls
Call 1
Inputs
#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())
#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())
#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())
#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())
#s(alt #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) (patch #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())
#s(alt #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) (patch #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) #<representation binary64>) () ())
#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())
#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())
#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())
#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())
#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())
#s(alt #s(approx (- x 1/2) #s(literal -1/2 binary64)) (patch #s(approx (- x 1/2) #s(literal -1/2 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 y) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- (* x y) x) (taylor 0 y) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- (* x y) x) (taylor 0 y) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- (* x y) x) (taylor 0 y) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 y) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 x) (* x y)) (taylor 0 y) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 x) (* x y)) (taylor 0 y) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (+ (* -1 x) (* x y)) (taylor 0 y) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2)))) (taylor 0 y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor 0 y) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor 0 y) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor 0 y) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor 0 y) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* -1 (/ x y)))) (taylor inf y) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* -1 (/ x y)))) (taylor inf y) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* -1 (/ x y)))) (taylor inf y) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* -1 (/ x y)))) (taylor inf y) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* -1 (/ x y)))) (taylor inf y) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* -1 (/ x y)))) (taylor inf y) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2)) (taylor inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor inf y) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (* -1 x)))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (/ x y)))) (taylor -inf y) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (/ x y)))) (taylor -inf y) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (/ x y)))) (taylor -inf y) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (* -1 x)))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (* -1 x)))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (* -1 x)))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (/ x y)))) (taylor -inf y) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (/ x y)))) (taylor -inf y) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (/ x y)))) (taylor -inf y) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (* -1 x)))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y)))))) (taylor -inf y) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor -inf y) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor -inf y) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor -inf y) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1/2)) (taylor -inf y) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (- 918938533204673/1000000000000000 (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor 0 x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (- 918938533204673/1000000000000000 (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt 918938533204673/1000000000000000 (taylor 0 x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) (patch #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) (patch #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) (patch #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) (patch #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (- 918938533204673/1000000000000000 (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt 918938533204673/1000000000000000 (taylor 0 x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) (patch #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) (patch #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) (patch #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (+ 918938533204673/1000000000000000 (* -1 x)) (taylor 0 x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) (patch #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (- 918938533204673/1000000000000000 (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor 0 x) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (- 918938533204673/1000000000000000 (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y)) (taylor 0 x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* -1/2 y) (taylor 0 x) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (+ (* -1/2 y) (* x y)) (taylor 0 x) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (+ (* -1/2 y) (* x y)) (taylor 0 x) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (+ (* -1/2 y) (* x y)) (taylor 0 x) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt -1/2 (taylor 0 x) (#s(alt #s(approx (- x 1/2) #s(literal -1/2 binary64)) (patch #s(approx (- x 1/2) #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 1/2) (taylor 0 x) (#s(alt #s(approx (- x 1/2) #s(literal -1/2 binary64)) (patch #s(approx (- x 1/2) #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 1/2) (taylor 0 x) (#s(alt #s(approx (- x 1/2) #s(literal -1/2 binary64)) (patch #s(approx (- x 1/2) #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- x 1/2) (taylor 0 x) (#s(alt #s(approx (- x 1/2) #s(literal -1/2 binary64)) (patch #s(approx (- x 1/2) #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) (patch #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1)) (taylor inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) (patch #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1)) (taylor inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) (patch #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1)) (taylor inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) (patch #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) (patch #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1)) (taylor inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) (patch #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1)) (taylor inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) (patch #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1)) (taylor inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) (patch #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x))))) (taylor inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* x (+ y (* -1/2 (/ y x)))) (taylor inf x) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* x (+ y (* -1/2 (/ y x)))) (taylor inf x) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* x (+ y (* -1/2 (/ y x)))) (taylor inf x) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt #s(approx (- x 1/2) #s(literal -1/2 binary64)) (patch #s(approx (- x 1/2) #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (* 1/2 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (- x 1/2) #s(literal -1/2 binary64)) (patch #s(approx (- x 1/2) #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (* 1/2 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (- x 1/2) #s(literal -1/2 binary64)) (patch #s(approx (- x 1/2) #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- 1 (* 1/2 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (- x 1/2) #s(literal -1/2 binary64)) (patch #s(approx (- x 1/2) #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (* -1 y)))) (taylor -inf x) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (* -1 y)))) (taylor -inf x) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (* -1 y)))) (taylor -inf x) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ 1 (* -1 y)))) (taylor -inf x) (#s(alt (fma.f64 y x (neg.f64 x)) (patch (fma.f64 y x (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt (neg.f64 x) (patch (neg.f64 x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) (patch #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x))))) (taylor -inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) (patch #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x))))) (taylor -inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) (patch #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x))))) (taylor -inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) (patch #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) #<representation binary64>) () ())) ())
#s(alt (* -1 x) (taylor -inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) (patch #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x))))) (taylor -inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) (patch #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x))))) (taylor -inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) (patch #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x))))) (taylor -inf x) (#s(alt #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) (patch #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt #s(approx (* (- y 1) x) (*.f64 y x)) (patch #s(approx (* (- y 1) x) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x (- y 1)) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x))))) (taylor -inf x) (#s(alt #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) (patch #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 y) (* 1/2 (/ y x))))) (taylor -inf x) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 y) (* 1/2 (/ y x))))) (taylor -inf x) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 y) (* 1/2 (/ y x))))) (taylor -inf x) (#s(alt (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) (patch (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt #s(approx (- x 1/2) #s(literal -1/2 binary64)) (patch #s(approx (- x 1/2) #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 1/2 (/ 1 x)) 1))) (taylor -inf x) (#s(alt #s(approx (- x 1/2) #s(literal -1/2 binary64)) (patch #s(approx (- x 1/2) #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 1/2 (/ 1 x)) 1))) (taylor -inf x) (#s(alt #s(approx (- x 1/2) #s(literal -1/2 binary64)) (patch #s(approx (- x 1/2) #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* 1/2 (/ 1 x)) 1))) (taylor -inf x) (#s(alt #s(approx (- x 1/2) #s(literal -1/2 binary64)) (patch #s(approx (- x 1/2) #s(literal -1/2 binary64)) #<representation binary64>) () ())) ())
Calls

6 calls:

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

simplify125.0ms (2.3%)

Memory
8.7MiB live, 206.2MiB allocated
Algorithm
egg-herbie
Rules
10 848×lower-fma.f64
10 848×lower-fma.f32
2 266×lower-*.f64
2 266×lower-*.f32
1 506×lower--.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811593
12581480
27471480
321721480
460381480
579401480
082831385
Stop Event
iter limit
node limit
Counts
264 → 262
Calls
Call 1
Inputs
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(* -1 x)
(- (* x y) x)
(- (* x y) x)
(- (* x y) x)
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(* -1 x)
(+ (* -1 x) (* x y))
(+ (* -1 x) (* x y))
(+ (* -1 x) (* x y))
(* x y)
(* x y)
(* x y)
(* x y)
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* x y)
(* y (+ x (* -1 (/ x y))))
(* y (+ x (* -1 (/ x y))))
(* y (+ x (* -1 (/ x y))))
(* y (- x 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- x 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- x 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* x y)
(* y (+ x (* -1 (/ x y))))
(* y (+ x (* -1 (/ x y))))
(* y (+ x (* -1 (/ x y))))
(* x y)
(* x y)
(* x y)
(* x y)
(* y (- x 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* x y)
(* -1 (* y (+ (* -1 x) (/ x y))))
(* -1 (* y (+ (* -1 x) (/ x y))))
(* -1 (* y (+ (* -1 x) (/ x y))))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* x y)
(* -1 (* y (+ (* -1 x) (/ x y))))
(* -1 (* y (+ (* -1 x) (/ x y))))
(* -1 (* y (+ (* -1 x) (/ x y))))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(- 918938533204673/1000000000000000 (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(- 918938533204673/1000000000000000 (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
918938533204673/1000000000000000
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (* -1 x))
(- 918938533204673/1000000000000000 (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
918938533204673/1000000000000000
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (* -1 x))
(- 918938533204673/1000000000000000 (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x y)
(* x y)
(* x y)
(* x y)
(- 918938533204673/1000000000000000 (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(* -1/2 y)
(+ (* -1/2 y) (* x y))
(+ (* -1/2 y) (* x y))
(+ (* -1/2 y) (* x y))
-1/2
(- x 1/2)
(- x 1/2)
(- x 1/2)
(* x (- y 1))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* x (- y 1))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* -1 x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(* x (- y 1))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* -1 x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(* x (- y 1))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x y)
(* x y)
(* x y)
(* x y)
(* x (- y 1))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x y)
(* x (+ y (* -1/2 (/ y x))))
(* x (+ y (* -1/2 (/ y x))))
(* x (+ y (* -1/2 (/ y x))))
x
(* x (- 1 (* 1/2 (/ 1 x))))
(* x (- 1 (* 1/2 (/ 1 x))))
(* x (- 1 (* 1/2 (/ 1 x))))
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ 1 (* -1 y))))
(* -1 (* x (+ 1 (* -1 y))))
(* -1 (* x (+ 1 (* -1 y))))
(* -1 (* x (+ 1 (* -1 y))))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x y)
(* x y)
(* x y)
(* x y)
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* x y)
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
x
(* -1 (* x (- (* 1/2 (/ 1 x)) 1)))
(* -1 (* x (- (* 1/2 (/ 1 x)) 1)))
(* -1 (* x (- (* 1/2 (/ 1 x)) 1)))
Outputs
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 x)
(neg.f64 x)
(- (* x y) x)
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(- (* x y) x)
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(- (* x y) x)
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 x)
(neg.f64 x)
(+ (* -1 x) (* x y))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(+ (* -1 x) (* x y))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(+ (* -1 x) (* x y))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x y)
(*.f64 y x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x y)
(*.f64 y x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(- 918938533204673/1000000000000000 (* 1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(- 918938533204673/1000000000000000 (* 1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
918938533204673/1000000000000000
#s(literal 918938533204673/1000000000000000 binary64)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(- 918938533204673/1000000000000000 (* 1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
918938533204673/1000000000000000
#s(literal 918938533204673/1000000000000000 binary64)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(- 918938533204673/1000000000000000 (* 1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(- 918938533204673/1000000000000000 (* 1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(+ (* -1/2 y) (* x y))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(+ (* -1/2 y) (* x y))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(+ (* -1/2 y) (* x y))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
-1/2
#s(literal -1/2 binary64)
(- x 1/2)
(-.f64 x #s(literal 1/2 binary64))
(- x 1/2)
(-.f64 x #s(literal 1/2 binary64))
(- x 1/2)
(-.f64 x #s(literal 1/2 binary64))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 x)
(neg.f64 x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 x)
(neg.f64 x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x y)
(*.f64 y x)
(* x (+ y (* -1/2 (/ y x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* x (+ y (* -1/2 (/ y x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* x (+ y (* -1/2 (/ y x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
x
(* x (- 1 (* 1/2 (/ 1 x))))
(-.f64 x #s(literal 1/2 binary64))
(* x (- 1 (* 1/2 (/ 1 x))))
(-.f64 x #s(literal 1/2 binary64))
(* x (- 1 (* 1/2 (/ 1 x))))
(-.f64 x #s(literal 1/2 binary64))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ 1 (* -1 y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ 1 (* -1 y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ 1 (* -1 y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ 1 (* -1 y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 x)
(neg.f64 x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 x)
(neg.f64 x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
x
(* -1 (* x (- (* 1/2 (/ 1 x)) 1)))
(-.f64 x #s(literal 1/2 binary64))
(* -1 (* x (- (* 1/2 (/ 1 x)) 1)))
(-.f64 x #s(literal 1/2 binary64))
(* -1 (* x (- (* 1/2 (/ 1 x)) 1)))
(-.f64 x #s(literal 1/2 binary64))

rewrite174.0ms (3.2%)

Memory
3.9MiB live, 318.9MiB allocated
Rules
11 168×lower-fma.f32
11 166×lower-fma.f64
4 718×lower-*.f32
4 714×lower-*.f64
3 196×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027134
031134
1128134
2918122
09633117
Stop Event
iter limit
node limit
iter limit
Counts
13 → 149
Calls
Call 1
Inputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))
(fma.f64 y x (neg.f64 x))
(neg.f64 x)
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
#s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x)))
#s(approx (* (- y 1) x) (*.f64 y x))
(*.f64 y x)
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y))
(*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)
#s(approx (- x 1/2) #s(literal -1/2 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval67.0ms (1.2%)

Memory
14.6MiB live, 179.8MiB allocated
Compiler

Compiled 3 837 to 528 computations (86.2% saved)

prune17.0ms (0.3%)

Memory
-15.8MiB live, 65.0MiB allocated
Pruning

11 alts after pruning (3 fresh and 8 done)

PrunedKeptTotal
New4392441
Fresh011
Picked055
Done033
Total43911450
Accuracy
100.0%
Counts
450 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.1%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (*.f64 #s(literal -1/2 binary64) y)))
52.9%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))
48.4%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
52.9%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
48.1%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
24.4%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y))
28.9%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
2.6%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) x))
26.1%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
2.5%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x)))
25.6%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x)))
Compiler

Compiled 54 to 59 computations (-9.3% saved)

simplify42.0ms (0.8%)

Memory
24.0MiB live, 63.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal -1/2 binary64) y)
cost-diff0
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (*.f64 #s(literal -1/2 binary64) y)))
cost-diff192
(fma.f64 y x (*.f64 #s(literal -1/2 binary64) y))
cost-diff0
#s(approx (- 918938533204673/1000000000000000 x) x)
cost-diff0
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) x))
cost-diff0
(neg.f64 y)
cost-diff0
(*.f64 (neg.f64 y) x)
cost-diff0
#s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x))
cost-diff0
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x)))
Rules
1 376×lower-fma.f32
1 374×lower-fma.f64
352×lower-+.f64
352×lower--.f64
352×lower-+.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02293
02793
15091
28488
315085
428485
555285
697585
7122485
8140485
9141185
0141182
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x)))
#s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x))
(*.f64 (neg.f64 y) x)
(neg.f64 y)
y
x
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) x))
#s(approx (- 918938533204673/1000000000000000 x) x)
x
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (*.f64 #s(literal -1/2 binary64) y)))
(fma.f64 y x (*.f64 #s(literal -1/2 binary64) y))
y
x
(*.f64 #s(literal -1/2 binary64) y)
#s(literal -1/2 binary64)
Outputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x)))
#s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x))
(*.f64 (neg.f64 y) x)
(neg.f64 y)
y
x
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) x))
#s(approx (- 918938533204673/1000000000000000 x) x)
x
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (*.f64 #s(literal -1/2 binary64) y)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
(fma.f64 y x (*.f64 #s(literal -1/2 binary64) y))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
y
x
(*.f64 #s(literal -1/2 binary64) y)
#s(literal -1/2 binary64)

localize49.0ms (0.9%)

Memory
-18.1MiB live, 142.3MiB allocated
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 y x (*.f64 #s(literal -1/2 binary64) y))
accuracy0
(*.f64 #s(literal -1/2 binary64) y)
accuracy33.21326271628777
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (*.f64 #s(literal -1/2 binary64) y)))
accuracy30.112257424342637
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) x))
accuracy62.592616516908144
#s(approx (- 918938533204673/1000000000000000 x) x)
accuracy0
(*.f64 (neg.f64 y) x)
accuracy0
(neg.f64 y)
accuracy30.117897191675414
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x)))
accuracy62.25545346339094
#s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x))
Samples
37.0ms256×0valid
Compiler

Compiled 65 to 20 computations (69.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
ival-mult: 9.0ms (38.2% of total)
const: 5.0ms (21.2% of total)
ival-sub: 4.0ms (17% of total)
ival-add: 4.0ms (17% of total)
ival-neg: 1.0ms (4.2% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series12.0ms (0.2%)

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

6 calls:

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

simplify145.0ms (2.7%)

Memory
3.3MiB live, 246.3MiB allocated
Algorithm
egg-herbie
Rules
10 826×lower-fma.f64
10 826×lower-fma.f32
2 422×lower-*.f64
2 422×lower-*.f32
1 714×lower--.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0721078
1228985
2658985
31723985
45679985
57923985
08351928
Stop Event
iter limit
node limit
Counts
180 → 180
Calls
Call 1
Inputs
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(* -1 x)
(+ (* -1 x) (* x y))
(+ (* -1 x) (* x y))
(+ (* -1 x) (* x y))
(* -1 (* x y))
(* -1 (* x y))
(* -1 (* x y))
(* -1 (* x y))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(* -1/2 y)
(* -1/2 y)
(* -1/2 y)
(* -1/2 y)
(* y (- x 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* x y)
(* y (+ x (* -1 (/ x y))))
(* y (+ x (* -1 (/ x y))))
(* y (+ x (* -1 (/ x y))))
(* -1 (* x y))
(* -1 (* x y))
(* -1 (* x y))
(* -1 (* x y))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* y (- x 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- x 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(* -1/2 y)
(* -1/2 y)
(* -1/2 y)
(* -1/2 y)
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* x y)
(* -1 (* y (+ (* -1 x) (/ x y))))
(* -1 (* y (+ (* -1 x) (/ x y))))
(* -1 (* y (+ (* -1 x) (/ x y))))
(* -1 (* x y))
(* -1 (* x y))
(* -1 (* x y))
(* -1 (* x y))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (* -1 x))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(* -1/2 y)
(* -1/2 y)
(* -1/2 y)
(* -1/2 y)
(- 918938533204673/1000000000000000 (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* -1 (* x y))
(* -1 (* x y))
(* -1 (* x y))
(* -1 (* x y))
(- 918938533204673/1000000000000000 (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
918938533204673/1000000000000000
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (* -1 x))
(+ 918938533204673/1000000000000000 (* -1 x))
(* -1/2 y)
(+ (* -1/2 y) (* x y))
(+ (* -1/2 y) (* x y))
(+ (* -1/2 y) (* x y))
(- 918938533204673/1000000000000000 (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(* x (- y 1))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* -1 (* x y))
(* -1 (* x y))
(* -1 (* x y))
(* -1 (* x y))
(* x (- y 1))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* -1 x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(* x y)
(* x (+ y (* -1/2 (/ y x))))
(* x (+ y (* -1/2 (/ y x))))
(* x (+ y (* -1/2 (/ y x))))
(* x (- y 1))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* x (- y 1))
(* -1 (* x y))
(* -1 (* x y))
(* -1 (* x y))
(* -1 (* x y))
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(* x y)
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(* x (- y 1))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
Outputs
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 x)
(neg.f64 x)
(+ (* -1 x) (* x y))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(+ (* -1 x) (* x y))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(+ (* -1 x) (* x y))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(+ 918938533204673/1000000000000000 (+ (* -1 x) (* y (- x 1/2))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x y)
(*.f64 y x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* y (+ x (* -1 (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- x 1/2))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* y (- (+ x (+ (* -1 (/ x y)) (* 918938533204673/1000000000000000 (/ 1 y)))) 1/2))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* y (+ (* -1 x) (/ x y))))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* y (+ 1/2 (+ (* -1 x) (* -1 (/ (+ 918938533204673/1000000000000000 (* -1 x)) y))))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(- 918938533204673/1000000000000000 (* 1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(- 918938533204673/1000000000000000 (* 1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
918938533204673/1000000000000000
#s(literal 918938533204673/1000000000000000 binary64)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(+ 918938533204673/1000000000000000 (* -1 x))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* -1/2 y)
(*.f64 #s(literal -1/2 binary64) y)
(+ (* -1/2 y) (* x y))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(+ (* -1/2 y) (* x y))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(+ (* -1/2 y) (* x y))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(- 918938533204673/1000000000000000 (* 1/2 y))
(fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(- (+ 918938533204673/1000000000000000 (* x (- y 1))) (* 1/2 y))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 x)
(neg.f64 x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x (- (* 918938533204673/1000000000000000 (/ 1 x)) 1))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x y)
(*.f64 y x)
(* x (+ y (* -1/2 (/ y x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* x (+ y (* -1/2 (/ y x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* x (+ y (* -1/2 (/ y x))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- (+ y (* 918938533204673/1000000000000000 (/ 1 x))) (+ 1 (* 1/2 (/ y x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 x)
(neg.f64 x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* -1 (* x (- 1 (* 918938533204673/1000000000000000 (/ 1 x)))))
(-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* -1 (* x (+ (* -1 y) (* 1/2 (/ y x)))))
(*.f64 (-.f64 x #s(literal 1/2 binary64)) y)
(* x (- y 1))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(* -1 (* x (+ (* -1 (- y 1)) (* -1 (/ (- 918938533204673/1000000000000000 (* 1/2 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1/2 binary64)) y (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))

rewrite159.0ms (2.9%)

Memory
7.2MiB live, 325.2MiB allocated
Rules
9 204×lower-fma.f32
9 202×lower-fma.f64
5 216×lower-*.f32
5 212×lower-*.f64
3 600×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02287
02787
111185
283882
0863379
Stop Event
iter limit
node limit
iter limit
Counts
9 → 119
Calls
Call 1
Inputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x)))
#s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x))
(*.f64 (neg.f64 y) x)
(neg.f64 y)
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) x))
#s(approx (- 918938533204673/1000000000000000 x) x)
(fma.f64 y x (*.f64 #s(literal -1/2 binary64) y))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (*.f64 #s(literal -1/2 binary64) y)))
(*.f64 #s(literal -1/2 binary64) 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>

eval35.0ms (0.6%)

Memory
-11.5MiB live, 109.9MiB allocated
Compiler

Compiled 3 204 to 511 computations (84.1% saved)

prune11.0ms (0.2%)

Memory
1.6MiB live, 41.2MiB allocated
Pruning

11 alts after pruning (0 fresh and 11 done)

PrunedKeptTotal
New2990299
Fresh000
Picked033
Done088
Total29911310
Accuracy
100.0%
Counts
310 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
48.1%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (*.f64 #s(literal -1/2 binary64) y)))
52.9%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))
48.4%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
52.9%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
48.1%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
24.4%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y))
28.9%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
2.6%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) x))
26.1%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
2.5%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x)))
25.6%
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x)))
Compiler

Compiled 143 to 106 computations (25.9% saved)

regimes22.0ms (0.4%)

Memory
23.7MiB live, 63.1MiB allocated
Counts
15 → 1
Calls
Call 1
Inputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (*.f64 #s(literal -1/2 binary64) y)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
Outputs
(fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
Calls

4 calls:

6.0ms
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
5.0ms
x
5.0ms
(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
5.0ms
y
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
100.0%1(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
Compiler

Compiled 22 to 22 computations (0% saved)

regimes39.0ms (0.7%)

Memory
-33.3MiB live, 89.0MiB allocated
Counts
13 → 1
Calls
Call 1
Inputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (*.f64 #s(literal -1/2 binary64) y)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x)))
Outputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x)))
Calls

4 calls:

23.0ms
x
6.0ms
(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
5.0ms
y
4.0ms
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
100.0%1(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
Compiler

Compiled 22 to 22 computations (0% saved)

regimes19.0ms (0.4%)

Memory
14.9MiB live, 54.5MiB allocated
Counts
12 → 3
Calls
Call 1
Inputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (*.f64 #s(literal -1/2 binary64) y)))
Outputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))
Calls

4 calls:

5.0ms
y
4.0ms
x
4.0ms
(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
4.0ms
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
Results
AccuracySegmentsBranch
97.9%3x
97.6%3y
81.5%5(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
81.5%5(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
Compiler

Compiled 22 to 22 computations (0% saved)

regimes5.0ms (0.1%)

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

1 calls:

4.0ms
x
Results
AccuracySegmentsBranch
97.9%3x
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes9.0ms (0.2%)

Memory
-15.4MiB live, 24.1MiB allocated
Counts
9 → 3
Calls
Call 1
Inputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 (neg.f64 y) x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
Outputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))
Calls

2 calls:

4.0ms
x
4.0ms
y
Results
AccuracySegmentsBranch
97.6%3y
80.7%6x
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes13.0ms (0.2%)

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

3 calls:

5.0ms
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
3.0ms
y
3.0ms
(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
Results
AccuracySegmentsBranch
69.5%4(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
69.5%4(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
79.8%4y
Compiler

Compiled 21 to 20 computations (4.8% saved)

regimes5.0ms (0.1%)

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

2 calls:

2.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
58.6%4x
75.3%3y
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes10.0ms (0.2%)

Memory
-12.1MiB live, 27.2MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
Outputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
Calls

4 calls:

3.0ms
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
2.0ms
(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
2.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
52.9%1x
52.9%1(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
52.9%1(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
52.9%1y
Compiler

Compiled 22 to 22 computations (0% saved)

regimes8.0ms (0.2%)

Memory
27.1MiB live, 27.1MiB allocated
Counts
3 → 3
Calls
Call 1
Inputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) x))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
Outputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))
Calls

4 calls:

2.0ms
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
2.0ms
(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
2.0ms
x
2.0ms
y
Results
AccuracySegmentsBranch
51.9%3(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
51.9%3(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
52.1%3x
32.0%2y
Compiler

Compiled 22 to 22 computations (0% saved)

regimes8.0ms (0.1%)

Memory
-16.8MiB live, 22.9MiB allocated
Accuracy

Total -15.5b remaining (-32.7%)

Threshold costs -15.5b (-32.7%)

Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) x))
Outputs
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
Calls

4 calls:

2.0ms
x
2.0ms
(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
2.0ms
(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
2.0ms
y
Results
AccuracySegmentsBranch
26.1%1y
26.1%1(+.f64 (-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64))) #s(literal 918938533204673/1000000000000000 binary64))
26.1%1(-.f64 (*.f64 x (-.f64 y #s(literal 1 binary64))) (*.f64 y #s(literal 1/2 binary64)))
26.1%1x
Compiler

Compiled 22 to 22 computations (0% saved)

bsearch37.0ms (0.7%)

Memory
10.3MiB live, 90.5MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
17.0ms
1.0246460415176204e-7
323.73251686681823
16.0ms
-1.708323790204963
-1.155688496630143e-6
Samples
22.0ms288×0valid
Compiler

Compiled 212 to 258 computations (-21.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
const: 6.0ms (38.4% of total)
ival-mult: 4.0ms (25.6% of total)
ival-sub: 3.0ms (19.2% of total)
ival-add: 1.0ms (6.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch2.0ms (0%)

Memory
7.0MiB live, 6.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.0246460415176204e-7
323.73251686681823
1.0ms
-1.708323790204963
-1.155688496630143e-6
Compiler

Compiled 212 to 267 computations (-25.9% saved)

bsearch40.0ms (0.7%)

Memory
-18.5MiB live, 98.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
22.0ms
0.9824173618145615
1.2495571554999126e+27
15.0ms
-532.6416129294325
-0.26952924940940565
Samples
24.0ms304×0valid
Compiler

Compiled 204 to 262 computations (-28.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
const: 5.0ms (34.6% of total)
ival-sub: 4.0ms (27.6% of total)
ival-mult: 4.0ms (27.6% of total)
ival-add: 1.0ms (6.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch28.0ms (0.5%)

Memory
20.5MiB live, 61.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
16.0ms
7.058758614567031e+87
4.0367445743753747e+90
1.0ms
0.9824173618145615
1.2495571554999126e+27
8.0ms
-224718.87105427004
-94684.20475882606
Samples
16.0ms208×0valid
Compiler

Compiled 238 to 311 computations (-30.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-add: 3.0ms (25.7% of total)
const: 3.0ms (25.7% of total)
ival-sub: 2.0ms (17.1% of total)
ival-mult: 2.0ms (17.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch3.0ms (0.1%)

Memory
-33.6MiB live, 6.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
0.9824173618145615
1.2495571554999126e+27
2.0ms
-224718.87105427004
-94684.20475882606
Compiler

Compiled 158 to 207 computations (-31% saved)

bsearch29.0ms (0.5%)

Memory
33.7MiB live, 73.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
131085305.6438558
7463126049.5090885
13.0ms
-1.155688496630143e-6
-5.400847778218361e-10
Samples
16.0ms240×0valid
Compiler

Compiled 119 to 195 computations (-63.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
const: 4.0ms (37.5% of total)
ival-mult: 3.0ms (28.1% of total)
ival-sub: 2.0ms (18.7% of total)
ival-add: 1.0ms (9.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify29.0ms (0.5%)

Memory
-10.2MiB live, 73.0MiB allocated
Algorithm
egg-herbie
Rules
32×unsub-neg-binary64--.f64-neg.f64-+.f64
22×neg-mul-1-binary64-*.f64-neg.f64
20×+-commutative-binary64-+.f64
18×sub-neg-binary64-neg.f64-+.f64--.f64
16×*-commutative-binary64-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071448
189448
2102448
3112448
4129448
5158448
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x)))
(if (<=.f64 x #s(literal -3242591731706757/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (if (<=.f64 x #s(literal 3602879701896397/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))))
(if (<=.f64 x #s(literal -3242591731706757/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (if (<=.f64 x #s(literal 3602879701896397/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x))))
(if (<=.f64 y #s(literal -3039929748475085/2251799813685248 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (if (<=.f64 y #s(literal 5404319552844595/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))))
(if (<=.f64 y #s(literal -95000 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (if (<=.f64 y #s(literal 5404319552844595/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (if (<=.f64 y #s(literal 385000000000000017062109614094999748915422258258646347081301610974531735585832177737138176 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)))))
(if (<=.f64 y #s(literal -95000 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (if (<=.f64 y #s(literal 5404319552844595/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x)))))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(if (<=.f64 x #s(literal -1357680363825023/1180591620717411303424 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (if (<=.f64 x #s(literal 132000000 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))
Outputs
(fma.f64 (-.f64 y #s(literal 1 binary64)) x (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64)))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) (fma.f64 (-.f64 #s(literal 1/2 binary64) x) y x)))
(if (<=.f64 x #s(literal -3242591731706757/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (if (<=.f64 x #s(literal 3602879701896397/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))))
(if (<=.f64 x #s(literal -3242591731706757/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 x (-.f64 y #s(literal 1 binary64)))) (if (<=.f64 x #s(literal 3602879701896397/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 y x (neg.f64 x)))))
(if (<=.f64 x #s(literal -3242591731706757/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x)) (if (<=.f64 x #s(literal 3602879701896397/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 y #s(literal 1 binary64)) x))))
(if (<=.f64 x #s(literal -3242591731706757/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 x (-.f64 y #s(literal 1 binary64)))) (if (<=.f64 x #s(literal 3602879701896397/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (fma.f64 #s(literal -1/2 binary64) y #s(literal 918938533204673/1000000000000000 binary64))) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 x (-.f64 y #s(literal 1 binary64))))))
(if (<=.f64 y #s(literal -3039929748475085/2251799813685248 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y)) (if (<=.f64 y #s(literal 5404319552844595/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 (-.f64 x #s(literal 1/2 binary64)) y))))
(if (<=.f64 y #s(literal -95000 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (if (<=.f64 y #s(literal 5404319552844595/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (if (<=.f64 y #s(literal 385000000000000017062109614094999748915422258258646347081301610974531735585832177737138176 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)))))
(if (<=.f64 y #s(literal -95000 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 x y))) (if (<=.f64 y #s(literal 5404319552844595/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) (if (<=.f64 y #s(literal 385000000000000017062109614094999748915422258258646347081301610974531735585832177737138176 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 x y))) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (*.f64 #s(approx (- x 1/2) #s(literal -1/2 binary64)) y)))))
(if (<=.f64 y #s(literal -95000 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x))) (if (<=.f64 y #s(literal 5404319552844595/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 y x)))))
(if (<=.f64 y #s(literal -95000 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 x y))) (if (<=.f64 y #s(literal 5404319552844595/4503599627370496 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (* (- y 1) x) (*.f64 x y)))))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) (-.f64 #s(literal 918938533204673/1000000000000000 binary64) x))
(if (<=.f64 x #s(literal -1357680363825023/1180591620717411303424 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x))) (if (<=.f64 x #s(literal 132000000 binary64)) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64))) #s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) (neg.f64 x)))))
#s(approx (+ (- (* x (- y 1)) (* y 1/2)) 918938533204673/1000000000000000) #s(approx (- 918938533204673/1000000000000000 x) #s(literal 918938533204673/1000000000000000 binary64)))

soundness1.3s (24.8%)

Memory
-0.7MiB live, 795.3MiB allocated
Rules
11 900×lower-fma.f64
11 900×lower-fma.f32
7 498×lower-fma.f64
7 498×lower-fma.f32
7 352×lower-fma.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
076582
1232520
2695520
31797520
46379520
08166501
0991456
13071321
28521321
322891321
466551321
080611217
02297
03097
114689
2107689
0843689
01031
01531
16931
252031
3772031
0824928
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
Compiler

Compiled 269 to 176 computations (34.6% saved)

preprocess56.0ms (1%)

Memory
8.8MiB live, 122.9MiB allocated
Compiler

Compiled 364 to 146 computations (59.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...