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

Time bar (total: 3.4s)

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)

sample625.0ms (18.4%)

Memory
57.6MiB live, 831.9MiB allocated
Samples
354.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 168.0ms
ival-div: 61.0ms (36.2% of total)
ival-sub: 51.0ms (30.3% of total)
ival-add: 42.0ms (24.9% of total)
ival-true: 6.0ms (3.6% of total)
exact: 5.0ms (3% of total)
ival-assert: 3.0ms (1.8% of total)
Bogosity

explain107.0ms (3.2%)

Memory
-30.3MiB live, 142.5MiB 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
52.0ms512×0valid
Compiler

Compiled 47 to 22 computations (53.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-sub: 11.0ms (62.5% of total)
ival-div: 4.0ms (22.7% of total)
ival-add: 2.0ms (11.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess460.0ms (13.6%)

Memory
17.8MiB live, 288.6MiB allocated
Algorithm
egg-herbie
Rules
19 132×lower-fma.f64
19 132×lower-fma.f32
3 330×associate-+r+
2 008×associate-+r-
1 940×lower-+.f32
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 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
(*.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.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

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

simplify244.0ms (7.2%)

Memory
-3.3MiB live, 202.0MiB 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))
Rules
19 132×lower-fma.f64
19 132×lower-fma.f32
1 940×lower-+.f32
1 938×lower-+.f64
1 884×lower--.f32
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 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
x
(/.f64 (-.f64 y x) #s(literal 2 binary64))
(*.f64 #s(literal 1/2 binary64) (-.f64 y x))
(-.f64 y x)
y
#s(literal 2 binary64)

localize21.0ms (0.6%)

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

Compiled 20 to 8 computations (60% saved)

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

series4.0ms (0.1%)

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

simplify185.0ms (5.5%)

Memory
-10.9MiB live, 163.5MiB allocated
Algorithm
egg-herbie
Rules
12 600×lower-fma.f64
12 600×lower-fma.f32
1 834×lower-*.f64
1 834×lower-*.f32
1 602×lower--.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
057315
1177315
2499279
31522279
45228279
57510279
08268279
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
(* -1/2 x)
(*.f64 x #s(literal -1/2 binary64))
(+ (* -1/2 x) (* 1/2 y))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(+ (* -1/2 x) (* 1/2 y))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(+ (* -1/2 x) (* 1/2 y))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(+ x (* -1/2 x))
(*.f64 #s(literal 1/2 binary64) x)
(+ x (+ (* -1/2 x) (* 1/2 y)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 x)
(neg.f64 x)
(- y x)
(-.f64 y x)
(- y x)
(-.f64 y x)
(- y x)
(-.f64 y x)
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* y (+ 1/2 (* -1/2 (/ x y))))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(* y (+ 1/2 (* -1/2 (/ x y))))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(* y (+ 1/2 (* -1/2 (/ x y))))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
y
(* y (+ 1 (* -1 (/ x y))))
(-.f64 y x)
(* y (+ 1 (* -1 (/ x y))))
(-.f64 y x)
(* y (+ 1 (* -1 (/ x y))))
(-.f64 y x)
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* -1 (* y (- (* 1/2 (/ x y)) 1/2)))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (- (* 1/2 (/ x y)) 1/2)))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (- (* 1/2 (/ x y)) 1/2)))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
y
(* -1 (* y (- (/ x y) 1)))
(-.f64 y x)
(* -1 (* y (- (/ x y) 1)))
(-.f64 y x)
(* -1 (* y (- (/ x y) 1)))
(-.f64 y x)
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(+ (* -1/2 x) (* 1/2 y))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(+ (* -1/2 x) (* 1/2 y))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(+ (* -1/2 x) (* 1/2 y))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
y
(+ y (* -1 x))
(-.f64 y x)
(+ y (* -1 x))
(-.f64 y x)
(+ y (* -1 x))
(-.f64 y x)
(* -1/2 x)
(*.f64 x #s(literal -1/2 binary64))
(* x (- (* 1/2 (/ y x)) 1/2))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(* x (- (* 1/2 (/ y x)) 1/2))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(* x (- (* 1/2 (/ y x)) 1/2))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 x)
(neg.f64 x)
(* x (- (/ y x) 1))
(-.f64 y x)
(* x (- (/ y x) 1))
(-.f64 y x)
(* x (- (/ y x) 1))
(-.f64 y x)
(* -1/2 x)
(*.f64 x #s(literal -1/2 binary64))
(* -1 (* x (+ 1/2 (* -1/2 (/ y x)))))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (+ 1/2 (* -1/2 (/ y x)))))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (+ 1/2 (* -1/2 (/ y x)))))
(*.f64 (-.f64 y x) #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 x)
(neg.f64 x)
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(-.f64 y x)
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(-.f64 y x)
(* -1 (* x (+ 1 (* -1 (/ y x)))))
(-.f64 y x)

rewrite149.0ms (4.4%)

Memory
12.7MiB live, 206.1MiB allocated
Rules
4 080×lower-fma.f64
4 080×lower-fma.f32
3 840×lower-*.f64
3 840×lower-*.f32
2 598×lower-/.f32
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>

eval50.0ms (1.5%)

Memory
-17.9MiB live, 100.8MiB allocated
Compiler

Compiled 7 283 to 1 107 computations (84.8% saved)

prune6.0ms (0.2%)

Memory
25.3MiB live, 25.2MiB 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 y x) #s(literal 1/2 binary64)))
55.1%
#s(approx (+ x (/ (- y x) 2)) (*.f64 y #s(literal 1/2 binary64)))
46.2%
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
Compiler

