Data.Histogram.Bin.BinF:$cfromIndex from histogram-fill-0.8.4.1

Time bar (total: 2.6s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

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

Compiled 11 to 10 computations (9.1% saved)

sample545.0ms (21%)

Memory
211.0MiB live, 211.0MiB allocated
Samples
333.0ms8 253×0valid
0.0ms1valid
0.0ms2valid
Precisions
Click to see histograms. Total time spent on operations: 177.0ms
ival-add: 63.0ms (35.6% of total)
ival-div: 51.0ms (28.9% of total)
ival-mult: 50.0ms (28.3% of total)
ival-true: 6.0ms (3.4% of total)
exact: 4.0ms (2.3% of total)
ival-assert: 3.0ms (1.7% of total)
adjust: 0.0ms (0% of total)
Bogosity

explain105.0ms (4%)

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

Compiled 143 to 64 computations (55.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-add: 4.0ms (34.8% of total)
ival-mult: 4.0ms (34.8% of total)
ival-div: 3.0ms (26.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess66.0ms (2.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03288
18882
223281
366269
4116665
5171463
6219063
7237663
8242463
9243263
10243263
089
0129
1179
2249
3269
0268
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
Outputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 z (fma.f64 y x (/.f64 x #s(literal 2 binary64))))
Compiler

Compiled 9 to 8 computations (11.1% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 9 to 8 computations (11.1% saved)

simplify3.0ms (0.1%)

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

Found 4 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0826
01226
11726
22426
32626
02624
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
(/.f64 x #s(literal 2 binary64))
x
#s(literal 2 binary64)
(*.f64 y x)
y
z
Outputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 z (fma.f64 y x (/.f64 x #s(literal 2 binary64))))
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
(fma.f64 y x (/.f64 x #s(literal 2 binary64)))
(/.f64 x #s(literal 2 binary64))
x
#s(literal 2 binary64)
(*.f64 y x)
y
z

localize17.0ms (0.7%)

Memory
8.0MiB live, 8.0MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(/.f64 x #s(literal 2 binary64))
accuracy0
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
accuracy0
(*.f64 y x)
accuracy0.0078125
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
Samples
12.0ms256×0valid
Compiler

Compiled 54 to 18 computations (66.7% saved)

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

series7.0ms (0.3%)

Memory
3.6MiB live, 3.6MiB allocated
Counts
4 → 96
Calls
Call 1
Inputs
#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())
#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())
#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())
Outputs
#s(alt (+ (* 1/2 x) (* x y)) (taylor 0 z) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (+ z (+ (* 1/2 x) (* x y))) (taylor 0 z) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (+ z (+ (* 1/2 x) (* x y))) (taylor 0 z) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (+ z (+ (* 1/2 x) (* x y))) (taylor 0 z) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt z (taylor inf z) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z)))) (taylor inf z) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z)))) (taylor inf z) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z)))) (taylor inf z) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt z (taylor -inf z) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1))) (taylor -inf z) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1))) (taylor -inf z) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1))) (taylor -inf z) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 y) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/2 x) (* x y)) (taylor 0 y) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/2 x) (* x y)) (taylor 0 y) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/2 x) (* x y)) (taylor 0 y) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (+ z (* 1/2 x)) (taylor 0 y) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (+ z (+ (* 1/2 x) (* x y))) (taylor 0 y) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (+ z (+ (* 1/2 x) (* x y))) (taylor 0 y) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (+ z (+ (* 1/2 x) (* x y))) (taylor 0 y) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* 1/2 (/ x y)))) (taylor inf y) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* 1/2 (/ x y)))) (taylor inf y) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* 1/2 (/ x y)))) (taylor inf y) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (+ (* 1/2 (/ x y)) (/ z y)))) (taylor inf y) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (+ (* 1/2 (/ x y)) (/ z y)))) (taylor inf y) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (+ (* 1/2 (/ x y)) (/ z y)))) (taylor inf y) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (* -1/2 (/ x y))))) (taylor -inf y) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (* -1/2 (/ x y))))) (taylor -inf y) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (* -1/2 (/ x y))))) (taylor -inf y) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y))))) (taylor -inf y) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y))))) (taylor -inf y) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y))))) (taylor -inf y) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf y) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 y)) (taylor 0 x) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 y)) (taylor 0 x) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 y)) (taylor 0 x) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 y)) (taylor 0 x) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt z (taylor 0 x) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (+ z (* x (+ 1/2 y))) (taylor 0 x) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (+ z (* x (+ 1/2 y))) (taylor 0 x) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (+ z (* x (+ 1/2 y))) (taylor 0 x) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor 0 x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor 0 x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 y)) (taylor inf x) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 y)) (taylor inf x) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 y)) (taylor inf x) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 y)) (taylor inf x) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 y)) (taylor inf x) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (+ y (/ z x)))) (taylor inf x) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (+ y (/ z x)))) (taylor inf x) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (+ y (/ z x)))) (taylor inf x) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 y) 1/2))) (taylor -inf x) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 y) 1/2))) (taylor -inf x) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 y) 1/2))) (taylor -inf x) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 y) 1/2))) (taylor -inf x) (#s(alt (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (patch (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 y) 1/2))) (taylor -inf x) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2))) (taylor -inf x) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2))) (taylor -inf x) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2))) (taylor -inf x) (#s(alt (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) (patch (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (/.f64 x #s(literal 2 binary64)) (patch (/.f64 x #s(literal 2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
#s(alt (* x y) (taylor -inf x) (#s(alt (*.f64 y x) (patch (*.f64 y x) #<representation binary64>) () ())) ())
Calls

9 calls:

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

simplify83.0ms (3.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
057440
1174440
2488440
31308440
43609440
56674440
08210412
Stop Event
iter limit
node limit
Counts
96 → 93
Calls
Call 1
Inputs
(+ (* 1/2 x) (* x y))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* 1/2 x)
(+ (* 1/2 x) (* x y))
(+ (* 1/2 x) (* x y))
(+ (* 1/2 x) (* x y))
(+ z (* 1/2 x))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* y (+ x (* 1/2 (/ x y))))
(* y (+ x (* 1/2 (/ x y))))
(* y (+ x (* 1/2 (/ x y))))
(* x y)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
z
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* x y)
(* x y)
(* x y)
(* x y)
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* x y)
(* x y)
(* x y)
(* x y)
Outputs
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* y (+ x (* 1/2 (/ x y))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* y (+ x (* 1/2 (/ x y))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* y (+ x (* 1/2 (/ x y))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x y)
(*.f64 y x)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
z
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)

rewrite127.0ms (4.9%)

Memory
46.8MiB live, 46.8MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0822
01222
15218
245218
3607718
0804017
Stop Event
iter limit
node limit
iter limit
Counts
4 → 242
Calls
Call 1
Inputs
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(/.f64 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>

eval31.0ms (1.2%)

Memory
28.3MiB live, 28.3MiB allocated
Compiler

Compiled 6 518 to 757 computations (88.4% saved)

prune7.0ms (0.3%)

Memory
15.5MiB live, 15.5MiB allocated
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New3305335
Fresh000
Picked101
Done000
Total3315336
Accuracy
100.0%
Counts
336 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
77.3%
(+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 y x)) z)
62.8%
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z))
60.5%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
38.8%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
Compiler

Compiled 56 to 60 computations (-7.1% saved)

simplify4.0ms (0.2%)

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

Found 12 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
021110
030110
145110
260110
362110
062104
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
y
x
(fma.f64 #s(literal 1/2 binary64) x z)
#s(literal 1/2 binary64)
z
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
(*.f64 y x)
y
x
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z))
(fma.f64 x #s(literal 1/2 binary64) z)
x
#s(literal 1/2 binary64)
z
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(-.f64 y #s(literal -1/2 binary64))
y
#s(literal -1/2 binary64)
x
(+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 y x)) z)
#s(approx (+ (/ x 2) (* y x)) (*.f64 y x))
(*.f64 y x)
y
x
z
Outputs
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
y
x
(fma.f64 #s(literal 1/2 binary64) x z)
#s(literal 1/2 binary64)
z
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 x y))
(*.f64 y x)
(*.f64 x y)
y
x
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z))
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 #s(literal 1/2 binary64) x z))
(fma.f64 x #s(literal 1/2 binary64) z)
(fma.f64 #s(literal 1/2 binary64) x z)
x
#s(literal 1/2 binary64)
z
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(-.f64 y #s(literal -1/2 binary64))
y
#s(literal -1/2 binary64)
x
(+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 y x)) z)
(+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 x y)) z)
#s(approx (+ (/ x 2) (* y x)) (*.f64 y x))
#s(approx (+ (/ x 2) (* y x)) (*.f64 x y))
(*.f64 y x)
(*.f64 x y)
y
x
z

localize35.0ms (1.4%)

Memory
16.8MiB live, 16.8MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0
(+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 y x)) z)
accuracy0
(*.f64 y x)
accuracy30.933879496683733
#s(approx (+ (/ x 2) (* y x)) (*.f64 y x))
accuracy0
(-.f64 y #s(literal -1/2 binary64))
accuracy0.015625
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
accuracy25.282191523325974
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
accuracy0
(fma.f64 x #s(literal 1/2 binary64) z)
accuracy23.79544383306644
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z))
accuracy0
(*.f64 y x)
accuracy39.184137103840875
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
accuracy0
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
accuracy0
(fma.f64 #s(literal 1/2 binary64) x z)
Samples
25.0ms256×0valid
Compiler

Compiled 162 to 35 computations (78.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-mult: 6.0ms (44.3% of total)
ival-add: 5.0ms (36.9% of total)
ival-div: 1.0ms (7.4% of total)
ival-sub: 1.0ms (7.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series12.0ms (0.4%)

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

9 calls:

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

simplify93.0ms (3.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0721624
12231624
25981624
317581624
437791624
557921624
672441624
080301448
Stop Event
iter limit
node limit
Counts
312 → 289
Calls
Call 1
Inputs
(+ (* 1/2 x) (* x y))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(* 1/2 x)
(+ z (* 1/2 x))
(+ z (* 1/2 x))
(+ z (* 1/2 x))
(+ (* 1/2 x) (* x y))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ (* 1/2 x) (* x y))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(* 1/2 x)
(+ z (* 1/2 x))
(+ z (* 1/2 x))
(+ z (* 1/2 x))
(+ (* 1/2 x) (* x y))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ (* 1/2 x) (* x y))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
z
(* z (+ 1 (* 1/2 (/ x z))))
(* z (+ 1 (* 1/2 (/ x z))))
(* z (+ 1 (* 1/2 (/ x z))))
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
z
(* z (+ 1 (* 1/2 (/ x z))))
(* z (+ 1 (* 1/2 (/ x z))))
(* z (+ 1 (* 1/2 (/ x z))))
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
z
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
z
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(+ z (* 1/2 x))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (* 1/2 x))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(* x y)
(* x y)
(* x y)
(* x y)
(+ z (* 1/2 x))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (* 1/2 x))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(* 1/2 x)
(+ (* 1/2 x) (* x y))
(+ (* 1/2 x) (* x y))
(+ (* 1/2 x) (* x y))
1/2
(+ 1/2 y)
(+ 1/2 y)
(+ 1/2 y)
(+ z (* 1/2 x))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(* 1/2 x)
(+ (* 1/2 x) (* x y))
(+ (* 1/2 x) (* x y))
(+ (* 1/2 x) (* x y))
(* x y)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* x y)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* x y)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* x y)
(* y (+ x (* 1/2 (/ x y))))
(* y (+ x (* 1/2 (/ x y))))
(* y (+ x (* 1/2 (/ x y))))
y
(* y (+ 1 (* 1/2 (/ 1 y))))
(* y (+ 1 (* 1/2 (/ 1 y))))
(* y (+ 1 (* 1/2 (/ 1 y))))
(* x y)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* x y)
(* y (+ x (* 1/2 (/ x y))))
(* y (+ x (* 1/2 (/ x y))))
(* y (+ x (* 1/2 (/ x y))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
y
(* y (+ 1 (* 1/2 (/ 1 y))))
(* y (+ 1 (* 1/2 (/ 1 y))))
(* y (+ 1 (* 1/2 (/ 1 y))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
z
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
z
(+ z (* 1/2 x))
(+ z (* 1/2 x))
(+ z (* 1/2 x))
z
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
(* x y)
(* x y)
(* x y)
(* x y)
z
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
z
(+ z (* 1/2 x))
(+ z (* 1/2 x))
(+ z (* 1/2 x))
z
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
z
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* 1/2 x)
(* x (+ 1/2 (/ z x)))
(* x (+ 1/2 (/ z x)))
(* x (+ 1/2 (/ z x)))
(* x (+ 1/2 y))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x (+ 1/2 y))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* 1/2 x)
(* x (+ 1/2 (/ z x)))
(* x (+ 1/2 (/ z x)))
(* x (+ 1/2 (/ z x)))
(* x (+ 1/2 y))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* 1/2 x)
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* 1/2 x)
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (* -1 y) 1/2)))
Outputs
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* z (+ 1 (* 1/2 (/ x z))))
(fma.f64 x #s(literal 1/2 binary64) z)
(* z (+ 1 (* 1/2 (/ x z))))
(fma.f64 x #s(literal 1/2 binary64) z)
(* z (+ 1 (* 1/2 (/ x z))))
(fma.f64 x #s(literal 1/2 binary64) z)
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* z (+ 1 (* 1/2 (/ x z))))
(fma.f64 x #s(literal 1/2 binary64) z)
(* z (+ 1 (* 1/2 (/ x z))))
(fma.f64 x #s(literal 1/2 binary64) z)
(* z (+ 1 (* 1/2 (/ x z))))
(fma.f64 x #s(literal 1/2 binary64) z)
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(fma.f64 x #s(literal 1/2 binary64) z)
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(fma.f64 x #s(literal 1/2 binary64) z)
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
1/2
#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))
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x y)
(*.f64 y x)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* y (+ x (* 1/2 (/ x y))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* y (+ x (* 1/2 (/ x y))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* y (+ x (* 1/2 (/ x y))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
y
(* y (+ 1 (* 1/2 (/ 1 y))))
(-.f64 y #s(literal -1/2 binary64))
(* y (+ 1 (* 1/2 (/ 1 y))))
(-.f64 y #s(literal -1/2 binary64))
(* y (+ 1 (* 1/2 (/ 1 y))))
(-.f64 y #s(literal -1/2 binary64))
(* x y)
(*.f64 y x)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* y (+ x (* 1/2 (/ x y))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* y (+ x (* 1/2 (/ x y))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* y (+ x (* 1/2 (/ x y))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
y
(* y (+ 1 (* 1/2 (/ 1 y))))
(-.f64 y #s(literal -1/2 binary64))
(* y (+ 1 (* 1/2 (/ 1 y))))
(-.f64 y #s(literal -1/2 binary64))
(* y (+ 1 (* 1/2 (/ 1 y))))
(-.f64 y #s(literal -1/2 binary64))
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
z
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
z
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
z
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
z
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
z
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (/ z x)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* x (+ 1/2 (/ z x)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* x (+ 1/2 (/ z x)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (/ z x)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* x (+ 1/2 (/ z x)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* x (+ 1/2 (/ z x)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)

rewrite132.0ms (5.1%)

Memory
50.6MiB live, 50.6MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02192
03086
113982
296082
0832178
Stop Event
iter limit
node limit
iter limit
Counts
11 → 375
Calls
Call 1
Inputs
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
(fma.f64 #s(literal 1/2 binary64) x z)
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
(*.f64 y x)
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z))
(fma.f64 x #s(literal 1/2 binary64) z)
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(-.f64 y #s(literal -1/2 binary64))
(+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 y x)) z)
#s(approx (+ (/ x 2) (* y x)) (*.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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval86.0ms (3.3%)

Memory
56.6MiB live, 56.6MiB allocated
Compiler

Compiled 10 472 to 1 093 computations (89.6% saved)

prune28.0ms (1.1%)

Memory
29.4MiB live, 29.4MiB allocated
Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New6892691
Fresh000
Picked145
Done000
Total6906696
Accuracy
100.0%
Counts
696 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.5%
(fma.f64 y x #s(approx (+ (* 1/2 x) z) (*.f64 x #s(literal 1/2 binary64))))
77.3%
(+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 y x)) z)
62.8%
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z))
60.5%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
23.6%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 #s(approx (- y -1/2) #s(literal 1/2 binary64)) x))
38.8%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
Compiler

Compiled 33 to 38 computations (-15.2% saved)

simplify4.0ms (0.1%)

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

Found 6 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01958
02258
13358
24158
34358
04355
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 #s(approx (- y -1/2) #s(literal 1/2 binary64)) x))
(*.f64 #s(approx (- y -1/2) #s(literal 1/2 binary64)) x)
#s(approx (- y -1/2) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
x
(fma.f64 y x #s(approx (+ (* 1/2 x) z) (*.f64 x #s(literal 1/2 binary64))))
y
x
#s(approx (+ (* 1/2 x) z) (*.f64 x #s(literal 1/2 binary64)))
(*.f64 x #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
Outputs
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 #s(approx (- y -1/2) #s(literal 1/2 binary64)) x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 x #s(approx (- y -1/2) #s(literal 1/2 binary64))))
(*.f64 #s(approx (- y -1/2) #s(literal 1/2 binary64)) x)
(*.f64 x #s(approx (- y -1/2) #s(literal 1/2 binary64)))
#s(approx (- y -1/2) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
x
(fma.f64 y x #s(approx (+ (* 1/2 x) z) (*.f64 x #s(literal 1/2 binary64))))
(fma.f64 x y #s(approx (+ (* 1/2 x) z) (*.f64 x #s(literal 1/2 binary64))))
y
x
#s(approx (+ (* 1/2 x) z) (*.f64 x #s(literal 1/2 binary64)))
(*.f64 x #s(literal 1/2 binary64))
#s(literal 1/2 binary64)

localize36.0ms (1.4%)

Memory
13.1MiB live, 13.1MiB allocated
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 y x #s(approx (+ (* 1/2 x) z) (*.f64 x #s(literal 1/2 binary64))))
accuracy0
(*.f64 x #s(literal 1/2 binary64))
accuracy33.303088399220336
#s(approx (+ (* 1/2 x) z) (*.f64 x #s(literal 1/2 binary64)))
accuracy0.015625
(*.f64 #s(approx (- y -1/2) #s(literal 1/2 binary64)) x)
accuracy25.282191523325974
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 #s(approx (- y -1/2) #s(literal 1/2 binary64)) x))
accuracy31.809380454126114
#s(approx (- y -1/2) #s(literal 1/2 binary64))
Samples
26.0ms256×0valid
Compiler

Compiled 71 to 28 computations (60.6% saved)

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

series9.0ms (0.3%)

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

9 calls:

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

simplify100.0ms (3.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
072718
1223718
2598718
31758718
43779718
55792718
67244718
08030644
Stop Event
iter limit
node limit
Counts
144 → 133
Calls
Call 1
Inputs
(+ (* 1/2 x) (* x y))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ (* 1/2 x) (* x y))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(* 1/2 x)
(+ z (* 1/2 x))
(+ z (* 1/2 x))
(+ z (* 1/2 x))
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
z
(* z (+ 1 (* 1/2 (/ x z))))
(* z (+ 1 (* 1/2 (/ x z))))
(* z (+ 1 (* 1/2 (/ x z))))
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
z
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(+ z (* 1/2 x))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(* 1/2 x)
(+ (* 1/2 x) (* x y))
(+ (* 1/2 x) (* x y))
(+ (* 1/2 x) (* x y))
1/2
(+ 1/2 y)
(+ 1/2 y)
(+ 1/2 y)
(+ z (* 1/2 x))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(+ z (+ (* 1/2 x) (* x y)))
(* x y)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* x y)
(* y (+ x (* 1/2 (/ x y))))
(* y (+ x (* 1/2 (/ x y))))
(* y (+ x (* 1/2 (/ x y))))
y
(* y (+ 1 (* 1/2 (/ 1 y))))
(* y (+ 1 (* 1/2 (/ 1 y))))
(* y (+ 1 (* 1/2 (/ 1 y))))
(* x y)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
y
(* y (+ 1 (* 1/2 (/ 1 y))))
(* y (+ 1 (* 1/2 (/ 1 y))))
(* y (+ 1 (* 1/2 (/ 1 y))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
z
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
z
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
(+ z (* x (+ 1/2 y)))
z
(+ z (* 1/2 x))
(+ z (* 1/2 x))
(+ z (* 1/2 x))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* x (+ 1/2 y))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* x (+ 1/2 (+ y (/ z x))))
(* 1/2 x)
(* x (+ 1/2 (/ z x)))
(* x (+ 1/2 (/ z x)))
(* x (+ 1/2 (/ z x)))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* x (+ 1/2 y))
(* -1 (* x (- (* -1 y) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(* 1/2 x)
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
(* 1/2 x)
Outputs
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* z (+ 1 (+ (* 1/2 (/ x z)) (/ (* x y) z))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* z (+ 1 (* 1/2 (/ x z))))
(fma.f64 x #s(literal 1/2 binary64) z)
(* z (+ 1 (* 1/2 (/ x z))))
(fma.f64 x #s(literal 1/2 binary64) z)
(* z (+ 1 (* 1/2 (/ x z))))
(fma.f64 x #s(literal 1/2 binary64) z)
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* z (- (* -1 (/ (+ (* 1/2 x) (* x y)) z)) 1)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* -1 (* z (- (* -1/2 (/ x z)) 1)))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(+ (* 1/2 x) (* x y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
1/2
#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))
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (+ (* 1/2 x) (* x y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* y (+ x (* 1/2 (/ x y))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* y (+ x (* 1/2 (/ x y))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* y (+ x (* 1/2 (/ x y))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
y
(* y (+ 1 (* 1/2 (/ 1 y))))
(-.f64 y #s(literal -1/2 binary64))
(* y (+ 1 (* 1/2 (/ 1 y))))
(-.f64 y #s(literal -1/2 binary64))
(* y (+ 1 (* 1/2 (/ 1 y))))
(-.f64 y #s(literal -1/2 binary64))
(* x y)
(*.f64 y x)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* y (+ x (+ (* 1/2 (/ x y)) (/ z y))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* y (+ (* -1 x) (* -1/2 (/ x y)))))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
y
(* y (+ 1 (* 1/2 (/ 1 y))))
(-.f64 y #s(literal -1/2 binary64))
(* y (+ 1 (* 1/2 (/ 1 y))))
(-.f64 y #s(literal -1/2 binary64))
(* y (+ 1 (* 1/2 (/ 1 y))))
(-.f64 y #s(literal -1/2 binary64))
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ z (* 1/2 x)) y)))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
z
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(+ z (* x (+ 1/2 y)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
z
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(+ z (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 (+ y (/ z x))))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* x (+ 1/2 (/ z x)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* x (+ 1/2 (/ z x)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* x (+ 1/2 (/ z x)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* x (+ 1/2 y))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (* -1 y) 1/2)))
(*.f64 (-.f64 y #s(literal -1/2 binary64)) x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ z x))) 1/2)))
(fma.f64 (-.f64 y #s(literal -1/2 binary64)) x z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* -1 (* x (- (* -1 (/ z x)) 1/2)))
(fma.f64 x #s(literal 1/2 binary64) z)
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))
(* 1/2 x)
(*.f64 x #s(literal 1/2 binary64))

rewrite149.0ms (5.7%)

Memory
48.1MiB live, 48.1MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01953
02253
110751
278351
0843948
Stop Event
iter limit
node limit
iter limit
Counts
6 → 66
Calls
Call 1
Inputs
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 #s(approx (- y -1/2) #s(literal 1/2 binary64)) x))
(*.f64 #s(approx (- y -1/2) #s(literal 1/2 binary64)) x)
#s(approx (- y -1/2) #s(literal 1/2 binary64))
(fma.f64 y x #s(approx (+ (* 1/2 x) z) (*.f64 x #s(literal 1/2 binary64))))
#s(approx (+ (* 1/2 x) z) (*.f64 x #s(literal 1/2 binary64)))
(*.f64 x #s(literal 1/2 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval24.0ms (0.9%)

Memory
16.2MiB live, 16.2MiB allocated
Compiler

Compiled 2 355 to 210 computations (91.1% saved)

prune11.0ms (0.4%)

Memory
10.9MiB live, 10.9MiB allocated
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New1990199
Fresh000
Picked022
Done044
Total1996205
Accuracy
100.0%
Counts
205 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.5%
(fma.f64 y x #s(approx (+ (* 1/2 x) z) (*.f64 x #s(literal 1/2 binary64))))
77.3%
(+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 y x)) z)
62.8%
#s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z))
60.5%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))
23.6%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 #s(approx (- y -1/2) #s(literal 1/2 binary64)) x))
38.8%
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
Compiler

Compiled 82 to 64 computations (22% saved)

regimes19.0ms (0.8%)

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

5 calls:

4.0ms
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
4.0ms
x
4.0ms
z
4.0ms
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
4.0ms
y
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1z
100.0%1(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
100.0%1(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
Compiler

Compiled 19 to 24 computations (-26.3% saved)

regimes17.0ms (0.6%)

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

5 calls:

3.0ms
z
3.0ms
x
3.0ms
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
3.0ms
y
3.0ms
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
Results
AccuracySegmentsBranch
87.8%3x
98.6%3y
89.7%3z
81.5%3(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
89.4%4(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
Compiler

Compiled 19 to 24 computations (-26.3% saved)

regimes11.0ms (0.4%)

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

4 calls:

3.0ms
z
3.0ms
y
3.0ms
x
3.0ms
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
Results
AccuracySegmentsBranch
80.4%3x
87.7%3(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
83.7%3z
87.7%3y
Compiler

Compiled 10 to 16 computations (-60% saved)

regimes5.0ms (0.2%)

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

2 calls:

2.0ms
y
2.0ms
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
Results
AccuracySegmentsBranch
86.8%3y
77.5%3(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
Compiler

Compiled 8 to 10 computations (-25% saved)

regimes11.0ms (0.4%)

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

5 calls:

2.0ms
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
2.0ms
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
2.0ms
y
2.0ms
x
2.0ms
z
Results
AccuracySegmentsBranch
42.4%3(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
38.8%1x
42.4%3(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
38.8%1z
59.1%3y
Compiler

Compiled 19 to 24 computations (-26.3% saved)

regimes7.0ms (0.3%)

Memory
6.0MiB live, 6.0MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

4 calls:

2.0ms
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
2.0ms
(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
2.0ms
z
2.0ms
y
Results
AccuracySegmentsBranch
38.8%1z
38.8%1(+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x))
38.8%1(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
38.8%1y
Compiler

Compiled 18 to 21 computations (-16.7% saved)

bsearch25.0ms (1%)

Memory
7.3MiB live, 7.3MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
9.302345143727795e-10
0.0008105783715325085
9.0ms
-936.1484432276291
-72.1402902541629
Samples
13.0ms240×0valid
Compiler

Compiled 177 to 224 computations (-26.6% saved)

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

bsearch1.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.4733681769865288e+77
4.447598536548852e+88
0.0ms
-9.969103010821694e+102
-1.7206695541201437e+102
Compiler

Compiled 12 to 14 computations (-16.7% saved)

bsearch29.0ms (1.1%)

Memory
8.7MiB live, 8.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
0.0008105783715325085
81.16568437584831
13.0ms
-9.182621796786604e+23
-749131168063150300.0
Samples
15.0ms288×0valid
Compiler

Compiled 174 to 248 computations (-42.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-add: 3.0ms (39.7% of total)
ival-div: 2.0ms (26.5% of total)
ival-mult: 2.0ms (26.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch28.0ms (1.1%)

Memory
8.3MiB live, 8.3MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
0.0008105783715325085
81.16568437584831
15.0ms
-72.1402902541629
-5.309294607893827e-15
Samples
14.0ms272×0valid
Compiler

Compiled 183 to 280 computations (-53% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-add: 3.0ms (42.3% of total)
ival-div: 2.0ms (28.2% of total)
ival-mult: 2.0ms (28.2% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify30.0ms (1.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
049231
156231
261231
363231
464231
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
(if (<=.f64 y #s(literal -75 binary64)) (+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 y x)) z) (if (<=.f64 y #s(literal 7378697629483821/9223372036854775808 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z)) (+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 y x)) z)))
(if (<=.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #s(literal -5000000000000000009578375428673343681079775636325960055764017572996896621019943779806180725540901617664 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x)) (if (<=.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #s(literal 199999999999999996556522545109171713495495289428031795107950240435622308216832 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))))
(if (<=.f64 y #s(literal -1120000000000000000000 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x)) (if (<=.f64 y #s(literal 80 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))))
(if (<=.f64 y #s(literal -1/2 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x)) (if (<=.f64 y #s(literal 1/2 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 #s(approx (- y -1/2) #s(literal 1/2 binary64)) x)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
Outputs
(fma.f64 y x (fma.f64 #s(literal 1/2 binary64) x z))
(if (<=.f64 y #s(literal -75 binary64)) (+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 y x)) z) (if (<=.f64 y #s(literal 7378697629483821/9223372036854775808 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z)) (+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 y x)) z)))
(if (<=.f64 y #s(literal -75 binary64)) (+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 x y)) z) (if (<=.f64 y #s(literal 7378697629483821/9223372036854775808 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z)) (+.f64 #s(approx (+ (/ x 2) (* y x)) (*.f64 x y)) z)))
(if (<=.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #s(literal -5000000000000000009578375428673343681079775636325960055764017572996896621019943779806180725540901617664 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x)) (if (<=.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) #s(literal 199999999999999996556522545109171713495495289428031795107950240435622308216832 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))))
(if (<=.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 x y)) #s(literal -5000000000000000009578375428673343681079775636325960055764017572996896621019943779806180725540901617664 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x)) (if (<=.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 x y)) #s(literal 199999999999999996556522545109171713495495289428031795107950240435622308216832 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 (-.f64 y #s(literal -1/2 binary64)) x))))
(if (<=.f64 y #s(literal -1120000000000000000000 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x)) (if (<=.f64 y #s(literal 80 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))))
(if (<=.f64 y #s(literal -1120000000000000000000 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 x y)) (if (<=.f64 y #s(literal 80 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (fma.f64 x #s(literal 1/2 binary64) z)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 x y))))
(if (<=.f64 y #s(literal -1/2 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x)) (if (<=.f64 y #s(literal 1/2 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 #s(approx (- y -1/2) #s(literal 1/2 binary64)) x)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))))
(if (<=.f64 y #s(literal -1/2 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 x y)) (if (<=.f64 y #s(literal 1/2 binary64)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 #s(approx (- y -1/2) #s(literal 1/2 binary64)) x)) #s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 x y))))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 y x))
#s(approx (+ (+ (/ x 2) (* y x)) z) (*.f64 x y))

soundness641.0ms (24.7%)

Memory
5.9MiB live, 5.9MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0721624
12231624
25981624
317581624
437791624
557921624
672441624
080301448
0822
01222
15218
245218
3607718
0804017
057440
1174440
2488440
31308440
43609440
56674440
08210412
Stop Event
done
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 171 to 105 computations (38.6% saved)

preprocess53.0ms (2%)

Memory
34.4MiB live, 34.4MiB allocated
Compiler

Compiled 248 to 104 computations (58.1% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...