Data.Colour.SRGB:transferFunction from colour-2.3.3

Time bar (total: 4.0s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

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

sample613.0ms (15.4%)

Memory
11.5MiB live, 876.9MiB allocated
Samples
388.0ms8 254×0valid
0.0ms2valid
Precisions
Click to see histograms. Total time spent on operations: 223.0ms
ival-mult: 85.0ms (38.2% of total)
ival-sub: 63.0ms (28.3% of total)
ival-add: 60.0ms (26.9% of total)
ival-true: 6.0ms (2.7% of total)
exact: 5.0ms (2.2% of total)
ival-assert: 3.0ms (1.3% of total)
adjust: 0.0ms (0% of total)
Bogosity

explain101.0ms (2.5%)

Memory
1.5MiB live, 89.0MiB 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
62.0ms512×0valid
Compiler

Compiled 65 to 28 computations (56.9% saved)

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

preprocess51.0ms (1.3%)

Memory
27.1MiB live, 63.6MiB 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
(fma.f64 y x (-.f64 y x))
Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

simplify28.0ms (0.7%)

Memory
-27.3MiB live, 10.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

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

Useful iterations: 0 (0.0ms)

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

localize16.0ms (0.4%)

Memory
21.3MiB live, 21.3MiB 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
11.0ms256×0valid
Compiler

Compiled 38 to 14 computations (63.2% saved)

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

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

simplify151.0ms (3.8%)

Memory
-19.4MiB live, 97.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041291
1140291
2363291
3978291
42451291
53589291
64355291
75300291
85826291
96390291
107433291
08102250
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
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(neg.f64 x)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
y
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
y
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
#s(literal 1 binary64)
(-.f64 x #s(literal -1 binary64))
(-.f64 x #s(literal -1 binary64))
(-.f64 x #s(literal -1 binary64))
(*.f64 y x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x (neg.f64 x))
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
x
(-.f64 x #s(literal -1 binary64))
(-.f64 x #s(literal -1 binary64))
(-.f64 x #s(literal -1 binary64))
(*.f64 y x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x (neg.f64 x))
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
x
(-.f64 x #s(literal -1 binary64))
(-.f64 x #s(literal -1 binary64))
(-.f64 x #s(literal -1 binary64))

rewrite179.0ms (4.5%)

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

eval90.0ms (2.3%)

Memory
-13.9MiB live, 110.0MiB allocated
Compiler

Compiled 8 272 to 1 057 computations (87.2% saved)

prune7.0ms (0.2%)

Memory
19.8MiB live, 19.8MiB 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 y x)) x)
63.4%
#s(approx (- (* (+ x 1) y) x) (fma.f64 y x y))
38.3%
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
Compiler

Compiled 42 to 32 computations (23.8% saved)

simplify41.0ms (1%)

Memory
-7.1MiB live, 31.2MiB 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 y x)
cost-diff0
#s(approx (* (+ x 1) y) (*.f64 y x))
cost-diff0
(-.f64 #s(approx (* (+ x 1) y) (*.f64 y x)) x)
cost-diff0
(fma.f64 y x y)
cost-diff0
#s(approx (- (* (+ x 1) y) x) (fma.f64 y x y))
cost-diff0
(neg.f64 x)
cost-diff0
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01680
02280
13576
25376
38676
416876
531576
652976
775076
882576
983276
083276
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 y x y))
(fma.f64 y x y)
y
x
(-.f64 #s(approx (* (+ x 1) y) (*.f64 y x)) x)
#s(approx (* (+ x 1) y) (*.f64 y x))
(*.f64 y x)
y
x
(-.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 y x y))
(fma.f64 y x y)
y
x
(-.f64 #s(approx (* (+ x 1) y) (*.f64 y x)) x)
#s(approx (* (+ x 1) y) (*.f64 y x))
(*.f64 y x)
y
x
(fma.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y (neg.f64 x))
(*.f64 #s(approx (+ x 1) #s(literal 1 binary64)) y)
#s(approx (+ x 1) #s(literal 1 binary64))
#s(literal 1 binary64)
y
x

localize36.0ms (0.9%)

Memory
18.1MiB live, 61.3MiB 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 y x)) x)
accuracy0
(*.f64 y x)
accuracy32.9406449923035
#s(approx (* (+ x 1) y) (*.f64 y x))
accuracy0
(fma.f64 y x y)
accuracy23.430742957440884
#s(approx (- (* (+ x 1) y) x) (fma.f64 y x y))
accuracy0
(neg.f64 x)
accuracy39.519753229341184
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
Samples
28.0ms256×0valid
Compiler

Compiled 141 to 28 computations (80.1% saved)

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

series16.0ms (0.4%)

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

6 calls:

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

simplify293.0ms (7.4%)

Memory
9.7MiB live, 131.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0441058
11491058
23981058
310171058
425071058
536501058
644151058
753601058
858841058
964461058
1074891058
08008915
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
(neg.f64 x)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(neg.f64 x)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(neg.f64 x)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(neg.f64 x)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 y x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(fma.f64 y x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 y x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(fma.f64 y x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
y
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(neg.f64 x)
(neg.f64 x)
(neg.f64 x)
(neg.f64 x)
y
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
y
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
y
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
y
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
y
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
y
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
#s(literal 1 binary64)
(-.f64 x #s(literal -1 binary64))
(-.f64 x #s(literal -1 binary64))
(-.f64 x #s(literal -1 binary64))
(fma.f64 y x (neg.f64 x))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(neg.f64 x)
(neg.f64 x)
(neg.f64 x)
(neg.f64 x)
(fma.f64 y x (neg.f64 x))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(*.f64 y x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x (neg.f64 x))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(*.f64 y x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(fma.f64 y x (neg.f64 x))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(*.f64 y x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
x
(-.f64 x #s(literal -1 binary64))
(-.f64 x #s(literal -1 binary64))
(-.f64 x #s(literal -1 binary64))
(fma.f64 y x (neg.f64 x))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(neg.f64 x)
(neg.f64 x)
(neg.f64 x)
(neg.f64 x)
(fma.f64 y x (neg.f64 x))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(*.f64 y x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x (neg.f64 x))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(*.f64 y x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(fma.f64 y x (neg.f64 x))
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(fma.f64 (-.f64 y #s(literal 1 binary64)) x y)
(*.f64 y x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
x
(-.f64 x #s(literal -1 binary64))
(-.f64 x #s(literal -1 binary64))
(-.f64 x #s(literal -1 binary64))

rewrite294.0ms (7.4%)

Memory
-20.6MiB live, 174.4MiB allocated
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01672
02272
19068
265568
0847068
Stop Event
iter limit
node limit
iter limit
Counts
10 → 336
Calls
Call 1
Inputs
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
(neg.f64 x)
#s(approx (- (* (+ x 1) y) x) (fma.f64 y x y))
(fma.f64 y x y)
(-.f64 #s(approx (* (+ x 1) y) (*.f64 y x)) x)
#s(approx (* (+ x 1) y) (*.f64 y x))
(*.f64 y x)
(-.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>

eval228.0ms (5.7%)

Memory
11.1MiB live, 84.3MiB allocated
Compiler

Compiled 14 441 to 1 019 computations (92.9% saved)

prune13.0ms (0.3%)

Memory
28.2MiB live, 28.2MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New5421543
Fresh000
Picked044
Done000
Total5425547
Accuracy
100.0%
Counts
547 → 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 y x)) x)
63.4%
#s(approx (- (* (+ x 1) y) x) (fma.f64 y x y))
38.3%
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
25.0%
#s(approx (- (* (+ x 1) y) x) #s(approx (+ (* y x) y) (*.f64 y x)))
Compiler

Compiled 59 to 43 computations (27.1% saved)

simplify73.0ms (1.8%)

Memory
-51.0MiB live, 47.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01131
01231
12031
23131
34931
410331
518531
634431
755531
862731
963231
063228
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (- (* (+ x 1) y) x) #s(approx (+ (* y x) y) (*.f64 y x)))
#s(approx (+ (* y x) y) (*.f64 y x))
(*.f64 y x)
y
x
Outputs
#s(approx (- (* (+ x 1) y) x) #s(approx (+ (* y x) y) (*.f64 y x)))
#s(approx (+ (* y x) y) (*.f64 y x))
(*.f64 y x)
y
x

localize38.0ms (0.9%)

Memory
8.7MiB live, 46.2MiB allocated
Localize:

Found 3 expressions of interest:

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

Compiled 50 to 21 computations (58% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-add: 4.0ms (45.1% of total)
ival-mult: 3.0ms (33.8% of total)
ival-sub: 1.0ms (11.3% 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.1%)

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

6 calls:

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

simplify363.0ms (9.1%)

Memory
13.7MiB live, 294.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041333
1140333
2388333
3964333
42535333
53747333
64652333
75255333
85571333
95776333
105871333
115911333
125931333
135931333
145949333
155949333
09097292
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
(neg.f64 x)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(fma.f64 y x y)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(fma.f64 y x y)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
y
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
y
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(fma.f64 y x (neg.f64 x))
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(*.f64 y x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(fma.f64 y x (neg.f64 x))
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(-.f64 (fma.f64 y x y) x)
(*.f64 y x)
(fma.f64 y x y)
(fma.f64 y x y)
(fma.f64 y x y)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)

rewrite174.0ms (4.4%)

Memory
-5.8MiB live, 222.5MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

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

eval7.0ms (0.2%)

Memory
20.1MiB live, 20.0MiB allocated
Compiler

Compiled 1 334 to 34 computations (97.5% saved)

prune36.0ms (0.9%)

Memory
-7.6MiB live, 43.5MiB 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 y x)) x)
63.4%
#s(approx (- (* (+ x 1) y) x) (fma.f64 y x y))
38.3%
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
25.0%
#s(approx (- (* (+ x 1) y) x) #s(approx (+ (* y x) y) (*.f64 y x)))
Compiler

Compiled 125 to 67 computations (46.4% saved)

regimes21.0ms (0.5%)

Memory
-17.8MiB live, 21.4MiB 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 (+ (* y x) y) (*.f64 y x)))
#s(approx (- (* (+ x 1) y) x) (fma.f64 y x y))
(-.f64 #s(approx (* (+ x 1) y) (*.f64 y x)) 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
y
3.0ms
(-.f64 (*.f64 (+.f64 x #s(literal 1 binary64)) y) x)
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)

regimes8.0ms (0.2%)

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

3 calls:

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

regimes18.0ms (0.5%)

Memory
-23.6MiB live, 14.5MiB 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 (+ (* y x) y) (*.f64 y x)))
#s(approx (- (* (+ x 1) y) x) (fma.f64 y x y))
(-.f64 #s(approx (* (+ x 1) y) (*.f64 y x)) x)
Outputs
(-.f64 #s(approx (* (+ x 1) y) (*.f64 y x)) x)
#s(approx (- (* (+ x 1) y) x) (fma.f64 y x y))
(-.f64 #s(approx (* (+ x 1) y) (*.f64 y x)) x)
Calls

3 calls:

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

regimes4.0ms (0.1%)

Memory
7.7MiB live, 7.7MiB 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 (+ (* y x) y) (*.f64 y x)))
#s(approx (- (* (+ x 1) y) x) (fma.f64 y x y))
Outputs
#s(approx (- (* (+ x 1) y) x) (fma.f64 y x y))
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
#s(approx (- (* (+ x 1) y) x) (fma.f64 y x y))
Calls

2 calls:

2.0ms
x
2.0ms
y
Results
AccuracySegmentsBranch
87.0%3y
69.3%4x
Compiler

Compiled 2 to 4 computations (-100% saved)

regimes5.0ms (0.1%)

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

3 calls:

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

regimes4.0ms (0.1%)

Memory
9.0MiB live, 9.0MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

3 calls:

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

bsearch56.0ms (1.4%)

Memory
-26.5MiB live, 47.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
1.7386817013662248e-15
19.284957673673215
35.0ms
-1404.6598494541972
-0.6054304413452645
Samples
36.0ms288×0valid
Compiler

Compiled 388 to 335 computations (13.7% saved)

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

bsearch20.0ms (0.5%)

Memory
36.9MiB live, 36.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
59628.84573265262
265211287687.36978
6.0ms
-4.906554476387943e-6
-1.3988171539116562e-6
Samples
9.0ms224×0valid
Compiler

Compiled 332 to 263 computations (20.8% saved)

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

bsearch20.0ms (0.5%)

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

Compiled 252 to 209 computations (17.1% saved)

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

bsearch17.0ms (0.4%)

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

Compiled 469 to 368 computations (21.5% saved)

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

simplify35.0ms (0.9%)

Memory
4.3MiB live, 90.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044194
156194
261194
362194
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 y x 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 y x y))))
(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 y x 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 y x 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 y x y))))
(if (<=.f64 y #s(literal -1 binary64)) #s(approx (- (* (+ x 1) y) x) #s(approx (+ (* y x) 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 (+ (* y x) y) (*.f64 y x)))))
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))
Outputs
(-.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 y x 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 y x y))))
(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 y x 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 y x 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 y x y))))
(if (<=.f64 y #s(literal -1 binary64)) #s(approx (- (* (+ x 1) y) x) #s(approx (+ (* y x) 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 (+ (* y x) y) (*.f64 y x)))))
#s(approx (- (* (+ x 1) y) x) (neg.f64 x))

soundness872.0ms (21.9%)

Memory
-59.2MiB live, 290.9MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0441058
11491058
23981058
310171058
425071058
536501058
644151058
753601058
858841058
964461058
1074891058
08008915
041291
1140291
2363291
3978291
42451291
53589291
64355291
75300291
85826291
96390291
107433291
08102250
Stop Event
done
iter limit
node limit
iter limit
node limit
Compiler

Compiled 226 to 77 computations (65.9% saved)

preprocess47.0ms (1.2%)

Memory
-5.4MiB live, 72.0MiB allocated
Compiler

Compiled 402 to 102 computations (74.6% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...