Graphics.Rendering.Chart.Plot.Vectors:renderPlotVectors from Chart-1.5.3

Time bar (total: 6.6s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

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

Compiled 11 to 9 computations (18.2% saved)

sample1.0s (15.8%)

Memory
23.8MiB live, 1 331.3MiB allocated
Samples
451.0ms6 323×0valid
232.0ms1 932×1valid
0.0ms2valid
Precisions
Click to see histograms. Total time spent on operations: 483.0ms
ival-sub: 240.0ms (49.7% of total)
ival-add: 117.0ms (24.2% of total)
ival-mult: 72.0ms (14.9% of total)
adjust: 39.0ms (8.1% of total)
ival-true: 6.0ms (1.2% of total)
exact: 6.0ms (1.2% of total)
ival-assert: 3.0ms (0.6% of total)
Bogosity

explain141.0ms (2.1%)

Memory
-24.7MiB live, 127.3MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
781(4024327636642501.5 -9.998244234579296e-258)0-(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
00-0-(-.f64 #s(literal 1 binary64) y)
00-0-(*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))
00-0-y
00-0-(-.f64 #s(literal 1 binary64) x)
00-0-#s(literal 1 binary64)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))cancellation790
Confusion
Predicted +Predicted -
+780
-1177
Precision
0.9873417721518988
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+7800
-10177
Precision?
0.9873417721518988
Recall?
1.0
Freqs
test
numberfreq
0177
179
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
36.0ms154×1valid
18.0ms358×0valid
Compiler

Compiled 63 to 25 computations (60.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-sub: 7.0ms (37% of total)
ival-mult: 4.0ms (21.2% of total)
adjust: 3.0ms (15.9% of total)
ival-add: 3.0ms (15.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess472.0ms (7.2%)

Memory
8.3MiB live, 319.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01753
14446
214345
361145
4210835
5365135
6467935
7513435
8539935
9557535
10567635
11579635
12611935
13678135
14716435
15746835
16784535
079
0119
1199
2389
31069
43617
512977
631837
748817
856077
958677
1060637
1161557
1263137
1366927
1469057
1570577
1671337
1771767
1873087
1978147
080206
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
Outputs
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
Compiler

Compiled 9 to 7 computations (22.2% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
71.1%
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify367.0ms (5.6%)

Memory
-9.1MiB live, 186.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 #s(literal 1 binary64) y)
cost-diff0
(-.f64 #s(literal 1 binary64) x)
cost-diff0
(*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))
cost-diff320
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0725
01125
11925
23825
310625
436123
5129723
6318323
7488123
8560723
9586723
10606323
11615523
12631323
13669223
14690523
15705723
16713323
17717623
18730823
19781423
0802022
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
x
(*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
(-.f64 #s(literal 1 binary64) y)
y
Outputs
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
x
(*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
(-.f64 #s(literal 1 binary64) y)
y

localize139.0ms (2.1%)

Memory
-8.9MiB live, 122.6MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 #s(literal 1 binary64) y)
accuracy0
(-.f64 #s(literal 1 binary64) x)
accuracy0.0078125
(*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))
accuracy18.516982592737676
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
Samples
125.0ms179×0valid
8.0ms77×1valid
Compiler

Compiled 27 to 9 computations (66.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
ival-add: 16.0ms (66.9% of total)
ival-sub: 3.0ms (12.5% of total)
adjust: 2.0ms (8.4% of total)
ival-mult: 2.0ms (8.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series5.0ms (0.1%)

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

6 calls:

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

simplify199.0ms (3%)

Memory
-5.5MiB live, 185.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068450
1186412
2490362
31714362
47473362
08200344
Stop Event
iter limit
node limit
Counts
72 → 72
Calls
Call 1
Inputs
1
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
(- 1 x)
(- (+ 1 (* -1 (* y (- 1 x)))) x)
(- (+ 1 (* -1 (* y (- 1 x)))) x)
(- (+ 1 (* -1 (* y (- 1 x)))) x)
1
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(* -1 (* y (- 1 x)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* -1 (* y (- 1 x)))
(* y (- (+ (* -1 (- 1 x)) (/ 1 y)) (/ x y)))
(* y (- (+ (* -1 (- 1 x)) (/ 1 y)) (/ x y)))
(* y (- (+ (* -1 (- 1 x)) (/ 1 y)) (/ x y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* -1 (* y (- 1 x)))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 x)))
(* -1 (* y (- (+ 1 (* -1 (/ (- 1 x) y))) x)))
(* -1 (* y (- (+ 1 (* -1 (/ (- 1 x) y))) x)))
(* -1 (* y (- (+ 1 (* -1 (/ (- 1 x) y))) x)))
(* -1 y)
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(- 1 y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- 1 y)
(- (+ 1 (* -1 (* x (- 1 y)))) y)
(- (+ 1 (* -1 (* x (- 1 y)))) y)
(- (+ 1 (* -1 (* x (- 1 y)))) y)
1
(+ 1 (* -1 x))
(+ 1 (* -1 x))
(+ 1 (* -1 x))
(* x (+ 1 (* -1 (- 1 y))))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* -1 (* x (- 1 y)))
(* x (- (+ (* -1 (- 1 y)) (/ 1 x)) (/ y x)))
(* x (- (+ (* -1 (- 1 y)) (/ 1 x)) (/ y x)))
(* x (- (+ (* -1 (- 1 y)) (/ 1 x)) (/ y x)))
(* -1 x)
(* x (- (/ 1 x) 1))
(* x (- (/ 1 x) 1))
(* x (- (/ 1 x) 1))
(* x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- 1 y)))
(* -1 (* x (- (+ 1 (* -1 (/ (- 1 y) x))) y)))
(* -1 (* x (- (+ 1 (* -1 (/ (- 1 y) x))) y)))
(* -1 (* x (- (+ 1 (* -1 (/ (- 1 y) x))) y)))
(* -1 x)
(* -1 (* x (- 1 (/ 1 x))))
(* -1 (* x (- 1 (/ 1 x))))
(* -1 (* x (- 1 (/ 1 x))))
Outputs
1
#s(literal 1 binary64)
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- 1 x)
(-.f64 #s(literal 1 binary64) x)
(- (+ 1 (* -1 (* y (- 1 x)))) x)
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(- (+ 1 (* -1 (* y (- 1 x)))) x)
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(- (+ 1 (* -1 (* y (- 1 x)))) x)
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
1
#s(literal 1 binary64)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- (+ (* -1 (- 1 x)) (/ 1 y)) (/ x y)))
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(* y (- (+ (* -1 (- 1 x)) (/ 1 y)) (/ x y)))
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(* y (- (+ (* -1 (- 1 x)) (/ 1 y)) (/ x y)))
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(* -1 y)
(neg.f64 y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- (+ 1 (* -1 (/ (- 1 x) y))) x)))
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(* -1 (* y (- (+ 1 (* -1 (/ (- 1 x) y))) x)))
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(* -1 (* y (- (+ 1 (* -1 (/ (- 1 x) y))) x)))
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(- 1 y)
(-.f64 #s(literal 1 binary64) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- 1 y)
(-.f64 #s(literal 1 binary64) y)
(- (+ 1 (* -1 (* x (- 1 y)))) y)
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(- (+ 1 (* -1 (* x (- 1 y)))) y)
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(- (+ 1 (* -1 (* x (- 1 y)))) y)
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
1
#s(literal 1 binary64)
(+ 1 (* -1 x))
(-.f64 #s(literal 1 binary64) x)
(+ 1 (* -1 x))
(-.f64 #s(literal 1 binary64) x)
(+ 1 (* -1 x))
(-.f64 #s(literal 1 binary64) x)
(* x (+ 1 (* -1 (- 1 y))))
(*.f64 x y)
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- 1 y)))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* x (- (+ (* -1 (- 1 y)) (/ 1 x)) (/ y x)))
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(* x (- (+ (* -1 (- 1 y)) (/ 1 x)) (/ y x)))
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(* x (- (+ (* -1 (- 1 y)) (/ 1 x)) (/ y x)))
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(* -1 x)
(neg.f64 x)
(* x (- (/ 1 x) 1))
(-.f64 #s(literal 1 binary64) x)
(* x (- (/ 1 x) 1))
(-.f64 #s(literal 1 binary64) x)
(* x (- (/ 1 x) 1))
(-.f64 #s(literal 1 binary64) x)
(* x y)
(*.f64 x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- 1 y)))
(*.f64 (-.f64 y #s(literal 1 binary64)) x)
(* -1 (* x (- (+ 1 (* -1 (/ (- 1 y) x))) y)))
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(* -1 (* x (- (+ 1 (* -1 (/ (- 1 y) x))) y)))
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(* -1 (* x (- (+ 1 (* -1 (/ (- 1 y) x))) y)))
(*.f64 (-.f64 y #s(literal 1 binary64)) (-.f64 x #s(literal 1 binary64)))
(* -1 x)
(neg.f64 x)
(* -1 (* x (- 1 (/ 1 x))))
(-.f64 #s(literal 1 binary64) x)
(* -1 (* x (- 1 (/ 1 x))))
(-.f64 #s(literal 1 binary64) x)
(* -1 (* x (- 1 (/ 1 x))))
(-.f64 #s(literal 1 binary64) x)

rewrite198.0ms (3%)

Memory
1.0MiB live, 313.1MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0722
01122
15222
243122
3548722
0868121
Stop Event
iter limit
node limit
iter limit
Counts
4 → 523
Calls
Call 1
Inputs
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
(*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) x)
(-.f64 #s(literal 1 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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval99.0ms (1.5%)

Memory
-1.6MiB live, 206.9MiB allocated
Compiler

Compiled 12 187 to 1 558 computations (87.2% saved)

prune13.0ms (0.2%)

Memory
15.9MiB live, 54.5MiB allocated
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New5896595
Fresh000
Picked101
Done000
Total5906596
Accuracy
100.0%
Counts
596 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.3%
(+.f64 (-.f64 #s(literal 1 binary64) y) (fma.f64 (neg.f64 x) (-.f64 #s(literal 1 binary64) y) x))
100.0%
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64)))
60.4%
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
65.9%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))
40.5%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
35.3%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
Compiler

Compiled 68 to 64 computations (5.9% saved)

simplify279.0ms (4.2%)

Memory
-13.8MiB live, 261.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 x #s(literal 1 binary64))
cost-diff0
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
cost-diff0
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))
cost-diff0
(*.f64 x y)
cost-diff0
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
cost-diff0
(-.f64 #s(literal 1 binary64) y)
cost-diff0
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
cost-diff0
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
cost-diff0
(-.f64 x #s(literal 1 binary64))
cost-diff0
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
cost-diff0
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64)))
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
017102
022102
136102
258102
3135102
440787
5131587
6322987
7493687
8564487
9589887
10609487
11618687
12634487
13672387
14693687
15708887
16716487
17720787
18733987
19784587
0805187
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(-.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
y
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
(*.f64 x y)
x
y
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(-.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
y
Outputs
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(-.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
y
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 y x))
(*.f64 x y)
(*.f64 y x)
x
y
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(-.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
y

localize76.0ms (1.2%)

Memory
-12.6MiB live, 195.0MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 x #s(literal 1 binary64))
accuracy0.0078125
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
accuracy21.796594859585852
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))
accuracy0
(*.f64 x y)
accuracy38.048369243219376
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
accuracy0
(-.f64 #s(literal 1 binary64) y)
accuracy25.317600470735577
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
accuracy41.38996301362392
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
accuracy0
(-.f64 x #s(literal 1 binary64))
accuracy0
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64)))
accuracy0.00390625
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
Samples
20.0ms179×0valid
19.0ms77×1valid
Compiler

Compiled 82 to 13 computations (84.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
adjust: 6.0ms (29.2% of total)
ival-mult: 6.0ms (29.2% of total)
ival-sub: 5.0ms (24.3% of total)
ival-add: 3.0ms (14.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series14.0ms (0.2%)

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

6 calls:

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

simplify215.0ms (3.3%)

Memory
21.2MiB live, 214.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711231
12191123
25921123
314701123
451681123
082171015
Stop Event
iter limit
node limit
Counts
216 → 214
Calls
Call 1
Inputs
1
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
1
(+ 1 (* y (- x 1)))
(+ 1 (* y (- x 1)))
(+ 1 (* y (- x 1)))
1
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
1
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
1
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(+ 1 (* -1 y))
1
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
(* x y)
(* x y)
(* x y)
(* x y)
1
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
(* y (- x 1))
(* y (- x 1))
(* y (- x 1))
(* y (- x 1))
(* -1 (* y (- 1 x)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (- x 1))
(* y (- (+ x (/ 1 y)) 1))
(* y (- (+ x (/ 1 y)) 1))
(* y (- (+ x (/ 1 y)) 1))
(* -1 (* y (- 1 x)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* -1 (* y (- 1 x)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* -1 (* y (- 1 x)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y (- 1 x)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (- x 1))
(* y (- x 1))
(* y (- x 1))
(* y (- x 1))
(* -1 (* y (- 1 x)))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* y (- x 1))
(* -1 (* y (- (* -1 (- x 1)) (/ 1 y))))
(* -1 (* y (- (* -1 (- x 1)) (/ 1 y))))
(* -1 (* y (- (* -1 (- x 1)) (/ 1 y))))
(* -1 (* y (- 1 x)))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 x)))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 y)
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 x)))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y (- 1 x)))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* y (- x 1))
(* y (- x 1))
(* y (- x 1))
(* y (- x 1))
(- 1 y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(+ 1 (* -1 y))
(+ 1 (+ (* -1 y) (* x y)))
(+ 1 (+ (* -1 y) (* x y)))
(+ 1 (+ (* -1 y) (* x y)))
-1
(- x 1)
(- x 1)
(- x 1)
(- 1 y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- 1 y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- 1 y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(* x y)
(* x y)
(* x y)
(* x y)
(- 1 y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(* -1 y)
(+ (* -1 y) (* x y))
(+ (* -1 y) (* x y))
(+ (* -1 y) (* x y))
(* x (+ 1 (* -1 (- 1 y))))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x y)
(* x (+ y (+ (* -1 (/ y x)) (/ 1 x))))
(* x (+ y (+ (* -1 (/ y x)) (/ 1 x))))
(* x (+ y (+ (* -1 (/ y x)) (/ 1 x))))
x
(* x (- 1 (/ 1 x)))
(* x (- 1 (/ 1 x)))
(* x (- 1 (/ 1 x)))
(* x (+ 1 (* -1 (- 1 y))))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (+ 1 (* -1 (- 1 y))))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (+ 1 (* -1 (- 1 y))))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x y)
(* x y)
(* x y)
(* x y)
(* x (+ 1 (* -1 (- 1 y))))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x y)
(* x (+ y (* -1 (/ y x))))
(* x (+ y (* -1 (/ y x))))
(* x (+ y (* -1 (/ y x))))
(* x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ 1 (* -1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ 1 (* -1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ 1 (* -1 y)) x)))))
x
(* -1 (* x (- (/ 1 x) 1)))
(* -1 (* x (- (/ 1 x) 1)))
(* -1 (* x (- (/ 1 x) 1)))
(* x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* x y)
(* -1 (* x (+ (* -1 y) (/ y x))))
(* -1 (* x (+ (* -1 y) (/ y x))))
(* -1 (* x (+ (* -1 y) (/ y x))))
Outputs
1
#s(literal 1 binary64)
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
1
#s(literal 1 binary64)
(+ 1 (* y (- x 1)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* y (- x 1)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* y (- x 1)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
1
#s(literal 1 binary64)
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
1
#s(literal 1 binary64)
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
1
#s(literal 1 binary64)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
1
#s(literal 1 binary64)
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
1
#s(literal 1 binary64)
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- (+ x (/ 1 y)) 1))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (- (+ x (/ 1 y)) 1))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (- (+ x (/ 1 y)) 1))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 y)
(neg.f64 y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- (* -1 (- x 1)) (/ 1 y))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- (* -1 (- x 1)) (/ 1 y))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- (* -1 (- x 1)) (/ 1 y))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(- 1 y)
(-.f64 #s(literal 1 binary64) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (+ (* -1 y) (* x y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (+ (* -1 y) (* x y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (+ (* -1 y) (* x y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
-1
#s(literal -1 binary64)
(- x 1)
(-.f64 x #s(literal 1 binary64))
(- x 1)
(-.f64 x #s(literal 1 binary64))
(- x 1)
(-.f64 x #s(literal 1 binary64))
(- 1 y)
(-.f64 #s(literal 1 binary64) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- 1 y)
(-.f64 #s(literal 1 binary64) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- 1 y)
(-.f64 #s(literal 1 binary64) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(- 1 y)
(-.f64 #s(literal 1 binary64) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 y)
(neg.f64 y)
(+ (* -1 y) (* x y))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(+ (* -1 y) (* x y))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(+ (* -1 y) (* x y))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* x (+ 1 (* -1 (- 1 y))))
(*.f64 x y)
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* x (+ y (+ (* -1 (/ y x)) (/ 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (+ y (+ (* -1 (/ y x)) (/ 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (+ y (+ (* -1 (/ y x)) (/ 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
x
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
(* x (+ 1 (* -1 (- 1 y))))
(*.f64 x y)
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (+ 1 (* -1 (- 1 y))))
(*.f64 x y)
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (+ 1 (* -1 (- 1 y))))
(*.f64 x y)
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x (+ 1 (* -1 (- 1 y))))
(*.f64 x y)
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* x (+ y (* -1 (/ y x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* x (+ y (* -1 (/ y x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* x (+ y (* -1 (/ y x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* x y)
(*.f64 x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ 1 (* -1 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ 1 (* -1 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ 1 (* -1 y)) x)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
x
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* -1 (* x (+ (* -1 y) (/ y x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* x (+ (* -1 y) (/ y x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* x (+ (* -1 y) (/ y x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)

rewrite169.0ms (2.6%)

Memory
4.1MiB live, 283.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01788
02288
18788
267488
3799288
0860183
Stop Event
iter limit
node limit
iter limit
Counts
10 → 289
Calls
Call 1
Inputs
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(-.f64 x #s(literal 1 binary64))
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
(*.f64 x y)
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))
(*.f64 (-.f64 x #s(literal 1 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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval131.0ms (2%)

Memory
-3.4MiB live, 200.5MiB allocated
Compiler

Compiled 8 518 to 1 216 computations (85.7% saved)

prune21.0ms (0.3%)

Memory
-17.8MiB live, 61.3MiB allocated
Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New5952597
Fresh101
Picked145
Done000
Total5976603
Accuracy
100.0%
Counts
603 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64)))
65.9%
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y)))
60.4%
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
40.5%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
27.4%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))
35.3%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
Compiler

Compiled 27 to 29 computations (-7.4% saved)

simplify321.0ms (4.9%)

Memory
26.7MiB live, 305.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 y)
cost-diff0
(fma.f64 y x (neg.f64 y))
cost-diff0
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y)))
cost-diff0
(neg.f64 y)
cost-diff0
#s(approx (- 1 y) (neg.f64 y))
cost-diff0
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01249
01549
12849
25549
314349
440845
5124545
6322245
7489145
8560945
9586545
10606145
11615345
12631145
13669045
14690345
15705545
16713145
17717445
18730645
19781245
0801843
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
y
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y)))
(fma.f64 y x (neg.f64 y))
y
x
(neg.f64 y)
Outputs
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
y
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y)))
(fma.f64 y x (neg.f64 y))
y
x
(neg.f64 y)

localize34.0ms (0.5%)

Memory
6.1MiB live, 82.8MiB allocated
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 y x (neg.f64 y))
accuracy0
(neg.f64 y)
accuracy21.796594859585852
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y)))
accuracy0
(neg.f64 y)
accuracy25.317600470735577
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))
accuracy31.60759921522176
#s(approx (- 1 y) (neg.f64 y))
Samples
16.0ms179×0valid
11.0ms77×1valid
Compiler

Compiled 36 to 12 computations (66.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-mult: 4.0ms (24.4% of total)
ival-sub: 3.0ms (18.3% of total)
ival-add: 3.0ms (18.3% of total)
ival-neg: 3.0ms (18.3% of total)
adjust: 2.0ms (12.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series8.0ms (0.1%)

Memory
-16.3MiB live, 20.5MiB allocated
Counts
5 → 96
Calls
Call 1
Inputs
#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())
#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())
#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())
#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())
#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())
Outputs
#s(alt 1 (taylor 0 y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 (* y (- 1 x)))) (taylor 0 y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 (* y (- 1 x)))) (taylor 0 y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 (* y (- 1 x)))) (taylor 0 y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor 0 y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor 0 y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor 0 y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor 0 y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 (* y (- 1 x)))) (taylor 0 y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 (* y (- 1 x)))) (taylor 0 y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 (* y (- 1 x)))) (taylor 0 y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1)) (taylor 0 y) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1)) (taylor 0 y) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1)) (taylor 0 y) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1)) (taylor 0 y) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 x))) (taylor inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 (- 1 x)) (/ 1 y))) (taylor inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 (- 1 x)) (/ 1 y))) (taylor inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 (- 1 x)) (/ 1 y))) (taylor inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 x))) (taylor inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 (- 1 x)) (/ 1 y))) (taylor inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 (- 1 x)) (/ 1 y))) (taylor inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 (- 1 x)) (/ 1 y))) (taylor inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1)) (taylor inf y) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1)) (taylor inf y) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1)) (taylor inf y) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* y (- x 1)) (taylor inf y) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 x))) (taylor -inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (+ x (/ 1 y))))) (taylor -inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (+ x (/ 1 y))))) (taylor -inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (+ x (/ 1 y))))) (taylor -inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt #s(approx (- 1 y) (neg.f64 y)) (patch #s(approx (- 1 y) (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (neg.f64 y) (patch (neg.f64 y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 x))) (taylor -inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (+ x (/ 1 y))))) (taylor -inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (+ x (/ 1 y))))) (taylor -inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (+ x (/ 1 y))))) (taylor -inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1 (* -1 x)))) (taylor -inf y) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1 (* -1 x)))) (taylor -inf y) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1 (* -1 x)))) (taylor -inf y) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ 1 (* -1 x)))) (taylor -inf y) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (- 1 y) (taylor 0 x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y) (taylor 0 x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y) (taylor 0 x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y) (taylor 0 x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (- 1 y) (taylor 0 x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y) (taylor 0 x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y) (taylor 0 x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y) (taylor 0 x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor 0 x) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (- (* x y) y) (taylor 0 x) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (- (* x y) y) (taylor 0 x) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (- (* x y) y) (taylor 0 x) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (- 1 y)))) (taylor inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x))) (taylor inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x))) (taylor inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x))) (taylor inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (- 1 y)))) (taylor inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x))) (taylor inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x))) (taylor inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x))) (taylor inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* x (+ y (* -1 (/ y x)))) (taylor inf x) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* x (+ y (* -1 (/ y x)))) (taylor inf x) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* x (+ y (* -1 (/ y x)))) (taylor inf x) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ (- 1 y) x)) y))) (taylor -inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ (- 1 y) x)) y))) (taylor -inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ (- 1 y) x)) y))) (taylor -inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ (- 1 y) x)) y))) (taylor -inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ (- 1 y) x)) y))) (taylor -inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ (- 1 y) x)) y))) (taylor -inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 y) (/ y x)))) (taylor -inf x) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 y) (/ y x)))) (taylor -inf x) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 y) (/ y x)))) (taylor -inf x) (#s(alt (fma.f64 y x (neg.f64 y)) (patch (fma.f64 y x (neg.f64 y)) #<representation binary64>) () ())) ())
Calls

6 calls:

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

simplify159.0ms (2.4%)

Memory
8.9MiB live, 255.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054527
1164485
2401461
31172461
44915461
57547461
08063425
Stop Event
iter limit
node limit
Counts
96 → 96
Calls
Call 1
Inputs
1
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
1
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
1
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
(* y (- x 1))
(* y (- x 1))
(* y (- x 1))
(* y (- x 1))
(* -1 (* y (- 1 x)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 (* y (- 1 x)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (- x 1))
(* y (- x 1))
(* y (- x 1))
(* y (- x 1))
(* -1 (* y (- 1 x)))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 y)
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 y)
(* -1 (* y (- 1 x)))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (+ 1 (* -1 x))))
(* -1 (* y (+ 1 (* -1 x))))
(* -1 (* y (+ 1 (* -1 x))))
(* -1 (* y (+ 1 (* -1 x))))
(- 1 y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- 1 y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(* -1 y)
(- (* x y) y)
(- (* x y) y)
(- (* x y) y)
(* x (+ 1 (* -1 (- 1 y))))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (+ 1 (* -1 (- 1 y))))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x y)
(* x (+ y (* -1 (/ y x))))
(* x (+ y (* -1 (/ y x))))
(* x (+ y (* -1 (/ y x))))
(* x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* x y)
(* -1 (* x (+ (* -1 y) (/ y x))))
(* -1 (* x (+ (* -1 y) (/ y x))))
(* -1 (* x (+ (* -1 y) (/ y x))))
Outputs
1
#s(literal 1 binary64)
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
1
#s(literal 1 binary64)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
1
#s(literal 1 binary64)
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 y)
(neg.f64 y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (+ 1 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (+ 1 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (+ 1 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (+ 1 (* -1 x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(- 1 y)
(-.f64 #s(literal 1 binary64) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- 1 y)
(-.f64 #s(literal 1 binary64) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 y)
(neg.f64 y)
(- (* x y) y)
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(- (* x y) y)
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(- (* x y) y)
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* x (+ 1 (* -1 (- 1 y))))
(*.f64 x y)
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (+ 1 (* -1 (- 1 y))))
(*.f64 x y)
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* x (+ y (* -1 (/ y x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* x (+ y (* -1 (/ y x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* x (+ y (* -1 (/ y x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* x y)
(*.f64 x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* -1 (* x (+ (* -1 y) (/ y x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* x (+ (* -1 y) (/ y x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* x (+ (* -1 y) (/ y x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)

rewrite137.0ms (2.1%)

Memory
-18.9MiB live, 260.3MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01244
01544
17344
261639
3795239
0844037
Stop Event
iter limit
node limit
iter limit
Counts
5 → 147
Calls
Call 1
Inputs
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))
#s(approx (- 1 y) (neg.f64 y))
(neg.f64 y)
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y)))
(fma.f64 y x (neg.f64 y))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval31.0ms (0.5%)

Memory
22.2MiB live, 100.2MiB allocated
Compiler

Compiled 3 039 to 538 computations (82.3% saved)

prune262.0ms (4%)

Memory
-10.2MiB live, 28.6MiB allocated
Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New2781279
Fresh000
Picked022
Done044
Total2787285
Accuracy
100.0%
Counts
285 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64)))
65.9%
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y)))
60.4%
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
40.5%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
27.4%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))
2.7%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y))
35.3%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
Compiler

Compiled 30 to 33 computations (-10% saved)

simplify312.0ms (4.7%)

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

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (- 1 y) y)
cost-diff0
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
0921
11721
23621
310421
435819
5129819
6317419
7484519
8556219
9582019
10601619
11610819
12626619
13664519
14685819
15701019
16708619
17712919
18726119
19776719
0822318
Stop Event
iter limit
node limit
saturated
Calls
Call 1
Inputs
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y))
#s(approx (- 1 y) y)
y
Outputs
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y))
#s(approx (- 1 y) y)
y

localize22.0ms (0.3%)

Memory
20.5MiB live, 59.7MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy25.317600470735577
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y))
accuracy62.51848017608931
#s(approx (- 1 y) y)
Samples
9.0ms77×1valid
8.0ms179×0valid
Compiler

Compiled 15 to 9 computations (40% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-sub: 3.0ms (29.8% of total)
adjust: 3.0ms (29.8% of total)
ival-mult: 2.0ms (19.9% of total)
ival-add: 2.0ms (19.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series2.0ms (0%)

Memory
7.5MiB live, 7.5MiB allocated
Counts
2 → 36
Calls
Call 1
Inputs
#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())
#s(alt #s(approx (- 1 y) y) (patch #s(approx (- 1 y) y) #<representation binary64>) () ())
Outputs
#s(alt 1 (taylor 0 y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 (* y (- 1 x)))) (taylor 0 y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 (* y (- 1 x)))) (taylor 0 y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 (* y (- 1 x)))) (taylor 0 y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 y) (#s(alt #s(approx (- 1 y) y) (patch #s(approx (- 1 y) y) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt #s(approx (- 1 y) y) (patch #s(approx (- 1 y) y) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt #s(approx (- 1 y) y) (patch #s(approx (- 1 y) y) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt #s(approx (- 1 y) y) (patch #s(approx (- 1 y) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 x))) (taylor inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 (- 1 x)) (/ 1 y))) (taylor inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 (- 1 x)) (/ 1 y))) (taylor inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 (- 1 x)) (/ 1 y))) (taylor inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt #s(approx (- 1 y) y) (patch #s(approx (- 1 y) y) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt #s(approx (- 1 y) y) (patch #s(approx (- 1 y) y) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt #s(approx (- 1 y) y) (patch #s(approx (- 1 y) y) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt #s(approx (- 1 y) y) (patch #s(approx (- 1 y) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 x))) (taylor -inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (+ x (/ 1 y))))) (taylor -inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (+ x (/ 1 y))))) (taylor -inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (+ x (/ 1 y))))) (taylor -inf y) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt #s(approx (- 1 y) y) (patch #s(approx (- 1 y) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt #s(approx (- 1 y) y) (patch #s(approx (- 1 y) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt #s(approx (- 1 y) y) (patch #s(approx (- 1 y) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt #s(approx (- 1 y) y) (patch #s(approx (- 1 y) y) #<representation binary64>) () ())) ())
#s(alt (- 1 y) (taylor 0 x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y) (taylor 0 x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y) (taylor 0 x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y) (taylor 0 x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* -1 (- 1 y)))) (taylor inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x))) (taylor inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x))) (taylor inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x))) (taylor inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ (- 1 y) x)) y))) (taylor -inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ (- 1 y) x)) y))) (taylor -inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ (- 1 y) x)) y))) (taylor -inf x) (#s(alt #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) (patch #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y)) #<representation binary64>) () ())) ())
Calls

6 calls:

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

simplify187.0ms (2.9%)

Memory
2.3MiB live, 235.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041208
1114188
2297178
3983178
44764178
56941178
08022160
Stop Event
iter limit
node limit
Counts
36 → 36
Calls
Call 1
Inputs
1
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
(+ 1 (* -1 (* y (- 1 x))))
1
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(* -1 (* y (- 1 x)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* -1 (* y (- 1 x)))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(* -1 y)
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(- 1 y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(* x (+ 1 (* -1 (- 1 y))))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(* x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
Outputs
1
#s(literal 1 binary64)
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(+ 1 (* -1 (* y (- 1 x))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
1
#s(literal 1 binary64)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* y (+ (* -1 (- 1 x)) (/ 1 y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 y)
(neg.f64 y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 x)))
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* y (- 1 (+ x (/ 1 y)))))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(- 1 y)
(-.f64 #s(literal 1 binary64) y)
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(- (+ 1 (* x (+ 1 (* -1 (- 1 y))))) y)
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (+ 1 (* -1 (- 1 y))))
(*.f64 x y)
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x (- (+ 1 (+ (* -1 (- 1 y)) (/ 1 x))) (/ y x)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* x y)
(*.f64 x y)
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
(* -1 (* x (- (* -1 (/ (- 1 y) x)) y)))
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))

rewrite194.0ms (3%)

Memory
-29.0MiB live, 293.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
0920
15020
242920
3549520
0868819
Stop Event
iter limit
node limit
saturated
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y))
#s(approx (- 1 y) y)
Outputs
#<batchref>
#<batchref>

eval4.0ms (0.1%)

Memory
9.8MiB live, 9.8MiB allocated
Compiler

Compiled 214 to 22 computations (89.7% saved)

prune5.0ms (0.1%)

Memory
13.3MiB live, 13.3MiB allocated
Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New38038
Fresh000
Picked011
Done066
Total38745
Accuracy
100.0%
Counts
45 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64)))
65.9%
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y)))
60.4%
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
40.5%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
27.4%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))
2.7%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y))
35.3%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
Compiler

