Data.Colour.SRGB:transferFunction from colour-2.3.3

Time bar (total: 2.6s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

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

sample460.0ms (17.4%)

Memory
181.2MiB live, 181.2MiB allocated
Samples
272.0ms8 254×0valid
0.0ms2valid
Precisions
Click to see histograms. Total time spent on operations: 137.0ms
ival-mult: 49.0ms (35.8% of total)
ival-add: 43.0ms (31.4% of total)
ival-sub: 33.0ms (24.1% of total)
ival-true: 5.0ms (3.7% of total)
exact: 4.0ms (2.9% of total)
ival-assert: 3.0ms (2.2% of total)
adjust: 0.0ms (0% of total)
Bogosity

explain81.0ms (3.1%)

Memory
41.9MiB live, 41.9MiB 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
21.0ms512×0valid
Compiler

Compiled 101 to 52 computations (48.5% saved)

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

preprocess45.0ms (1.7%)

Memory
7.1MiB live, 7.1MiB 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.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

simplify15.0ms (0.6%)

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

localize14.0ms (0.5%)

Memory
6.6MiB live, 6.6MiB allocated
Localize:

Found 3 expressions of interest:

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

Compiled 38 to 14 computations (63.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-mult: 2.0ms (47% of total)
ival-sub: 1.0ms (23.5% of total)
ival-add: 1.0ms (23.5% 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
1.9MiB live, 1.9MiB 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
1.0ms
y
@inf
((* (+ x 1) y) (- (* (+ x 1) y) x) (+ x 1))
0.0ms
y
@0
((* (+ x 1) y) (- (* (+ x 1) y) x) (+ x 1))
0.0ms
x
@inf
((* (+ x 1) y) (- (* (+ x 1) y) x) (+ x 1))
0.0ms
y
@-inf
((* (+ x 1) y) (- (* (+ x 1) y) x) (+ x 1))
0.0ms
x
@-inf
((* (+ x 1) y) (- (* (+ x 1) y) x) (+ x 1))

simplify126.0ms (4.8%)

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

rewrite116.0ms (4.4%)

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

eval37.0ms (1.4%)

Memory
33.4MiB live, 33.4MiB allocated
Compiler

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

prune6.0ms (0.2%)

Memory
15.2MiB live, 15.2MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New3804384
Fresh000
Picked101
Done000
Total3814385
Accuracy
100.0%
Counts
385 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
76.9%
(-.f64 (*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y) x)
60.6%
(-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)
63.4%
#s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))
38.3%
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
Compiler

Compiled 20 to 19 computations (5% saved)

simplify21.0ms (0.8%)

Memory
2.5MiB live, 2.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 10 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))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01680
02276
13676
26176
39476
417276
531976
653076
773976
881476
982176
082176
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#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
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
(neg.f64 x)
x
#s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))
#s(approx (- (* (+ x 1) y) x) (fma.f64 y x y))
(fma.f64 x y y)
(fma.f64 y x y)
x
y
(-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)
(-.f64 #s(approx (* (+ x 1) y) (*.f64 y x)) x)
#s(approx (* (+ x 1) y) (*.f64 x y))
#s(approx (* (+ x 1) y) (*.f64 y x))
(*.f64 x y)
(*.f64 y x)
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

localize24.0ms (0.9%)

Memory
11.2MiB live, 11.2MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 (*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y) x)
accuracy0.01171875
(*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y)
accuracy29.77178777589854
#s(approx (+ x 1) #s(literal 1 binary64))
accuracy0
(-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)
accuracy0
(*.f64 x y)
accuracy32.9406449923035
#s(approx (* (+ x 1) y) (*.f64 x y))
accuracy0
(fma.f64 x y y)
accuracy23.430742957440884
#s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))
accuracy0
(neg.f64 x)
accuracy39.519753229341184
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
Samples
16.0ms256×0valid
Compiler

Compiled 108 to 24 computations (77.8% saved)

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

series8.0ms (0.3%)

Memory
4.7MiB live, 4.7MiB allocated
Counts
10 → 216
Calls
Call 1
Inputs
#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 #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 #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 (* 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 #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 #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 #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
((- (* (+ 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
((- (* (+ 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
((- (* (+ 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
((- (* (+ 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))
0.0ms
y
@0
((- (* (+ 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))

simplify121.0ms (4.6%)

Memory
20.7MiB live, 20.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0441058
11491058
23981058
310171058
424991058
536331058
643991058
753411058
858671058
964291058
1074721058
08027915
Stop Event
iter limit
node limit
Counts
216 → 207
Calls
Call 1
Inputs
(* -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 (+ 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))
(* 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)))
(* -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)
(* -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 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)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(- (* y (+ 1 x)) x)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(- (* y (+ 1 x)) x)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 x)
(neg.f64 x)
(- (* y (+ 1 x)) x)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(- (* y (+ 1 x)) x)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(- (* y (+ 1 x)) x)
(fma.f64 (-.f64 y #s(literal 1 binary64)) 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)
(* -1 x)
(neg.f64 x)
(- (* y (+ 1 x)) x)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(- (* y (+ 1 x)) x)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(- (* y (+ 1 x)) x)
(fma.f64 (-.f64 y #s(literal 1 binary64)) 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)
(* 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)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(- (* y (+ 1 x)) x)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(- (* y (+ 1 x)) x)
(fma.f64 (-.f64 y #s(literal 1 binary64)) 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))
(fma.f64 y x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) 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))
(fma.f64 y x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) 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)
(* 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)))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* y (+ 1 (+ x (* -1 (/ x y)))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) 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))
(fma.f64 y x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* y (+ 1 x))
(fma.f64 y x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) 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)
(* -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))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) 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)
(* 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))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* y (+ (* -1 (+ 1 x)) (/ x y))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) 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
(+ y (* x (- y 1)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(+ y (* x (- y 1)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(+ y (* x (- y 1)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -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)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(+ y (* x (- y 1)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(+ y (* x (- y 1)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
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)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(+ y (* x (- y 1)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(+ y (* x (- y 1)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
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)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(+ y (* x (- y 1)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(+ y (* x (- y 1)))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
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))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* x (- (+ y (/ y x)) 1))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* x (- (+ y (/ y x)) 1))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -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))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* x (- (+ y (/ y x)) 1))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* x (- (+ y (/ y x)) 1))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* 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))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* x (- (+ y (/ y x)) 1))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* x (- (+ y (/ y x)) 1))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* 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))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* x (- (+ y (/ y x)) 1))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* x (- (+ y (/ y x)) 1))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* 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))))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -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))))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* 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))))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* 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))))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* -1 (* x (+ 1 (+ (* -1 y) (* -1 (/ y x))))))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(* 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))

