Data.Colour.SRGB:transferFunction from colour-2.3.3

Time bar (total: 4.2s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

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

Compiled 9 to 8 computations (11.1% saved)

sample754.0ms (17.9%)

Memory
12.1MiB live, 642.1MiB allocated
Samples
408.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 187.0ms
ival-mult: 89.0ms (47.7% of total)
ival-add: 47.0ms (25.2% of total)
ival-sub: 37.0ms (19.8% of total)
ival-true: 6.0ms (3.2% of total)
exact: 5.0ms (2.7% of total)
ival-assert: 3.0ms (1.6% of total)
Bogosity

explain75.0ms (1.8%)

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

Compiled 47 to 22 computations (53.2% saved)

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

preprocess61.0ms (1.4%)

Memory
6.9MiB live, 61.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01643
13939
212337
350935
4102335
5133535
6137635
7138035
067
097
1157
2277
3587
41097
51917
63547
75627
86367
96417
06416
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
Outputs
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
(fma.f64 y x (-.f64 y x))
Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB 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
100.0%
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify44.0ms (1%)

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

Found 3 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0618
0918
11518
22718
35818
410918
519118
635418
756218
863618
964118
064116
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
(*.f64 (+.f64 x #s(literal 1 binary64)) y)
(+.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
y
Outputs
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
(fma.f64 y x (-.f64 y x))
(*.f64 (+.f64 x #s(literal 1 binary64)) y)
(fma.f64 y x y)
(+.f64 x #s(literal 1 binary64))
(-.f64 x #s(literal -1 binary64))
x
#s(literal 1 binary64)
y

localize16.0ms (0.4%)

Memory
25.5MiB live, 25.5MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(+.f64 x #s(literal 1 binary64))
accuracy0.00390625
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
accuracy0.00390625
(*.f64 (+.f64 x #s(literal 1 binary64)) y)
Samples
11.0ms256×0valid
Compiler

Compiled 20 to 8 computations (60% saved)

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

series18.0ms (0.4%)

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

6 calls:

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

simplify145.0ms (3.4%)

Memory
25.4MiB live, 145.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041291
1140291
2363291
3978291
42455291
53593291
64358291
75301291
85827291
96391291
107434291
08103250
Stop Event
iter limit
node limit
Counts
60 → 56
Calls
Call 1
Inputs
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* -1 x)
(- (* y (+ 1 x)) x)
(- (* y (+ 1 x)) x)
(- (* y (+ 1 x)) x)
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
y
(+ y (* x y))
(+ y (* x y))
(+ y (* x y))
y
(+ y (* x (- y 1)))
(+ y (* x (- y 1)))
(+ y (* x (- y 1)))
1
(+ 1 x)
(+ 1 x)
(+ 1 x)
(* x y)
(* x (+ y (/ y x)))
(* x (+ y (/ y x)))
(* x (+ y (/ y x)))
(* x (- y 1))
(* x (- (+ y (/ y x)) 1))
(* x (- (+ y (/ y x)) 1))
(* x (- (+ y (/ y x)) 1))
x
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(* -1 (* x (+ 1 (* -1 y))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
x
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
Outputs
(* y (+ 1 x))
(fma.f64 x y y)
(* y (+ 1 x))
(fma.f64 x y y)
(* y (+ 1 x))
(fma.f64 x y y)
(* y (+ 1 x))
(fma.f64 x y y)
(* -1 x)
(neg.f64 x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 x y y) x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 x y y) x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 x y y) x)
(* y (+ 1 x))
(fma.f64 x y y)
(* y (+ 1 x))
(fma.f64 x y y)
(* y (+ 1 x))
(fma.f64 x y y)
(* y (+ 1 x))
(fma.f64 x y y)
(* y (+ 1 x))
(fma.f64 x y y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 x y y) x)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 x y y) x)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 x y y) x)
(* y (+ 1 x))
(fma.f64 x y y)
(* y (+ 1 x))
(fma.f64 x y y)
(* y (+ 1 x))
(fma.f64 x y y)
(* y (+ 1 x))
(fma.f64 x y y)
(* y (+ 1 x))
(fma.f64 x y y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 x y y) x)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 x y y) x)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 x y y) x)
y
(+ y (* x y))
(fma.f64 x y y)
(+ y (* x y))
(fma.f64 x y y)
(+ y (* x y))
(fma.f64 x y y)
y
(+ y (* x (- y 1)))
(-.f64 (fma.f64 x y y) x)
(+ y (* x (- y 1)))
(-.f64 (fma.f64 x y y) x)
(+ y (* x (- y 1)))
(-.f64 (fma.f64 x y y) x)
1
#s(literal 1 binary64)
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(* x y)
(*.f64 x y)
(* x (+ y (/ y x)))
(fma.f64 x y y)
(* x (+ y (/ y x)))
(fma.f64 x y y)
(* x (+ y (/ y x)))
(fma.f64 x y y)
(* x (- y 1))
(fma.f64 x y (neg.f64 x))
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 x y y) x)
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 x y y) x)
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 x y y) x)
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 y)
(*.f64 x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 x y y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 x y y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 x y y)
(* -1 (* x (+ 1 (* -1 y))))
(fma.f64 x y (neg.f64 x))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 x y y) x)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 x y y) x)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 x y y) x)
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))