Compiled 14 to 16 computations (-14.3% saved)

simplify207.0ms (6.1%)

Memory
9.0MiB live, 159.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 y x)
cost-diff0
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
cost-diff0
#s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 y x) #s(literal 1/2 binary64)))
cost-diff0
(*.f64 y #s(literal 1/2 binary64))
cost-diff0
#s(approx (+ x (/ (- y x) 2)) (*.f64 y #s(literal 1/2 binary64)))
cost-diff0
(*.f64 #s(literal 1/2 binary64) x)
cost-diff0
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
Rules
18 052×lower-fma.f64
18 052×lower-fma.f32
2 344×lower--.f64
2 344×lower--.f32
1 828×lower-*.f32
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 y #s(literal 1/2 binary64)))
(*.f64 y #s(literal 1/2 binary64))
y
#s(literal 1/2 binary64)
#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)
y
x
#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 y #s(literal 1/2 binary64)))
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) y))
(*.f64 y #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
y
#s(literal 1/2 binary64)
#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)
y
x
#s(literal 1/2 binary64)

localize32.0ms (1%)

Memory
-4.7MiB live, 66.3MiB allocated
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
accuracy0
(+.f64 y x)
accuracy0
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
accuracy0
#s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 y x) #s(literal 1/2 binary64)))
accuracy0
(*.f64 y #s(literal 1/2 binary64))
accuracy28.761078401908186
#s(approx (+ x (/ (- y x) 2)) (*.f64 y #s(literal 1/2 binary64)))
accuracy0
(*.f64 #s(literal 1/2 binary64) x)
accuracy34.408249695298096
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
Samples
25.0ms256×0valid
Compiler

Compiled 44 to 13 computations (70.5% saved)

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

series59.0ms (1.7%)

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

6 calls:

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

simplify168.0ms (5%)

Memory
6.2MiB live, 159.9MiB allocated
Algorithm
egg-herbie
Rules
14 724×lower-fma.f64
14 724×lower-fma.f32
2 174×lower-*.f64
2 174×lower-*.f32
1 654×lower--.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
050564
1152564
2369564
31199564
44189564
56759564
08074564
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
(+ x (* -1/2 x))
(*.f64 #s(literal 1/2 binary64) x)
(+ x (+ (* -1/2 x) (* 1/2 y)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ x (* -1/2 x))
(*.f64 #s(literal 1/2 binary64) x)
(+ x (+ (* -1/2 x) (* 1/2 y)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(+ x (* -1/2 x))
(*.f64 #s(literal 1/2 binary64) x)
(+ x (+ (* -1/2 x) (* 1/2 y)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ x (+ (* -1/2 x) (* 1/2 y)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
x
(+ x y)
(+.f64 y x)
(+ x y)
(+.f64 y x)
(+ x y)
(+.f64 y x)
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* y (+ 1/2 (+ (* -1/2 (/ x y)) (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* y (+ 1/2 (* 1/2 (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* y (+ 1/2 (* 1/2 (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* y (+ 1/2 (* 1/2 (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
y
(* y (+ 1 (/ x y)))
(+.f64 y x)
(* y (+ 1 (/ x y)))
(+.f64 y x)
(* y (+ 1 (/ x y)))
(+.f64 y x)
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (- (* -1 (/ (+ x (* -1/2 x)) y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* -1 (* y (- (* -1/2 (/ x y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (- (* -1/2 (/ x y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (- (* -1/2 (/ x y)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
y
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+.f64 y x)
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+.f64 y x)
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+.f64 y x)
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(+ (* 1/2 x) (* 1/2 y))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
y
(+ x y)
(+.f64 y x)
(+ x y)
(+.f64 y x)
(+ x y)
(+.f64 y x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* x (+ 1/2 (* 1/2 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
x
(* x (+ 1 (/ y x)))
(+.f64 y x)
(* x (+ 1 (/ y x)))
(+.f64 y x)
(* x (+ 1 (/ y x)))
(+.f64 y x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (- (* -1/2 (/ y x)) 1/2)))
(*.f64 (+.f64 y x) #s(literal 1/2 binary64))
x
(* -1 (* x (- (* -1 (/ y x)) 1)))
(+.f64 y x)
(* -1 (* x (- (* -1 (/ y x)) 1)))
(+.f64 y x)
(* -1 (* x (- (* -1 (/ y x)) 1)))
(+.f64 y x)

rewrite235.0ms (7%)

Memory
13.6MiB live, 164.9MiB allocated
Rules
4 316×lower-fma.f64
4 316×lower-fma.f32
3 832×lower-*.f32
3 826×lower-*.f64
3 424×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01449
01849
16449
247649
3630649
0808346
Stop Event
iter limit
node limit
iter limit
Counts
7 → 213
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 y #s(literal 1/2 binary64)))
(*.f64 y #s(literal 1/2 binary64))
#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)
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>

eval57.0ms (1.7%)

Memory
10.4MiB live, 84.0MiB allocated
Compiler

Compiled 4 779 to 799 computations (83.3% saved)

prune14.0ms (0.4%)

Memory
-16.3MiB live, 34.1MiB allocated
Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New3510351
Fresh000
Picked033
Done000
Total3513354
Accuracy
100.0%
Counts
354 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 y x) #s(literal 1/2 binary64)))
55.1%
#s(approx (+ x (/ (- y x) 2)) (*.f64 y #s(literal 1/2 binary64)))
46.2%
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
Compiler

Compiled 35 to 30 computations (14.3% saved)

regimes7.0ms (0.2%)

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

3 calls:

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

regimes7.0ms (0.2%)

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

3 calls:

3.0ms
x
2.0ms
(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
2.0ms
y
Results
AccuracySegmentsBranch
84.2%2x
85.7%2y
98.2%2(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes4.0ms (0.1%)

Memory
12.6MiB live, 12.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
y
1.0ms
(+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64)))
1.0ms
x
Results
AccuracySegmentsBranch
46.2%1x
46.2%1y
46.2%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.0MiB live, 1.0MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-2.9112433850188045e-289
1.500152147693021e-231
Compiler

Compiled 10 to 11 computations (-10% saved)

simplify24.0ms (0.7%)

Memory
25.0MiB live, 63.0MiB allocated
Algorithm
egg-herbie
Rules
*-commutative-binary64-*.f64
+-commutative-binary64-+.f64
sub-neg-binary64-neg.f64-+.f64--.f64
neg-sub0-binary64--.f64-neg.f64
neg-mul-1-binary64-*.f64-neg.f64
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 y x) #s(literal 1/2 binary64)))
(if (<=.f64 (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #s(literal -4388899255034951/21944496275174754733023745004748837080297570543729328280448007953824789527038691788660702798145451174453138901351488446979832735450978591612896414872982681198457994802840025058142360791167736098566050165049439180766375815715632675961171034001565824849041810386302038359368560295224574744242597208206082048 binary64)) #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #s(approx (+ x (/ (- y x) 2)) (*.f64 y #s(literal 1/2 binary64))))
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x))
Outputs
#s(approx (+ x (/ (- y x) 2)) (*.f64 (+.f64 y x) #s(literal 1/2 binary64)))
#s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) (+.f64 y x)))
(if (<=.f64 (+.f64 x (/.f64 (-.f64 y x) #s(literal 2 binary64))) #s(literal -4388899255034951/21944496275174754733023745004748837080297570543729328280448007953824789527038691788660702798145451174453138901351488446979832735450978591612896414872982681198457994802840025058142360791167736098566050165049439180766375815715632675961171034001565824849041810386302038359368560295224574744242597208206082048 binary64)) #s(approx (+ x (/ (- y x) 2)) (*.f64 #s(literal 1/2 binary64) x)) #s(approx (+ x (/ (- y x) 2)) (*.f64 y #s(literal 1/2 binary64))))
(if (<=.f64 (+.f64 (/.f64 (-.f64 y x) #s(literal 2 binary64)) x) #s(literal -4388899255034951/21944496275174754733023745004748837080297570543729328280448007953824789527038691788660702798145451174453138901351488446979832735450978591612896414872982681198457994802840025058142360791167736098566050165049439180766375815715632675961171034001565824849041810386302038359368560295224574744242597208206082048 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))

soundness670.0ms (19.8%)

Memory
-48.7MiB live, 207.3MiB allocated
Rules
12 600×lower-fma.f64
12 600×lower-fma.f32
1 834×lower-*.f64
1 834×lower-*.f32
1 602×lower--.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
057315
1177315
2499279
31522279
45228279
57510279
08268279
Stop Event
done
iter limit
node limit
Compiler

Compiled 42 to 34 computations (19% saved)

preprocess49.0ms (1.5%)

Memory
34.5MiB live, 73.7MiB allocated
Remove

(sort x y)

Compiler

Compiled 104 to 80 computations (23.1% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...