rewrite123.0ms (4.7%)

Memory
50.1MiB live, 50.1MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01672
02268
19168
270068
0847468
Stop Event
iter limit
node limit
iter limit
Counts
10 → 342
Calls
Call 1
Inputs
#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>

eval53.0ms (2%)

Memory
45.0MiB live, 45.0MiB allocated
Compiler

Compiled 9 484 to 992 computations (89.5% saved)

prune21.0ms (0.8%)

Memory
22.9MiB live, 22.9MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New5481549
Fresh000
Picked044
Done000
Total5485553
Accuracy
100.0%
Counts
553 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
76.9%
(-.f64 (*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y) x)
60.6%
(-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)
63.4%
#s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))
38.3%
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
25.0%
#s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 y x)))
Compiler

Compiled 25 to 24 computations (4% saved)

simplify16.0ms (0.6%)

Memory
1.8MiB live, 1.8MiB 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
754631
861231
961731
061728
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 1) y) x) #s(approx (+ (* x y) y) (*.f64 x y)))
#s(approx (+ (* x y) y) (*.f64 y x))
#s(approx (+ (* x y) y) (*.f64 x y))
(*.f64 y x)
(*.f64 x y)
y
x

localize24.0ms (0.9%)

Memory
8.2MiB live, 8.2MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 y x)
accuracy23.430742957440884
#s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 y x)))
accuracy32.9406449923035
#s(approx (+ (* x y) y) (*.f64 y x))
Samples
17.0ms256×0valid
Compiler

Compiled 33 to 16 computations (51.5% saved)

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

series5.0ms (0.2%)

Memory
2.4MiB live, 2.4MiB 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))
1.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
x
@inf
((- (* (+ x 1) y) x) (+ (* x y) y) (* y x))
0.0ms
y
@0
((- (* (+ x 1) y) x) (+ (* x y) y) (* y x))

simplify263.0ms (10%)

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

rewrite131.0ms (5%)

Memory
36.7MiB live, 36.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01129
01229
15529
244729
3767429
0821726
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>

eval9.0ms (0.3%)

Memory
6.2MiB live, 6.2MiB allocated
Compiler

Compiled 465 to 28 computations (94% saved)

prune8.0ms (0.3%)

Memory
6.8MiB live, 6.8MiB allocated
Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New76076
Fresh000
Picked011
Done044
Total76581
Accuracy
100.0%
Counts
81 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
76.9%
(-.f64 (*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y) x)
60.6%
(-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)
63.4%
#s(approx (- (* (+ x 1) y) x) (fma.f64 x y y))
38.3%
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
25.0%
#s(approx (- (* (+ x 1) y) x) #s(approx (+ (* x y) y) (*.f64 y x)))
Compiler

Compiled 57 to 43 computations (24.6% saved)