Compiled 86 to 59 computations (31.4% saved)

regimes37.0ms (0.6%)

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

4 calls:

25.0ms
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
4.0ms
x
4.0ms
y
3.0ms
(-.f64 #s(literal 1 binary64) y)
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
100.0%1(-.f64 #s(literal 1 binary64) y)
Compiler

Compiled 14 to 15 computations (-7.1% saved)

regimes14.0ms (0.2%)

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

4 calls:

5.0ms
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
3.0ms
y
3.0ms
x
3.0ms
(-.f64 #s(literal 1 binary64) y)
Results
AccuracySegmentsBranch
85.9%3x
86.3%3y
85.6%3(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
83.6%3(-.f64 #s(literal 1 binary64) y)
Compiler

Compiled 14 to 15 computations (-7.1% saved)

regimes3.0ms (0%)

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

1 calls:

3.0ms
y
Results
AccuracySegmentsBranch
86.3%3y
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes7.0ms (0.1%)

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

2 calls:

4.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
85.9%3x
65.9%4y
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes10.0ms (0.2%)

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

4 calls:

2.0ms
x
2.0ms
y
2.0ms
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
2.0ms
(-.f64 #s(literal 1 binary64) y)
Results
AccuracySegmentsBranch
60.4%1y
60.4%1(-.f64 #s(literal 1 binary64) y)
60.4%1(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
60.4%1x
Compiler

Compiled 14 to 15 computations (-7.1% saved)

regimes8.0ms (0.1%)

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

4 calls:

2.0ms
x
2.0ms
y
2.0ms
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
2.0ms
(-.f64 #s(literal 1 binary64) y)
Results
AccuracySegmentsBranch
59.7%3(-.f64 #s(literal 1 binary64) y)
59.7%3(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
41.7%3x
59.7%3y
Compiler

Compiled 14 to 15 computations (-7.1% saved)

regimes9.0ms (0.1%)

Memory
-20.5MiB live, 22.2MiB allocated
Accuracy

Total -21.3b remaining (-51.4%)

Threshold costs -21.3b (-51.4%)

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

4 calls:

4.0ms
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
2.0ms
y
2.0ms
x
1.0ms
(-.f64 #s(literal 1 binary64) y)
Results
AccuracySegmentsBranch
35.3%1x
35.3%1(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
35.3%1(-.f64 #s(literal 1 binary64) y)
35.3%1y
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch38.0ms (0.6%)

Memory
25.3MiB live, 103.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
18.0ms
4.683669286753493e-86
6.263183248765418e-75
16.0ms
-3.4920775708508167e-31
-1.858630374977412e-39
Samples
15.0ms156×1valid
9.0ms148×0valid
Compiler

Compiled 164 to 230 computations (-40.2% saved)

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

bsearch2.0ms (0%)

Memory
7.4MiB live, 7.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
4.683669286753493e-86
6.263183248765418e-75
1.0ms
-3.4920775708508167e-31
-1.858630374977412e-39
Compiler

Compiled 164 to 240 computations (-46.3% saved)

bsearch51.0ms (0.8%)

Memory
-6.8MiB live, 77.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
37.0ms
2.2697824325832794e+112
5.059014481381592e+124
10.0ms
-9.268338745709529e+75
-4.014499236184692e+75
Samples
19.0ms119×1valid
5.0ms121×0valid
Compiler

Compiled 132 to 177 computations (-34.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-sub: 4.0ms (38.3% of total)
adjust: 2.0ms (19.1% of total)
ival-add: 2.0ms (19.1% of total)
ival-mult: 2.0ms (19.1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch36.0ms (0.5%)

Memory
2.9MiB live, 80.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
6.856599044436475e-5
290563.91722698533
19.0ms
-85420936500078940.0
-8.642093778352057e-6
Samples
14.0ms272×0valid
3.0ms20×2valid
2.0ms28×1valid
Compiler

Compiled 132 to 232 computations (-75.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 3.0ms (31.3% of total)
ival-sub: 3.0ms (31.3% of total)
ival-add: 2.0ms (20.9% of total)
adjust: 1.0ms (10.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

simplify30.0ms (0.5%)

Memory
-9.9MiB live, 69.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041236
151236
257236
363236
Stop Event
saturated
Calls
Call 1
Inputs
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64)))
(if (<=.f64 y #s(literal -2740315569995443/22835963083295358096932575511191922182123945984 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y)) (if (<=.f64 y #s(literal 7518674366441603/273406340597876490546562778389702670669146178861651554553221325801244124899921990402939147127881728 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y)))))
(if (<=.f64 y #s(literal -2740315569995443/22835963083295358096932575511191922182123945984 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y)) (if (<=.f64 y #s(literal 7518674366441603/273406340597876490546562778389702670669146178861651554553221325801244124899921990402939147127881728 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))))
(if (<=.f64 x #s(literal -6200000000000000227495312104254300431088469179230806972964680160325201297408 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y)) (if (<=.f64 x #s(literal 29000000000000001818254770743920900436591732459224134913454241140751952419884544400905200807146327997305717784576 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))))
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
(if (<=.f64 y #s(literal -1 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))))
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
Outputs
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64)))
(if (<=.f64 y #s(literal -2740315569995443/22835963083295358096932575511191922182123945984 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y)) (if (<=.f64 y #s(literal 7518674366441603/273406340597876490546562778389702670669146178861651554553221325801244124899921990402939147127881728 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y)))))
(if (<=.f64 y #s(literal -2740315569995443/22835963083295358096932575511191922182123945984 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y)) (if (<=.f64 y #s(literal 7518674366441603/273406340597876490546562778389702670669146178861651554553221325801244124899921990402939147127881728 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))))
(if (<=.f64 x #s(literal -6200000000000000227495312104254300431088469179230806972964680160325201297408 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y)) (if (<=.f64 x #s(literal 29000000000000001818254770743920900436591732459224134913454241140751952419884544400905200807146327997305717784576 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))))
(if (<=.f64 x #s(literal -6200000000000000227495312104254300431088469179230806972964680160325201297408 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 y x)) (if (<=.f64 x #s(literal 29000000000000001818254770743920900436591732459224134913454241140751952419884544400905200807146327997305717784576 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 y x))))
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
(if (<=.f64 y #s(literal -1 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))))
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))

soundness1.0s (15.4%)

Memory
-11.7MiB live, 544.6MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068450
1186412
2490362
31714362
47473362
08200344
01788
02288
18788
267488
3799288
0860183
0711231
12191123
25921123
314701123
451681123
082171015
Stop Event
done
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 138 to 92 computations (33.3% saved)

preprocess63.0ms (1%)

Memory
7.7MiB live, 128.1MiB allocated
Compiler

Compiled 222 to 100 computations (55% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...