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

Time bar (total: 6.2s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.5MiB live, 0.5MiB 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.2s (19.4%)

Memory
25.0MiB live, 1 257.6MiB allocated
Samples
542.0ms6 310×0valid
346.0ms1 944×1valid
0.0ms2valid
Precisions
Click to see histograms. Total time spent on operations: 424.0ms
ival-sub: 177.0ms (41.8% of total)
ival-add: 88.0ms (20.8% of total)
adjust: 79.0ms (18.6% of total)
ival-mult: 64.0ms (15.1% of total)
ival-true: 6.0ms (1.4% of total)
exact: 5.0ms (1.2% of total)
ival-assert: 4.0ms (0.9% of total)
Bogosity

explain93.0ms (1.5%)

Memory
-24.3MiB live, 216.9MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
584(-24252883407.821243 -1.1236310503703415e-194)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)))cancellation620
Confusion
Predicted +Predicted -
+580
-4194
Precision
0.9354838709677419
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+5800
-40194
Precision?
0.9354838709677419
Recall?
1.0
Freqs
test
numberfreq
0194
162
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
24.0ms398×0valid
12.0ms114×1valid
Compiler

Compiled 63 to 25 computations (60.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-sub: 7.0ms (38% of total)
ival-mult: 6.0ms (32.6% of total)
ival-add: 3.0ms (16.3% of total)
adjust: 2.0ms (10.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess443.0ms (7.1%)

Memory
9.6MiB live, 368.9MiB 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.7MiB live, 0.7MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0%)

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

Compiled 9 to 7 computations (22.2% saved)

simplify277.0ms (4.5%)

Memory
1.5MiB live, 281.2MiB 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

localize23.0ms (0.4%)

Memory
16.9MiB live, 56.0MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 #s(literal 1 binary64) y)
accuracy0
(-.f64 #s(literal 1 binary64) x)
accuracy0.015625
(*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))
accuracy13.698721990467355
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
Samples
11.0ms199×0valid
6.0ms57×1valid
Compiler

Compiled 27 to 9 computations (66.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-sub: 3.0ms (31.2% of total)
ival-add: 3.0ms (31.2% of total)
ival-mult: 2.0ms (20.8% 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)

series6.0ms (0.1%)

Memory
-25.3MiB live, 14.0MiB 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
2.0ms
x
@inf
((+ x (* (- 1 x) (- 1 y))) (* (- 1 x) (- 1 y)) (- 1 x) (- 1 y))
1.0ms
y
@inf
((+ 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))
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))

simplify213.0ms (3.4%)

Memory
17.1MiB live, 338.0MiB 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)

rewrite244.0ms (3.9%)

Memory
-11.8MiB live, 267.8MiB 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>

eval144.0ms (2.3%)

Memory
21.3MiB live, 179.1MiB allocated
Compiler

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

prune75.0ms (1.2%)

Memory
-24.6MiB live, 52.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
87.4%
(+.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)))
61.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
65.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))
40.6%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
37.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
Compiler

Compiled 68 to 64 computations (5.9% saved)

simplify362.0ms (5.8%)

Memory
23.9MiB live, 274.3MiB 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

localize117.0ms (1.9%)

Memory
-33.0MiB live, 89.0MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 x #s(literal 1 binary64))
accuracy0.01171875
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
accuracy22.245709255925966
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))
accuracy0
(*.f64 x y)
accuracy38.012809462083396
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
accuracy0
(-.f64 #s(literal 1 binary64) y)
accuracy24.831090415941826
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
accuracy40.209752266224136
#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.0078125
(fma.f64 (-.f64 x #s(literal 1 binary64)) y #s(literal 1 binary64))
Samples
46.0ms199×0valid
34.0ms57×1valid
Compiler

Compiled 82 to 13 computations (84.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 67.0ms
ival-mult: 58.0ms (86.3% of total)
ival-sub: 4.0ms (5.9% of total)
ival-add: 3.0ms (4.5% of total)
adjust: 2.0ms (3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series12.0ms (0.2%)

Memory
28.9MiB live, 28.9MiB 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
@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))

simplify179.0ms (2.9%)

Memory
-17.2MiB live, 256.2MiB 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)

rewrite209.0ms (3.4%)

Memory
-14.8MiB live, 350.3MiB 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>

eval67.0ms (1.1%)

Memory
29.8MiB live, 186.5MiB allocated
Compiler

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

prune19.0ms (0.3%)

Memory
-9.5MiB live, 66.8MiB 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.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y)))
61.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
40.6%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
26.8%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))
37.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
Compiler