rewrite234.0ms (5.5%)

Memory
8.2MiB live, 284.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0615
0915
13815
226915
3336215
0849513
Stop Event
iter limit
node limit
iter limit
Counts
3 → 328
Calls
Call 1
Inputs
(*.f64 (+.f64 x #s(literal 1 binary64)) y)
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
(+.f64 x #s(literal 1 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval96.0ms (2.3%)

Memory
14.9MiB live, 124.7MiB allocated
Compiler

Compiled 7 966 to 1 055 computations (86.8% saved)

prune22.0ms (0.5%)

Memory
-15.5MiB live, 33.4MiB allocated
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New3795384
Fresh000
Picked101
Done000
Total3805385
Accuracy
100.0%
Counts
385 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 y x (-.f64 y x))
74.0%
(-.f64 (*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y) x)
63.4%
(-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)
62.9%
#s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))
38.7%
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
Compiler

Compiled 52 to 46 computations (11.5% saved)

simplify27.0ms (0.6%)

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

Found 12 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01891
02787
14687
27487
311887
424787
542787
660987
769987
870987
971187
071187
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(fma.f64 y x (-.f64 y x))
y
x
(-.f64 y x)
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
(neg.f64 x)
x
#s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))
(fma.f64 x y y)
x
y
(-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)
#s(approx (* (+ x 1) y) (*.f64 x y))
(*.f64 x y)
x
y
(-.f64 (*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y) x)
(*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y)
#s(approx (+ x 1) #s(literal 1 binary64))
#s(literal 1 binary64)
y
x
Outputs
(fma.f64 y x (-.f64 y x))
(fma.f64 x y (-.f64 y x))
y
x
(-.f64 y x)
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
(neg.f64 x)
x
#s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))
(fma.f64 x y y)
x
y
(-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)
#s(approx (* (+ x 1) y) (*.f64 x y))
(*.f64 x y)
x
y
(-.f64 (*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y) x)
(fma.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y (neg.f64 x))
(*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y)
#s(approx (+ x 1) #s(literal 1 binary64))
#s(literal 1 binary64)
y
x

localize36.0ms (0.9%)

Memory
-1.6MiB live, 74.3MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(-.f64 (*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y) x)
accuracy0.00390625
(*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y)
accuracy32.00245761685659
#s(approx (+ x 1) #s(literal 1 binary64))
accuracy0
(*.f64 x y)
accuracy0.00390625
(-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)
accuracy31.361277499595438
#s(approx (* (+ x 1) y) (*.f64 x y))
accuracy0
(fma.f64 x y y)
accuracy23.74981903169312
#s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))
accuracy0
(neg.f64 x)
accuracy39.20871323201828
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
accuracy0
(fma.f64 y x (-.f64 y x))
accuracy0
(-.f64 y x)
Samples
27.0ms256×0valid
Compiler

Compiled 73 to 14 computations (80.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-mult: 6.0ms (39.2% of total)
ival-add: 5.0ms (32.6% of total)
ival-sub: 2.0ms (13.1% of total)
ival-neg: 1.0ms (6.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series15.0ms (0.3%)

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

6 calls:

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

simplify168.0ms (4%)

Memory
28.3MiB live, 104.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0601270
11931270
25051270
311261270
424571270
535681270
643231270
752641270
857911270
963551270
1073981270
080671107
Stop Event
iter limit
node limit
Counts
264 → 251
Calls
Call 1
Inputs
(* -1 x)
(- (* y (+ 1 x)) x)
(- (* y (+ 1 x)) x)
(- (* y (+ 1 x)) x)
(* -1 x)
(- y x)
(- y x)
(- y x)
(* -1 x)
(- (* y (+ 1 x)) x)
(- (* y (+ 1 x)) x)
(- (* y (+ 1 x)) x)
(* -1 x)
(- (* y (+ 1 x)) x)
(- (* y (+ 1 x)) x)
(- (* y (+ 1 x)) x)
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* -1 x)
(- (* y (+ 1 x)) x)
(- (* y (+ 1 x)) x)
(- (* y (+ 1 x)) x)
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 x)
(- (* y (+ 1 x)) x)
(- (* y (+ 1 x)) x)
(- (* y (+ 1 x)) x)
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 (+ x (* -1 (/ x y)))))
y
(* y (+ 1 (* -1 (/ x y))))
(* y (+ 1 (* -1 (/ x y))))
(* y (+ 1 (* -1 (/ x y))))
(* y (+ 1 x))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 x))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* x y)
(* x y)
(* x y)
(* x y)
(* y (+ 1 x))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* -1 (* y (- (* -1 x) 1)))
(* -1 (* y (- (+ (* -1 x) (/ x y)) 1)))
(* -1 (* y (- (+ (* -1 x) (/ x y)) 1)))
(* -1 (* y (- (+ (* -1 x) (/ x y)) 1)))
y
(* -1 (* y (- (/ x y) 1)))
(* -1 (* y (- (/ x y) 1)))
(* -1 (* y (- (/ x y) 1)))
(* y (+ 1 x))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* y (+ 1 x))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* -1 (* y (- (* -1 x) 1)))
(* -1 (* y (- (* -1 x) 1)))
(* -1 (* y (- (* -1 x) 1)))
(* -1 (* y (- (* -1 x) 1)))
(* y (+ 1 x))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* x y)
(* x y)
(* x y)
(* x y)
(* y (+ 1 x))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
y
(+ y (* x (- y 1)))
(+ y (* x (- y 1)))
(+ y (* x (- y 1)))
y
(+ y (* -1 x))
(+ y (* -1 x))
(+ y (* -1 x))
y
(+ y (* x (- y 1)))
(+ y (* x (- y 1)))
(+ y (* x (- y 1)))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
y
(+ y (* x (- y 1)))
(+ y (* x (- y 1)))
(+ y (* x (- y 1)))
y
(+ y (* x y))
(+ y (* x y))
(+ y (* x y))
y
(+ y (* x (- y 1)))
(+ y (* x (- y 1)))
(+ y (* x (- y 1)))
y
(+ y (* x y))
(+ y (* x y))
(+ y (* x y))
(* x y)
(* x y)
(* x y)
(* x y)
y
(+ y (* x (- y 1)))
(+ y (* x (- y 1)))
(+ y (* x (- y 1)))
y
(+ y (* x y))
(+ y (* x y))
(+ y (* x y))
1
(+ 1 x)
(+ 1 x)
(+ 1 x)
(* x (- y 1))
(* x (- (+ y (/ y x)) 1))
(* x (- (+ y (/ y x)) 1))
(* x (- (+ y (/ y x)) 1))
(* -1 x)
(* x (- (/ y x) 1))
(* x (- (/ y x) 1))
(* x (- (/ y x) 1))
(* x (- y 1))
(* x (- (+ y (/ y x)) 1))
(* x (- (+ y (/ y x)) 1))
(* x (- (+ y (/ y x)) 1))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* x (- y 1))
(* x (- (+ y (/ y x)) 1))
(* x (- (+ y (/ y x)) 1))
(* x (- (+ y (/ y x)) 1))
(* x y)
(* x (+ y (/ y x)))
(* x (+ y (/ y x)))
(* x (+ y (/ y x)))
(* x (- y 1))
(* x (- (+ y (/ y x)) 1))
(* x (- (+ y (/ y x)) 1))
(* x (- (+ y (/ y x)) 1))
(* x y)
(* x (+ y (/ y x)))
(* x (+ y (/ y x)))
(* x (+ y (/ y x)))
(* x y)
(* x y)
(* x y)
(* x y)
(* x (- y 1))
(* x (- (+ y (/ y x)) 1))
(* x (- (+ y (/ y x)) 1))
(* x (- (+ y (/ y x)) 1))
(* x y)
(* x (+ y (/ y x)))
(* x (+ y (/ y x)))
(* x (+ y (/ y x)))
x
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* -1 (* x (+ 1 (* -1 y))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 x)
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(* -1 (* x (+ 1 (* -1 y))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 x)
(* -1 (* x (+ 1 (* -1 y))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(* -1 (* x (+ 1 (* -1 y))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* x (+ 1 (* -1 y))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
x
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
Outputs
(* -1 x)
(neg.f64 x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(* -1 x)
(neg.f64 x)
(- y x)
(-.f64 y x)
(- y x)
(-.f64 y x)
(- y x)
(-.f64 y x)
(* -1 x)
(neg.f64 x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(* -1 x)
(neg.f64 x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* -1 x)
(neg.f64 x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 x)
(neg.f64 x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
y
(* y (+ 1 (* -1 (/ x y))))
(-.f64 y x)
(* y (+ 1 (* -1 (/ x y))))
(-.f64 y x)
(* y (+ 1 (* -1 (/ x y))))
(-.f64 y x)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* -1 (* y (- (* -1 x) 1)))
(fma.f64 y x y)
(* -1 (* y (- (+ (* -1 x) (/ x y)) 1)))
(-.f64 (fma.f64 y x y) x)
(* -1 (* y (- (+ (* -1 x) (/ x y)) 1)))
(-.f64 (fma.f64 y x y) x)
(* -1 (* y (- (+ (* -1 x) (/ x y)) 1)))
(-.f64 (fma.f64 y x y) x)
y
(* -1 (* y (- (/ x y) 1)))
(-.f64 y x)
(* -1 (* y (- (/ x y) 1)))
(-.f64 y x)
(* -1 (* y (- (/ x y) 1)))
(-.f64 y x)
(* y (+ 1 x))
(fma.f64 y x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 x))
(fma.f64 y x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* y (- (* -1 x) 1)))
(fma.f64 y x y)
(* -1 (* y (- (* -1 x) 1)))
(fma.f64 y x y)
(* -1 (* y (- (* -1 x) 1)))
(fma.f64 y x y)
(* -1 (* y (- (* -1 x) 1)))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* y (+ 1 x))
(fma.f64 y x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
y
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
y
(+ y (* -1 x))
(-.f64 y x)
(+ y (* -1 x))
(-.f64 y x)
(+ y (* -1 x))
(-.f64 y x)
y
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
y
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
y
(+ y (* x y))
(fma.f64 y x y)
(+ y (* x y))
(fma.f64 y x y)
(+ y (* x y))
(fma.f64 y x y)
y
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
y
(+ y (* x y))
(fma.f64 y x y)
(+ y (* x y))
(fma.f64 y x y)
(+ y (* x y))
(fma.f64 y x y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
y
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
y
(+ y (* x y))
(fma.f64 y x y)
(+ y (* x y))
(fma.f64 y x y)
(+ y (* x y))
(fma.f64 y x y)
1
#s(literal 1 binary64)
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(* x (- y 1))
(fma.f64 y x (neg.f64 x))
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* -1 x)
(neg.f64 x)
(* x (- (/ y x) 1))
(-.f64 y x)
(* x (- (/ y x) 1))
(-.f64 y x)
(* x (- (/ y x) 1))
(-.f64 y x)
(* x (- y 1))
(fma.f64 y x (neg.f64 x))
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* x (- y 1))
(fma.f64 y x (neg.f64 x))
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x y)
(*.f64 y x)
(* x (+ y (/ y x)))
(fma.f64 y x y)
(* x (+ y (/ y x)))
(fma.f64 y x y)
(* x (+ y (/ y x)))
(fma.f64 y x y)
(* x (- y 1))
(fma.f64 y x (neg.f64 x))
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x y)
(*.f64 y x)
(* x (+ y (/ y x)))
(fma.f64 y x y)
(* x (+ y (/ y x)))
(fma.f64 y x y)
(* x (+ y (/ y x)))
(fma.f64 y x y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x (- y 1))
(fma.f64 y x (neg.f64 x))
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x y)
(*.f64 y x)
(* x (+ y (/ y x)))
(fma.f64 y x y)
(* x (+ y (/ y x)))
(fma.f64 y x y)
(* x (+ y (/ y x)))
(fma.f64 y x y)
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))
(* -1 (* x (+ 1 (* -1 y))))
(fma.f64 y x (neg.f64 x))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* -1 x)
(neg.f64 x)
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(-.f64 y x)
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(-.f64 y x)
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(-.f64 y x)
(* -1 (* x (+ 1 (* -1 y))))
(fma.f64 y x (neg.f64 x))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 x)
(neg.f64 x)
(* -1 (* x (+ 1 (* -1 y))))
(fma.f64 y x (neg.f64 x))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 y x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 y x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 y x y)
(* -1 (* x (+ 1 (* -1 y))))
(fma.f64 y x (neg.f64 x))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 y x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 y x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 y x y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 (* x (+ 1 (* -1 y))))
(fma.f64 y x (neg.f64 x))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 y x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 y x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 y x y)
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))