regimes10.0ms (0.4%)

Memory
5.8MiB live, 5.8MiB allocated
Counts
6 → 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)
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
Outputs
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
Calls

3 calls:

3.0ms
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
3.0ms
y
3.0ms
x
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)

regimes9.0ms (0.4%)

Memory
5.7MiB live, 5.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:

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

Compiled 9 to 10 computations (-11.1% saved)

regimes9.0ms (0.3%)

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

3.0ms
x
3.0ms
y
3.0ms
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
Results
AccuracySegmentsBranch
67.0%2(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
87.2%3x
87.0%3y
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes5.0ms (0.2%)

Memory
3.5MiB live, 3.5MiB 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
y
2.0ms
x
Results
AccuracySegmentsBranch
87.0%3y
69.3%4x
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes6.0ms (0.2%)

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

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

Compiled 9 to 10 computations (-11.1% saved)

regimes6.0ms (0.2%)

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

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

Compiled 9 to 10 computations (-11.1% saved)

bsearch27.0ms (1%)

Memory
7.9MiB live, 7.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
1.7386817013662248e-15
19.284957673673215
11.0ms
-1404.6598494541972
-0.6054304413452645
Samples
13.0ms288×0valid
Compiler

Compiled 208 to 227 computations (-9.1% saved)

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

bsearch21.0ms (0.8%)

Memory
6.1MiB live, 6.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
59628.84573265262
265211287687.36978
7.0ms
-4.906554476387943e-6
-1.3988171539116562e-6
Samples
10.0ms224×0valid
Compiler

Compiled 164 to 165 computations (-0.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-mult: 2.0ms (43.8% of total)
ival-sub: 1.0ms (21.9% of total)
ival-add: 1.0ms (21.9% 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.6%)

Memory
4.9MiB live, 4.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
8.0ms
1.065355375324185e-16
6.983979405955745e-16
7.0ms
-2.8798684968622467e-72
-9.42956895360499e-73
Samples
8.0ms176×0valid
Compiler

Compiled 98 to 121 computations (-23.5% saved)

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

bsearch14.0ms (0.5%)

Memory
4.4MiB live, 4.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
19.284957673673215
7232907.613054796
1.0ms
-1404.6598494541972
-0.6054304413452645
Samples
6.0ms144×0valid
Compiler

Compiled 146 to 198 computations (-35.6% saved)

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

simplify29.0ms (1.1%)

Memory
18.7MiB live, 18.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045194
157194
262194
363194
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
(if (<=.f64 y #s(literal -1 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 -5902958103587057/2361183241434822606848 binary64)) (-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x) (if (<=.f64 x #s(literal 420000 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 -2785010123894805/994646472819573284310764496293641680200912301594695434880927953786318994025066751066112 binary64)) #s(approx (- (* (+ x 1) y) x) (fma.f64 x y y)) (if (<=.f64 y #s(literal 6084722881095501/40564819207303340847894502572032 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 39/2 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
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
(-.f64 (*.f64 y (+.f64 #s(literal 1 binary64) x)) x)
(if (<=.f64 y #s(literal -1 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 -5902958103587057/2361183241434822606848 binary64)) (-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x) (if (<=.f64 x #s(literal 420000 binary64)) #s(approx (- (* (+ x 1) y) x) (fma.f64 x y y)) (-.f64 #s(approx (* (+ x 1) y) (*.f64 x y)) x)))
(if (<=.f64 x #s(literal -5902958103587057/2361183241434822606848 binary64)) (-.f64 #s(approx (* (+ x 1) y) (*.f64 y x)) x) (if (<=.f64 x #s(literal 420000 binary64)) #s(approx (- (* (+ x 1) y) x) (fma.f64 x y y)) (-.f64 #s(approx (* (+ x 1) y) (*.f64 y x)) x)))
(if (<=.f64 y #s(literal -2785010123894805/994646472819573284310764496293641680200912301594695434880927953786318994025066751066112 binary64)) #s(approx (- (* (+ x 1) y) x) (fma.f64 x y y)) (if (<=.f64 y #s(literal 6084722881095501/40564819207303340847894502572032 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 39/2 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))

soundness706.0ms (26.7%)

Memory
4.8MiB live, 4.8MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041291
1140291
2363291
3978291
42455291
53593291
64358291
75301291
85827291
96391291
107434291
08103250
0441058
11491058
23981058
310171058
424991058
536331058
643991058
753411058
858671058
964291058
1074721058
08027915
Stop Event
done
iter limit
node limit
iter limit
node limit
Compiler

Compiled 133 to 71 computations (46.6% saved)

preprocess50.0ms (1.9%)

Memory
33.8MiB live, 33.8MiB allocated
Compiler

Compiled 216 to 90 computations (58.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...