Compiled 27 to 29 computations (-7.4% saved)

simplify292.0ms (4.7%)

Memory
-10.3MiB live, 309.8MiB 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)

localize31.0ms (0.5%)

Memory
30.2MiB live, 68.9MiB allocated
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 y x (neg.f64 y))
accuracy0
(neg.f64 y)
accuracy22.245709255925966
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y)))
accuracy0
(neg.f64 y)
accuracy24.831090415941826
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))
accuracy30.417100307193078
#s(approx (- 1 y) (neg.f64 y))
Samples
14.0ms199×0valid
8.0ms57×1valid
Compiler

Compiled 36 to 12 computations (66.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 4.0ms (30.9% of total)
ival-sub: 3.0ms (23.2% of total)
ival-add: 3.0ms (23.2% of total)
adjust: 2.0ms (15.4% of total)
ival-neg: 1.0ms (7.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series9.0ms (0.2%)

Memory
-30.4MiB live, 12.9MiB 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
5.0ms
x
@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)))
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
y
@0
((+ x (* (- 1 x) (- 1 y))) (- 1 y) (neg y) (+ x (* (- 1 x) (- 1 y))) (+ (* y x) (neg y)))

simplify129.0ms (2.1%)

Memory
-2.1MiB live, 193.7MiB 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)

rewrite178.0ms (2.9%)

Memory
19.4MiB live, 258.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>

eval34.0ms (0.5%)

Memory
-5.4MiB live, 79.2MiB allocated
Compiler

Compiled 3 039 to 538 computations (82.3% saved)

prune10.0ms (0.2%)

Memory
-10.3MiB live, 29.0MiB 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.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y)))
61.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
40.6%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
26.8%
#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))
37.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
Compiler

Compiled 30 to 33 computations (-10% saved)

simplify292.0ms (4.7%)

Memory
9.5MiB live, 286.3MiB 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

localize23.0ms (0.4%)

Memory
0.8MiB live, 39.6MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy24.831090415941826
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) y))
accuracy62.675497874643035
#s(approx (- 1 y) y)
Samples
9.0ms199×0valid
8.0ms57×1valid
Compiler

Compiled 15 to 9 computations (40% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-sub: 3.0ms (36.4% of total)
ival-mult: 2.0ms (24.3% of total)
adjust: 1.0ms (12.1% of total)
ival-add: 1.0ms (12.1% 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
5.5MiB live, 5.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))

simplify173.0ms (2.8%)

Memory
-11.6MiB live, 270.4MiB 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))

rewrite127.0ms (2%)

Memory
26.5MiB live, 179.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>

eval3.0ms (0.1%)

Memory
7.1MiB live, 7.1MiB allocated
Compiler

Compiled 214 to 22 computations (89.7% saved)

prune8.0ms (0.1%)

Memory
-25.4MiB live, 12.4MiB 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.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y)))
61.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
40.6%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
26.8%
#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))
37.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
Compiler

Compiled 86 to 59 computations (31.4% saved)

regimes14.0ms (0.2%)

Memory
29.4MiB live, 29.4MiB 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:

4.0ms
x
4.0ms
y
3.0ms
(-.f64 #s(literal 1 binary64) y)
3.0ms
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.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
-14.1MiB live, 24.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))) (fma.f64 y x (neg.f64 y)))
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))
Calls

4 calls:

5.0ms
(-.f64 #s(literal 1 binary64) y)
3.0ms
y
3.0ms
x
3.0ms
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
Results
AccuracySegmentsBranch
90.0%3x
88.2%3y
90.8%3(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
87.5%3(-.f64 #s(literal 1 binary64) y)
Compiler

Compiled 14 to 15 computations (-7.1% saved)

regimes3.0ms (0%)

Memory
6.0MiB live, 6.0MiB 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))) (-.f64 #s(literal 1 binary64) y))
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))
Calls

1 calls:

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

Compiled 9 to 7 computations (22.2% saved)

regimes5.0ms (0.1%)

Memory
9.6MiB live, 9.6MiB 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:

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

Compiled 10 to 9 computations (10% saved)

regimes13.0ms (0.2%)