rewrite235.0ms (5.6%)

Memory
-8.8MiB live, 299.9MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01881
02777
112577
295077
0882877
Stop Event
iter limit
node limit
iter limit
Counts
12 → 434
Calls
Call 1
Inputs
(fma.f64 y x (-.f64 y x))
(-.f64 y x)
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
(neg.f64 x)
#s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))
(fma.f64 x y y)
(-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)
#s(approx (* (+ x 1) y) (*.f64 x y))
(*.f64 x y)
(-.f64 (*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y) x)
(*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y)
#s(approx (+ x 1) #s(literal 1 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval118.0ms (2.8%)

Memory
-8.3MiB live, 279.4MiB allocated
Compiler

Compiled 11 752 to 1 233 computations (89.5% saved)

prune17.0ms (0.4%)

Memory
22.8MiB live, 60.7MiB allocated
Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New6841685
Fresh000
Picked055
Done000
Total6846690
Accuracy
100.0%
Counts
690 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 y x (-.f64 y x))
74.0%
(-.f64 (*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y) x)
63.4%
(-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)
62.9%
#s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))
38.7%
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
27.8%
#s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 y x)))
Compiler

Compiled 31 to 28 computations (9.7% saved)

simplify23.0ms (0.5%)

Memory
-37.1MiB live, 46.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01131
01231
12031
23831
35631
410131
519831
634231
755031
861731
962231
062228
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 y x)))
#s(approx (+ (* x y) y) (*.f64 y x))
(*.f64 y x)
y
x
Outputs
#s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 y x)))
#s(approx (+ (* x y) y) (*.f64 y x))
(*.f64 y x)
y
x

