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

Time bar (total: 5.5s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

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

Compiled 11 to 9 computations (18.2% saved)

sample1.1s (19.4%)

Memory
37.9MiB live, 1 260.3MiB allocated
Samples
365.0ms6 300×0valid
248.0ms1 953×1valid
0.0ms2valid
Precisions
Click to see histograms. Total time spent on operations: 362.0ms
ival-sub: 155.0ms (42.8% of total)
ival-mult: 88.0ms (24.3% of total)
ival-add: 53.0ms (14.6% of total)
adjust: 50.0ms (13.8% of total)
ival-true: 6.0ms (1.7% of total)
exact: 5.0ms (1.4% of total)
ival-assert: 4.0ms (1.1% of total)
Bogosity

explain105.0ms (1.9%)

Memory
-11.6MiB live, 220.7MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
674(7463126049.5090885 -4.757492976313616e-135)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)))cancellation710
Confusion
Predicted +Predicted -
+670
-4185
Precision
0.9436619718309859
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+6700
-40185
Precision?
0.9436619718309859
Recall?
1.0
Freqs
test
numberfreq
0185
171
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
35.0ms382×0valid
15.0ms130×1valid
Compiler

Compiled 63 to 25 computations (60.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 35.0ms
ival-add: 19.0ms (53.7% of total)
ival-sub: 6.0ms (17% of total)
ival-mult: 6.0ms (17% of total)
adjust: 3.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)

preprocess429.0ms (7.8%)

Memory
32.6MiB live, 337.1MiB allocated
Algorithm
egg-herbie
Rules
28 144×lower-fma.f64
28 144×lower-fma.f32
3 456×lower-*.f32
3 454×lower-*.f64
2 596×lower-+.f32
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.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 9 to 7 computations (22.2% saved)

simplify348.0ms (6.3%)

Memory
-25.0MiB live, 235.8MiB 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)))
Rules
28 144×lower-fma.f64
28 144×lower-fma.f32
3 456×lower-*.f32
3 454×lower-*.f64
2 596×lower-+.f32
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

localize24.0ms (0.4%)

Memory
4.4MiB live, 41.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 #s(literal 1 binary64) y)
accuracy0
(-.f64 #s(literal 1 binary64) x)
accuracy0.00390625
(*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y))
accuracy15.683441951425017
(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
Samples
9.0ms191×0valid
7.0ms65×1valid
Compiler

Compiled 27 to 9 computations (66.7% saved)

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

series5.0ms (0.1%)

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

6 calls:

TimeVariablePointExpression
1.0ms
y
@inf
((+ x (* (- 1 x) (- 1 y))) (* (- 1 x) (- 1 y)) (- 1 x) (- 1 y))
1.0ms
x
@inf
((+ x (* (- 1 x) (- 1 y))) (* (- 1 x) (- 1 y)) (- 1 x) (- 1 y))
0.0ms
y
@-inf
((+ x (* (- 1 x) (- 1 y))) (* (- 1 x) (- 1 y)) (- 1 x) (- 1 y))
0.0ms
x
@-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))

simplify208.0ms (3.8%)

Memory
-25.0MiB live, 172.5MiB allocated
Algorithm
egg-herbie
Rules
20 464×lower-fma.f64
20 464×lower-fma.f32
3 336×lower-+.f64
3 336×lower-+.f32
2 646×lower--.f64
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)

rewrite245.0ms (4.4%)

Memory
24.1MiB live, 272.6MiB allocated
Rules
5 364×lower-fma.f64
5 364×lower-fma.f32
3 608×lower-*.f32
3 606×lower-*.f64
2 212×lower-/.f64
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>

eval160.0ms (2.9%)

Memory
-8.8MiB live, 142.7MiB allocated
Compiler

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

prune46.0ms (0.8%)

Memory
11.9MiB live, 47.0MiB allocated
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New5905595
Fresh000
Picked101
Done000
Total5915596
Accuracy
100.0%
Counts
596 → 5
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)))
63.6%
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
59.8%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))
37.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
41.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
Compiler

Compiled 46 to 50 computations (-8.7% saved)

simplify584.0ms (10.6%)

Memory
-21.8MiB live, 181.8MiB 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)))
Rules
28 144×lower-fma.f32
28 142×lower-fma.f64
3 456×lower-*.f32
3 452×lower-*.f64
2 596×lower-+.f64
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

localize83.0ms (1.5%)

