Numeric.Interval.Internal:bisect from intervals-0.7.1, A

Time bar (total: 3.5s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

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

sample804.0ms (23.1%)

Memory
15.0MiB live, 900.0MiB allocated
Samples
544.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 190.0ms
ival-div: 67.0ms (35.2% of total)
ival-sub: 65.0ms (34.2% of total)
ival-add: 45.0ms (23.7% of total)
ival-true: 6.0ms (3.2% of total)
exact: 4.0ms (2.1% of total)
ival-assert: 3.0ms (1.6% of total)
Bogosity

explain64.0ms (1.9%)

Memory
-17.4MiB live, 105.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
00-0-(-.f64 y x)
00-0-y
00-0-#s(literal 2 binary64)
00-0-(/.f64 (-.f64 y x) #s(literal 2 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
22.0ms512×0valid
Compiler

Compiled 65 to 28 computations (56.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-sub: 3.0ms (30.6% of total)
ival-div: 3.0ms (30.6% of total)
ival-add: 2.0ms (20.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess357.0ms (10.3%)

Memory
28.9MiB live, 257.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
01641
14435
213735
338029
464425
594225
6232525
7310025
8341725
9351625
10358125
11358425
12360025
13360925
14360925
15360925
16360925
067
097
1157
2267
3467
4877
51507
63267
75326
812675
919835
1023945
1124125
1224265
1324265
1433665
1539095
1640655
1741245
1845325
1963725
2070365
2179685
083225
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
Outputs
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
Symmetry

(sort x y)

Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune22.0ms (0.6%)

Memory
-9.8MiB live, 36.6MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify238.0ms (6.8%)

Memory
-21.7MiB live, 204.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 y x)
cost-diff192
(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
cost-diff384
(/.f64 (-.f64 y x) #s(literal 2 binary64))
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
0618
0918
11518
22618
34618
48718
515018
632618
753217
8126716
9198316
10239416
11241216
12242616
13242616
14336616
15390916
16406516
17412416
18453216
19637216
20703616
21796816
0832216
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
x
(/.f64 (-.f64 y x) #s(literal 2 binary64))
(-.f64 y x)
y
#s(literal 2 binary64)
Outputs
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
x
(*.f64 #s(literal 1/2 binary64) (-.f64 y x))
(-.f64 y x)
y
#s(literal 2 binary64)

localize17.0ms (0.5%)

Memory
17.0MiB live, 56.0MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(/.f64 (-.f64 y x) #s(literal 2 binary64))
accuracy0
(-.f64 y x)
accuracy0.01171875
(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
Samples
13.0ms256×0valid
Compiler

Compiled 38 to 14 computations (63.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-div: 2.0ms (41.9% of total)
ival-sub: 1.0ms (20.9% of total)
ival-add: 1.0ms (20.9% 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
13.5MiB live, 13.5MiB allocated
Counts
3 → 72
Calls
Call 1
Inputs
#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (-.f64 y x) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<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 (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<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 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<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 (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<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 (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<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 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (/.f64 (-.f64 y x) #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #<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
((/ (- y x) 2) (+ x (/ (- y x) 2)) (- y x))
1.0ms
x
@inf
((/ (- y x) 2) (+ x (/ (- y x) 2)) (- y x))
0.0ms
y
@-inf
((/ (- y x) 2) (+ x (/ (- y x) 2)) (- y x))
0.0ms
x
@-inf
((/ (- y x) 2) (+ x (/ (- y x) 2)) (- y x))
0.0ms
y
@0
((/ (- y x) 2) (+ x (/ (- y x) 2)) (- y x))

simplify114.0ms (3.3%)

Memory
1.4MiB live, 129.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
057315
1177315
2499279
31522279
45228279
57511279
08235279
Stop Event
iter limit
node limit
Counts
72 → 69
Calls
Call 1
Inputs
(* -1/2 x)
(+ (* -1/2 x) (* 1/2 y))
(+ (* -1/2 x) (* 1/2 y))
(+ (* -1/2 x) (* 1/2 y))
(+ x (* -1/2 x))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(* -1 x)
(- y x)
(- y x)
(- y x)
(* 1/2 y)
(* y (+ 1/2 (* -1/2 (/ x y))))
(* y (+ 1/2 (* -1/2 (/ x y))))
(* y (+ 1/2 (* -1/2 (/ x y))))
(* 1/2 y)
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
y
(* y (+ 1 (* -1 (/ x y))))
(* y (+ 1 (* -1 (/ x y))))
(* y (+ 1 (* -1 (/ x y))))
(* 1/2 y)
(* -1 (* y (- (* 1/2 (/ x y)) 1/2)))
(* -1 (* y (- (* 1/2 (/ x y)) 1/2)))
(* -1 (* y (- (* 1/2 (/ x y)) 1/2)))
(* 1/2 y)
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
y
(* -1 (* y (- (/ x y) 1)))
(* -1 (* y (- (/ x y) 1)))
(* -1 (* y (- (/ x y) 1)))
(* 1/2 y)
(+ (* -1/2 x) (* 1/2 y))
(+ (* -1/2 x) (* 1/2 y))
(+ (* -1/2 x) (* 1/2 y))
(* 1/2 y)
(+ (* 1/2 x) (* 1/2 y))
(+ (* 1/2 x) (* 1/2 y))
(+ (* 1/2 x) (* 1/2 y))
y
(+ y (* -1 x))
(+ y (* -1 x))
(+ y (* -1 x))
(* -1/2 x)
(* x (- (* 1/2 (/ y x)) 1/2))
(* x (- (* 1/2 (/ y x)) 1/2))
(* x (- (* 1/2 (/ y x)) 1/2))
(* 1/2 x)
(* x (+ 1/2 (* 1/2 (/ y x))))
(* x (+ 1/2 (* 1/2 (/ y x))))
(* x (+ 1/2 (* 1/2 (/ y x))))
(* -1 x)
(* x (- (/ y x) 1))
(* x (- (/ y x) 1))
(* x (- (/ y x) 1))
(* -1/2 x)
(* -1 (* x (+ 1/2 (* -1/2 (/ y x)))))
(* -1 (* x (+ 1/2 (* -1/2 (/ y x)))))
(* -1 (* x (+ 1/2 (* -1/2 (/ y x)))))
(* 1/2 x)
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(* -1 x)
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(* -1 (* x (+ 1 (* -1 (/ y x)))))
Outputs
(*.f64 #s(literal -1/2 binary64) x)
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(neg.f64 x)
(-.f64 y x)
(-.f64 y x)
(-.f64 y x)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
y
(-.f64 y x)
(-.f64 y x)
(-.f64 y x)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
y
(-.f64 y x)
(-.f64 y x)
(-.f64 y x)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
y
(-.f64 y x)
(-.f64 y x)
(-.f64 y x)
(*.f64 #s(literal -1/2 binary64) x)
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(neg.f64 x)
(-.f64 y x)
(-.f64 y x)
(-.f64 y x)
(*.f64 #s(literal -1/2 binary64) x)
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(neg.f64 x)
(-.f64 y x)
(-.f64 y x)
(-.f64 y x)

rewrite207.0ms (6%)

Memory
-33.1MiB live, 203.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0615
0915
14815
240015
3508215
0821114
Stop Event
iter limit
node limit
iter limit
Counts
3 → 344
Calls
Call 1
Inputs
(/.f64 (-.f64 y x) #s(literal 2 binary64))
(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
(-.f64 y x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval60.0ms (1.7%)

Memory
40.9MiB live, 115.0MiB allocated
Compiler

Compiled 7 634 to 1 110 computations (85.5% saved)

prune9.0ms (0.3%)

Memory
-4.5MiB live, 30.1MiB allocated
Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New4103413
Fresh000
Picked101
Done000
Total4113414
Accuracy
100.0%
Counts
414 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64)))
53.0%
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y))
48.8%
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
Compiler

Compiled 35 to 28 computations (20% saved)

simplify245.0ms (7.1%)

Memory
-9.7MiB live, 160.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 7 expressions of interest:

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

Useful iterations: 7 (0.0ms)

IterNodesCost
01456
01856
12856
24156
36156
410256
517156
636856
760950
8151450
9218850
10256550
11258150
12259350
13259350
14355250
15410450
16426050
17431850
18472650
19657050
20723450
0807650
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
x
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y))
(*.f64 #s(literal 1/2 binary64) y)
#s(literal 1/2 binary64)
y
#s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64)))
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(+.f64 x y)
x
y
#s(literal 1/2 binary64)
Outputs
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
x
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y))
(*.f64 #s(literal 1/2 binary64) y)
#s(literal 1/2 binary64)
y
#s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 y x) #s(literal 1/2 binary64)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+.f64 y x)
x
y
#s(literal 1/2 binary64)

localize71.0ms (2%)

Memory
-4.7MiB live, 40.2MiB allocated
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
accuracy0
(+.f64 x y)
accuracy0
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
accuracy0
#s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64)))
accuracy0
(*.f64 #s(literal 1/2 binary64) y)
accuracy30.088560274667206
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y))
accuracy0
(*.f64 #s(literal 1/2 binary64) x)
accuracy32.73726144367963
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
Samples
64.0ms256×0valid
Compiler

Compiled 100 to 27 computations (73% saved)

Precisions
Click to see histograms. Total time spent on operations: 41.0ms
ival-add: 33.0ms (80.3% of total)
ival-mult: 4.0ms (9.7% of total)
ival-sub: 2.0ms (4.9% of total)
ival-div: 2.0ms (4.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series9.0ms (0.2%)

Memory
7.4MiB live, 7.4MiB allocated
Counts
7 → 144
Calls
Call 1
Inputs
#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) y) #<representation binary64>) () ())
#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())
#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())
#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())
Outputs
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 y) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf y) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf y) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor 0 x) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor inf x) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch #s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64))) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (*.f64 (+.f64 x y) #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt #<batchref> (taylor -inf x) (#s(alt #<batchref> (patch (+.f64 x y) #<representation binary64>) () ())) ())
Calls

6 calls:

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

simplify228.0ms (6.5%)

Memory
-18.4MiB live, 93.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
050564
1152564
2369564
31199564
44189564
56757564
08264564
Stop Event
iter limit
node limit
Counts
144 → 138
Calls
Call 1
Inputs
(+ x (* -1/2 x))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(+ x (* -1/2 x))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(+ x (* -1/2 x))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(* 1/2 x)
(+ (* 1/2 x) (* 1/2 y))
(+ (* 1/2 x) (* 1/2 y))
(+ (* 1/2 x) (* 1/2 y))
x
(+ x y)
(+ x y)
(+ x y)
(* 1/2 y)
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(* 1/2 y)
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(* 1/2 y)
(* y (+ 1/2 (* 1/2 (/ x y))))
(* y (+ 1/2 (* 1/2 (/ x y))))
(* y (+ 1/2 (* 1/2 (/ x y))))
y
(* y (+ 1 (/ x y)))
(* y (+ 1 (/ x y)))
(* y (+ 1 (/ x y)))
(* 1/2 y)
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(* 1/2 y)
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(* 1/2 y)
(* -1 (* y (- (* -1/2 (/ x y)) 1/2)))
(* -1 (* y (- (* -1/2 (/ x y)) 1/2)))
(* -1 (* y (- (* -1/2 (/ x y)) 1/2)))
y
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* 1/2 y)
(+ (* 1/2 x) (* 1/2 y))
(+ (* 1/2 x) (* 1/2 y))
(+ (* 1/2 x) (* 1/2 y))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 y)
(+ (* 1/2 x) (* 1/2 y))
(+ (* 1/2 x) (* 1/2 y))
(+ (* 1/2 x) (* 1/2 y))
(* 1/2 y)
(+ (* 1/2 x) (* 1/2 y))
(+ (* 1/2 x) (* 1/2 y))
(+ (* 1/2 x) (* 1/2 y))
(* 1/2 y)
(+ (* 1/2 x) (* 1/2 y))
(+ (* 1/2 x) (* 1/2 y))
(+ (* 1/2 x) (* 1/2 y))
y
(+ x y)
(+ x y)
(+ x y)
(* 1/2 x)
(* x (+ 1/2 (* 1/2 (/ y x))))
(* x (+ 1/2 (* 1/2 (/ y x))))
(* x (+ 1/2 (* 1/2 (/ y x))))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* x (+ 1/2 (* 1/2 (/ y x))))
(* x (+ 1/2 (* 1/2 (/ y x))))
(* x (+ 1/2 (* 1/2 (/ y x))))
(* 1/2 x)
(* x (+ 1/2 (* 1/2 (/ y x))))
(* x (+ 1/2 (* 1/2 (/ y x))))
(* x (+ 1/2 (* 1/2 (/ y x))))
(* 1/2 x)
(* x (+ 1/2 (* 1/2 (/ y x))))
(* x (+ 1/2 (* 1/2 (/ y x))))
(* x (+ 1/2 (* 1/2 (/ y x))))
x
(* x (+ 1 (/ y x)))
(* x (+ 1 (/ y x)))
(* x (+ 1 (/ y x)))
(* 1/2 x)
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(* 1/2 x)
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(* 1/2 x)
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
x
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
Outputs
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
x
(+.f64 y x)
(+.f64 y x)
(+.f64 y x)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
y
(+.f64 y x)
(+.f64 y x)
(+.f64 y x)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
y
(+.f64 y x)
(+.f64 y x)
(+.f64 y x)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
y
(+.f64 y x)
(+.f64 y x)
(+.f64 y x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
x
(+.f64 y x)
(+.f64 y x)
(+.f64 y x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
x
(+.f64 y x)
(+.f64 y x)
(+.f64 y x)

rewrite220.0ms (6.3%)

Memory
7.0MiB live, 283.3MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01449
01849
16849
251149
3660849
0816646
Stop Event
iter limit
node limit
iter limit
Counts
7 → 152
Calls
Call 1
Inputs
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y))
(*.f64 #s(literal 1/2 binary64) y)
#s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64)))
(*.f64 (+.f64 x y) #s(literal 1/2 binary64))
(+.f64 x y)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval132.0ms (3.8%)

Memory
28.7MiB live, 67.2MiB allocated
Compiler

Compiled 5 544 to 602 computations (89.1% saved)

prune51.0ms (1.5%)

Memory
-39.1MiB live, 32.7MiB allocated
Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2900290
Fresh000
Picked033
Done000
Total2903293
Accuracy
100.0%
Counts
293 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64)))
53.0%
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y))
48.8%
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
Compiler