localize21.0ms (0.5%)

Memory
27.7MiB live, 67.3MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 y x)
accuracy23.74981903169312
#s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 y x)))
accuracy31.361277499595438
#s(approx (+ (* x y) y) (*.f64 y x))
Samples
16.0ms256×0valid
Compiler

Compiled 19 to 11 computations (42.1% saved)

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

series4.0ms (0.1%)

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

6 calls:

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

simplify346.0ms (8.2%)

Memory
-9.8MiB live, 220.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041333
1140333
2388333
3964333
42549333
53752333
64662333
75267333
85584333
95789333
105884333
115924333
125944333
135944333
145962333
155962333
09053292
Stop Event
iter limit
node limit
Counts
72 → 70
Calls
Call 1
Inputs
(* -1 x)
(- (* y (+ 1 x)) x)
(- (* y (+ 1 x)) x)
(- (* y (+ 1 x)) x)
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* x y)
(* x y)
(* x y)
(* x y)
(* y (+ 1 x))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 (+ x (* -1 (/ x y)))))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* y (+ 1 x))
(* x y)
(* x y)
(* x y)
(* x y)
(* y (+ 1 x))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(* -1 (* y (- (* -1 x) 1)))
(* -1 (* y (- (* -1 x) 1)))
(* -1 (* y (- (* -1 x) 1)))
(* -1 (* y (- (* -1 x) 1)))
(* x y)
(* x y)
(* x y)
(* x y)
y
(+ y (* x (- y 1)))
(+ y (* x (- y 1)))
(+ y (* x (- y 1)))
y
(+ y (* x y))
(+ y (* x y))
(+ y (* x y))
(* x y)
(* x y)
(* x y)
(* x y)
(* x (- y 1))
(* x (- (+ y (/ y x)) 1))
(* x (- (+ y (/ y x)) 1))
(* x (- (+ y (/ y x)) 1))
(* x y)
(* x (+ y (/ y x)))
(* x (+ y (/ y x)))
(* x (+ y (/ y x)))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* x (+ 1 (* -1 y))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(* x y)
(* x y)
(* x y)
(* x y)
Outputs
(* -1 x)
(neg.f64 x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(- (* y (+ 1 x)) x)
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(-.f64 (fma.f64 y x y) x)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* y (+ 1 x))
(fma.f64 y x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* y (- (* -1 x) 1)))
(fma.f64 y x y)
(* -1 (* y (- (* -1 x) 1)))
(fma.f64 y x y)
(* -1 (* y (- (* -1 x) 1)))
(fma.f64 y x y)
(* -1 (* y (- (* -1 x) 1)))
(fma.f64 y x y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
y
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
(+ y (* x (- y 1)))
(-.f64 (fma.f64 y x y) x)
y
(+ y (* x y))
(fma.f64 y x y)
(+ y (* x y))
(fma.f64 y x y)
(+ y (* x y))
(fma.f64 y x y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x (- y 1))
(fma.f64 y x (neg.f64 x))
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x (- (+ y (/ y x)) 1))
(-.f64 (fma.f64 y x y) x)
(* x y)
(*.f64 y x)
(* x (+ y (/ y x)))
(fma.f64 y x y)
(* x (+ y (/ y x)))
(fma.f64 y x y)
(* x (+ y (/ y x)))
(fma.f64 y x y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 (* x (+ 1 (* -1 y))))
(fma.f64 y x (neg.f64 x))
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(-.f64 (fma.f64 y x y) x)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 y x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 y x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ y x)))))
(fma.f64 y x y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)