Memory
-26.2MiB live, 17.3MiB 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:

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

Compiled 14 to 15 computations (-7.1% saved)

regimes8.0ms (0.1%)

Memory
15.2MiB live, 15.2MiB 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
y
2.0ms
x
2.0ms
(-.f64 #s(literal 1 binary64) y)
2.0ms
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
Results
AccuracySegmentsBranch
60.9%3y
60.9%3(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
42.6%3x
60.9%3(-.f64 #s(literal 1 binary64) y)
Compiler

Compiled 14 to 15 computations (-7.1% saved)

regimes9.0ms (0.1%)

Memory
-23.2MiB live, 15.2MiB allocated
Accuracy

Total -22.5b remaining (-56%)

Threshold costs -22.5b (-56%)

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
x
1.0ms
y
1.0ms
(-.f64 #s(literal 1 binary64) y)
1.0ms
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
Results
AccuracySegmentsBranch
37.2%1x
37.2%1(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
37.2%1y
37.2%1(-.f64 #s(literal 1 binary64) y)
Compiler

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1359196967.4939013
167819356505770530.0
0.0ms
0.0
0.9999999999999968
Compiler

Compiled 12 to 12 computations (0% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1359196967.4939013
167819356505770530.0
0.0ms
0.0
0.9999999999999968
Compiler

Compiled 12 to 12 computations (0% saved)

bsearch29.0ms (0.5%)

Memory
7.2MiB live, 45.3MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
5.273679689074575e+53
1.8519662771815786e+55
11.0ms
-3.896879412934e+40
-9.473032226794846e+38
Samples
12.0ms95×1valid
6.0ms129×0valid
Compiler

Compiled 124 to 166 computations (-33.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-sub: 6.0ms (50.8% of total)
adjust: 2.0ms (16.9% of total)
ival-mult: 2.0ms (16.9% of total)
ival-add: 1.0ms (8.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0000000121420336
1359196967.4939013
0.0ms
-36467766533.0445
-14109215.368278045
Compiler

Compiled 12 to 13 computations (-8.3% saved)

simplify29.0ms (0.5%)

Memory
16.4MiB live, 54.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044276
158276
267276
375276
487276
5106276
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 (+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))) #s(literal 0 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (if (<=.f64 (+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))) #s(literal 2000000000 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))))
(if (<=.f64 (+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))) #s(literal 0 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y)) (if (<=.f64 (+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))) #s(literal 2000000000 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))))
(if (<=.f64 x #s(literal -1499999999999999985121613283319091298304 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y)) (if (<=.f64 x #s(literal 559999999999999996203731257642511666818556727488675840 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 (-.f64 #s(literal 1 binary64) y) #s(literal -20000000000 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (if (<=.f64 (-.f64 #s(literal 1 binary64) y) #s(literal 2 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 (+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))) #s(literal 0 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (if (<=.f64 (+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))) #s(literal 2000000000 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))))
(if (<=.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) (-.f64 #s(literal 1 binary64) x)) x) #s(literal 0 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (fma.f64 y x (neg.f64 y))) (if (<=.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) (-.f64 #s(literal 1 binary64) x)) x) #s(literal 2000000000 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))))
(if (<=.f64 (+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))) #s(literal 0 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y)) (if (<=.f64 (+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))) #s(literal 2000000000 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))))
(if (<=.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) (-.f64 #s(literal 1 binary64) x)) x) #s(literal 0 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y)) (if (<=.f64 (+.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) (-.f64 #s(literal 1 binary64) x)) x) #s(literal 2000000000 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))))
(if (<=.f64 x #s(literal -1499999999999999985121613283319091298304 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y)) (if (<=.f64 x #s(literal 559999999999999996203731257642511666818556727488675840 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 -1499999999999999985121613283319091298304 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 y x)) (if (<=.f64 x #s(literal 559999999999999996203731257642511666818556727488675840 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 (-.f64 #s(literal 1 binary64) y) #s(literal -20000000000 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y))) (if (<=.f64 (-.f64 #s(literal 1 binary64) y) #s(literal 2 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))

soundness999.0ms (16.1%)

Memory
-11.8MiB live, 545.9MiB 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 182 to 97 computations (46.7% saved)

preprocess86.0ms (1.4%)

Memory
-0.8MiB live, 167.3MiB allocated
Compiler

Compiled 302 to 106 computations (64.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...