Memory
7.3MiB live, 92.7MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 x #s(literal 1 binary64))
accuracy0
(*.f64 (-.f64 x #s(literal 1 binary64)) y)
accuracy25.730592906265123
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))
accuracy0
(*.f64 x y)
accuracy40.1911400487058
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
accuracy0
(-.f64 #s(literal 1 binary64) y)
accuracy23.303338148647825
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
accuracy37.607897859277884
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
accuracy0
(fma.f64 (-.f64 x #s(literal 1 binary64)) 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)))
Samples
55.0ms65×1valid
19.0ms191×0valid
Compiler

Compiled 82 to 13 computations (84.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-mult: 5.0ms (34.1% of total)
ival-sub: 4.0ms (27.3% of total)
ival-add: 3.0ms (20.5% of total)
adjust: 2.0ms (13.6% 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
17.9MiB live, 17.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))

simplify152.0ms (2.8%)

Memory
-21.1MiB live, 179.3MiB allocated
Algorithm
egg-herbie
Rules
13 116×lower-fma.f64
13 116×lower-fma.f32
2 194×lower-*.f64
2 194×lower-*.f32
2 018×lower-+.f64
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)

rewrite206.0ms (3.7%)

Memory
-5.2MiB live, 270.0MiB allocated
Rules
7 318×lower-fma.f32
7 316×lower-fma.f64
4 308×lower-*.f32
4 304×lower-*.f64
3 366×lower-/.f64
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>

eval103.0ms (1.9%)

Memory
10.2MiB live, 166.7MiB allocated
Compiler

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

prune17.0ms (0.3%)

Memory
21.2MiB live, 58.9MiB allocated
Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New5961597
Fresh000
Picked055
Done000
Total5966602
Accuracy
100.0%
Counts
602 → 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)))
63.6%
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
59.8%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))
37.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
24.7%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))
41.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
Compiler

Compiled 27 to 30 computations (-11.1% saved)

simplify308.0ms (5.6%)

Memory
-0.2MiB live, 326.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
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)))
Rules
28 144×lower-fma.f64
28 144×lower-fma.f32
3 456×lower-*.f64
3 456×lower-*.f32
2 596×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
01125
12125
24025
311625
440123
5132323
6327323
7495723
8567823
9593323
10612923
11622123
12637923
13675823
14697123
15712323
16719923
17724223
18737423
19788023
0808622
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
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

localize27.0ms (0.5%)

Memory
-12.7MiB live, 69.2MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(neg.f64 y)
accuracy23.303338148647825
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))
accuracy33.11670051400333
#s(approx (- 1 y) (neg.f64 y))
Samples
10.0ms65×1valid
10.0ms191×0valid
Compiler

Compiled 17 to 10 computations (41.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-add: 5.0ms (37.7% of total)
ival-sub: 3.0ms (22.6% of total)
ival-mult: 2.0ms (15.1% of total)
adjust: 1.0ms (7.5% of total)
ival-neg: 1.0ms (7.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series3.0ms (0%)

Memory
9.0MiB live, 9.0MiB allocated
Counts
3 → 48
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>) () ())
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 (* 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))) #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) (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 (* 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 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>) () ())) ())
Calls

6 calls:

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

simplify134.0ms (2.4%)

Memory
7.1MiB live, 235.0MiB allocated
Algorithm
egg-herbie
Rules
13 732×lower-fma.f64
13 732×lower-fma.f32
2 722×lower--.f64
2 722×lower--.f32
1 988×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041232
1114212
2297202
3983202
44764202
56941202
08022184
Stop Event
iter limit
node limit
Counts
48 → 48
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 (* 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)))
(* -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 (* -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)
(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))
(* -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)
(* -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)
(-.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))

rewrite170.0ms (3.1%)

Memory
-12.6MiB live, 246.2MiB allocated
Rules
5 274×lower-fma.f64
5 274×lower-fma.f32
3 650×lower-*.f64
3 650×lower-*.f32
2 286×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01024
01124
15424
244324
3566324
0869723
Stop Event
iter limit
node limit
iter limit
Counts
3 → 34
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)
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>

eval9.0ms (0.2%)

Memory
-14.8MiB live, 23.6MiB allocated
Compiler

Compiled 532 to 137 computations (74.2% saved)

prune5.0ms (0.1%)

Memory
19.1MiB live, 19.1MiB allocated
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New82082
Fresh000
Picked011
Done055
Total82688
Accuracy
100.0%
Counts
88 → 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)))
63.6%
#s(approx (+ x (* (- 1 x) (- 1 y))) (-.f64 #s(literal 1 binary64) y))
59.8%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 (-.f64 x #s(literal 1 binary64)) y))
37.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y))
24.7%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(approx (- 1 y) (neg.f64 y)))
41.2%
#s(approx (+ x (* (- 1 x) (- 1 y))) #s(literal 1 binary64))
Compiler