rewrite400.0ms (9.5%)

Memory
-9.7MiB live, 129.8MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01129
01229
15529
244729
3767029
0821326
Stop Event
iter limit
node limit
iter limit
Counts
3 → 6
Calls
Call 1
Inputs
#s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 y x)))
#s(approx (+ (* x y) y) (*.f64 y x))
(*.f64 y x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval7.0ms (0.2%)

Memory
8.1MiB live, 8.1MiB allocated
Compiler

Compiled 465 to 28 computations (94% saved)

prune38.0ms (0.9%)

Memory
-28.3MiB live, 9.3MiB allocated
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New76076
Fresh000
Picked011
Done055
Total76682
Accuracy
100.0%
Counts
82 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 y x (-.f64 y x))
74.0%
(-.f64 (*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y) x)
63.4%
(-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)
62.9%
#s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))
38.7%
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
27.8%
#s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 y x)))
Compiler

Compiled 69 to 49 computations (29% saved)

regimes10.0ms (0.2%)

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

3 calls:

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

Compiled 9 to 10 computations (-11.1% saved)

regimes8.0ms (0.2%)

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

3 calls:

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

Compiled 9 to 10 computations (-11.1% saved)

regimes7.0ms (0.2%)

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

3 calls:

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

Compiled 9 to 10 computations (-11.1% saved)