Compiled 77 to 46 computations (40.3% saved)

regimes11.0ms (0.3%)

Memory
-20.4MiB live, 15.7MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y))
#s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64)))
(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
Outputs
#s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64)))
Calls

3 calls:

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

Compiled 9 to 10 computations (-11.1% saved)

regimes5.0ms (0.2%)

Memory
15.3MiB live, 15.2MiB allocated
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y))
Outputs
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y))
Calls

3 calls:

2.0ms
(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
2.0ms
y
2.0ms
x
Results
AccuracySegmentsBranch
81.3%2x
82.7%2y
98.5%2(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes5.0ms (0.1%)

Memory
14.6MiB live, 14.6MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

3 calls:

1.0ms
x
1.0ms
y
1.0ms
(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
48.8%1x
48.8%1y
48.8%1(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
Compiler

Compiled 9 to 10 computations (-11.1% saved)

bsearch0.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-3.659059142391462e-265
2.3018446160482e-248
Compiler

Compiled 10 to 11 computations (-10% saved)

simplify26.0ms (0.8%)

Memory
0.0MiB live, 75.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02056
12756
23256
33456
43556
Stop Event
saturated
Calls
Call 1
Inputs
#s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 x y) #s(literal 1/2 binary64)))
(if (<=.f64 (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #s(literal -7260824748426675/36304123742133375556593322708737806643829594767075060035541305159080582450205184901005085803128817153071257905034008131114613897596311174506612074733945181293529561534361813328678867427595159591558574115780064384913763396164010744339772923348355910229786257457376560371673958711296 binary64)) #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)))
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
Outputs
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) (+.f64 y x)))
(if (<=.f64 (+.f64 (/.f64 (-.f64 y x) #s(literal 2 binary64)) x) #s(literal -7260824748426675/36304123742133375556593322708737806643829594767075060035541305159080582450205184901005085803128817153071257905034008131114613897596311174506612074733945181293529561534361813328678867427595159591558574115780064384913763396164010744339772923348355910229786257457376560371673958711296 binary64)) #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y)))
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))

soundness534.0ms (15.3%)

Memory
-34.7MiB live, 172.0MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
057315
1177315
2499279
31522279
45228279
57511279
08235279
Stop Event
done
iter limit
node limit
Compiler

Compiled 70 to 38 computations (45.7% saved)

preprocess45.0ms (1.3%)

Memory
10.9MiB live, 84.3MiB allocated
Remove

(sort x y)

Compiler

Compiled 188 to 104 computations (44.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...