Compiled 63 to 49 computations (22.2% saved)

regimes13.0ms (0.2%)

Memory
-11.4MiB live, 26.9MiB allocated
Counts
7 → 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) (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 (-.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)))
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
(-.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
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)

regimes11.0ms (0.2%)

Memory
-14.8MiB live, 24.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) (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

4 calls:

3.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
86.5%3x
88.7%3y
89.7%3(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
88.7%3(-.f64 #s(literal 1 binary64) y)
Compiler

Compiled 14 to 15 computations (-7.1% saved)

regimes9.0ms (0.2%)

Memory
22.0MiB live, 22.0MiB allocated
Counts
4 → 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) (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

4 calls:

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

Compiled 14 to 15 computations (-7.1% saved)

regimes10.0ms (0.2%)

Memory
-20.0MiB live, 23.8MiB allocated
Counts
3 → 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) (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:

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

Compiled 14 to 15 computations (-7.1% saved)

regimes6.0ms (0.1%)

Memory
15.8MiB live, 15.8MiB allocated
Counts
2 → 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) (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
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
62.9%3y
62.9%3(-.f64 #s(literal 1 binary64) y)
62.9%3(+.f64 x (*.f64 (-.f64 #s(literal 1 binary64) x) (-.f64 #s(literal 1 binary64) y)))
45.8%3x
Compiler

Compiled 14 to 15 computations (-7.1% saved)

regimes6.0ms (0.1%)

Memory
-20.1MiB live, 19.7MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

4 calls:

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

Compiled 14 to 15 computations (-7.1% saved)

bsearch1.0ms (0%)

Memory
2.2MiB live, 2.2MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
64593320910.49502
1.4180075226086521e+20
0.0ms
-4.663336040369248e+54
-2.8651811295656014e+48
Compiler

Compiled 12 to 12 computations (0% saved)

bsearch23.0ms (0.4%)

Memory
15.4MiB live, 54.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
1.7671905250006703e+30
1.1409867923978368e+33
7.0ms
-2.168477944309146e+61
-1.1071047707262797e+61
Samples
9.0ms101×1valid
4.0ms91×0valid
Compiler

Compiled 108 to 144 computations (-33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-sub: 3.0ms (36.2% of total)
adjust: 2.0ms (24.2% of total)
ival-mult: 2.0ms (24.2% 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)

bsearch1.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.2695292494094057
533.6416129294325
0.0ms
-5.177154677047061e+29
-3.8729385735347342e+28
Compiler

Compiled 12 to 13 computations (-8.3% saved)

simplify26.0ms (0.5%)

Memory
-15.0MiB live, 65.6MiB allocated
Algorithm
egg-herbie
Rules
20×unsub-neg-binary64--.f64-neg.f64-+.f64
16×+-commutative-binary64-+.f64
16×neg-mul-1-binary64-*.f64-neg.f64
12×*-commutative-binary64-*.f64
12×sub-neg-binary64-neg.f64-+.f64--.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041209
156209
265209
373209
485209
5104209
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 -4000000000000000313166161618384975369221441199544467456 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 100000000000 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 -14000000000000000718667586864996145195776999603682877405921280 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y)) (if (<=.f64 x #s(literal 5199999999999999765630077108224 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 -500000000000000009942312419328 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 -4000000000000000313166161618384975369221441199544467456 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 100000000000 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 -4000000000000000313166161618384975369221441199544467456 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 100000000000 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 -14000000000000000718667586864996145195776999603682877405921280 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 x y)) (if (<=.f64 x #s(literal 5199999999999999765630077108224 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 -14000000000000000718667586864996145195776999603682877405921280 binary64)) #s(approx (+ x (* (- 1 x) (- 1 y))) (*.f64 y x)) (if (<=.f64 x #s(literal 5199999999999999765630077108224 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 -500000000000000009942312419328 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))

soundness882.0ms (16%)

Memory
1.6MiB live, 395.2MiB allocated
Rules
20 464×lower-fma.f64
20 464×lower-fma.f32
13 116×lower-fma.f64
13 116×lower-fma.f32
3 336×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068450
1186412
2490362
31714362
47473362
08200344
0711231
12191123
25921123
314701123
451681123
082171015
Stop Event
done
iter limit
node limit
iter limit
node limit
Compiler

Compiled 123 to 74 computations (39.8% saved)

preprocess65.0ms (1.2%)

Memory
-7.6MiB live, 151.7MiB allocated
Compiler

Compiled 222 to 100 computations (55% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...