regimes4.0ms (0.1%)

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

2 calls:

2.0ms
x
2.0ms
y
Results
AccuracySegmentsBranch
88.0%3y
70.3%3x
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes128.0ms (3.1%)

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

3 calls:

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

Compiled 9 to 10 computations (-11.1% saved)

regimes4.0ms (0.1%)

Memory
10.1MiB live, 10.1MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

3 calls:

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

Compiled 9 to 10 computations (-11.1% saved)

bsearch52.0ms (1.2%)

Memory
6.1MiB live, 42.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
1.2590986254807234e-14
14109216.368278045
36.0ms
-3637674270.3032436
-1359196966.4939013
Samples
40.0ms256×0valid
Compiler

Compiled 186 to 203 computations (-9.1% saved)

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

bsearch57.0ms (1.4%)

Memory
-23.9MiB live, 52.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
27.0ms
4.060838138734146e-66
5.699017025659233e-51
27.0ms
-152.62453082015003
-0.0641863813870505
Samples
11.0ms288×0valid
Compiler

Compiled 208 to 209 computations (-0.5% saved)

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

bsearch26.0ms (0.6%)

Memory
28.7MiB live, 28.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
1.2590986254807234e-14
14109216.368278045
12.0ms
-1359196966.4939013
-1.2142033629107915e-8
Samples
12.0ms320×0valid
Compiler

Compiled 178 to 221 computations (-24.2% saved)

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

bsearch16.0ms (0.4%)

Memory
-38.7MiB live, 8.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.2590986254807234e-14
14109216.368278045
14.0ms
-1359196966.4939013
-1.2142033629107915e-8
Samples
9.0ms112×0valid
Compiler

Compiled 178 to 242 computations (-36% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-add: 6.0ms (85.6% of total)
ival-sub: 1.0ms (14.3% of total)
ival-mult: 1.0ms (14.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify48.0ms (1.1%)

Memory
11.8MiB live, 50.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044193
154193
259193
360193
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 y x (-.f64 y x))
(if (<=.f64 y #s(literal -1400000000 binary64)) #s(approx (- (* (+ x 1) y) x) (fma.f64 x y y)) (if (<=.f64 y #s(literal 1 binary64)) (-.f64 (*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y) x) #s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))))
(if (<=.f64 x #s(literal -3332663724254167/9007199254740992 binary64)) (-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x) (if (<=.f64 x #s(literal 1158435208354129/210624583337114373395836055367340864637790190801098222508621955072 binary64)) #s(approx (- (* (+ x 1) y) x) (fma.f64 x y y)) (-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)))
(if (<=.f64 y #s(literal -8116567392432203/36893488147419103232 binary64)) #s(approx (- (* (+ x 1) y) x) (fma.f64 x y y)) (if (<=.f64 y #s(literal 2574915281713591/4951760157141521099596496896 binary64)) #s(approx (- (* (+ x 1) y) x) (neg.f64 x)) #s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))))
(if (<=.f64 y #s(literal -1 binary64)) #s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 y x))) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (- (* (+ x 1) y) x) (neg.f64 x)) #s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 y x)))))
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
Outputs
(fma.f64 y x (-.f64 y x))
(if (<=.f64 y #s(literal -1400000000 binary64)) #s(approx (- (* (+ x 1) y) x) (fma.f64 x y y)) (if (<=.f64 y #s(literal 1 binary64)) (-.f64 (*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y) x) #s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))))
(if (<=.f64 x #s(literal -3332663724254167/9007199254740992 binary64)) (-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x) (if (<=.f64 x #s(literal 1158435208354129/210624583337114373395836055367340864637790190801098222508621955072 binary64)) #s(approx (- (* (+ x 1) y) x) (fma.f64 x y y)) (-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)))
(if (<=.f64 y #s(literal -8116567392432203/36893488147419103232 binary64)) #s(approx (- (* (+ x 1) y) x) (fma.f64 x y y)) (if (<=.f64 y #s(literal 2574915281713591/4951760157141521099596496896 binary64)) #s(approx (- (* (+ x 1) y) x) (neg.f64 x)) #s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))))
(if (<=.f64 y #s(literal -1 binary64)) #s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 y x))) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (- (* (+ x 1) y) x) (neg.f64 x)) #s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 y x)))))
(if (<=.f64 y #s(literal -1 binary64)) #s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 x y))) (if (<=.f64 y #s(literal 1 binary64)) #s(approx (- (* (+ x 1) y) x) (neg.f64 x)) #s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 x y)))))
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))

soundness887.0ms (21.1%)

Memory
7.9MiB live, 438.6MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0601270
11931270
25051270
311261270
424571270
535681270
643231270
752641270
857911270
963551270
1073981270
080671107
041291
1140291
2363291
3978291
42455291
53593291
64358291
75301291
85827291
96391291
107434291
08103250
0615
0915
13815
226915
3336215
0849513
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
Compiler

Compiled 145 to 78 computations (46.2% saved)

preprocess44.0ms (1%)

Memory
-11.4MiB live, 146.0MiB allocated
Compiler

Compiled 214 to 88 computations (58.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...