Graphics.Rendering.Chart.Drawing:drawTextsR from Chart-1.5.3

Time bar (total: 5.0s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze46.0ms (0.9%)

Memory
-37.4MiB live, 1.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)

sample1.1s (22.5%)

Memory
27.8MiB live, 1 445.4MiB allocated
Samples
801.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 320.0ms
ival-mult: 140.0ms (43.8% of total)
ival-sub: 104.0ms (32.5% of total)
ival-add: 60.0ms (18.8% of total)
ival-true: 6.0ms (1.9% of total)
exact: 5.0ms (1.6% of total)
ival-assert: 4.0ms (1.3% of total)
Bogosity

explain81.0ms (1.6%)

Memory
20.8MiB live, 189.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
70-0-(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
00-0-(*.f64 (-.f64 x #s(literal 1 binary64)) z)
00-0-y
00-0-(-.f64 x #s(literal 1 binary64))
00-0-#s(literal 1 binary64)
00-0-z
00-0-(*.f64 x y)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))nan-rescue70
(*.f64 x y)overflow35
(*.f64 (-.f64 x #s(literal 1 binary64)) z)overflow34
Confusion
Predicted +Predicted -
+70
-0249
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+700
-00249
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0249
17
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
30.0ms512×0valid
Compiler

Compiled 61 to 28 computations (54.1% saved)

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

preprocess102.0ms (2%)

Memory
-20.6MiB live, 98.4MiB allocated
Algorithm
egg-herbie
Rules
608×lower-fma.f64
608×lower-fma.f32
390×distribute-rgt-in
370×unsub-neg
314×sub-neg
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03290
18083
217881
348266
4108364
5186664
6229264
7235464
8236264
9236264
089
0129
1209
2279
3397
4507
5687
61117
71827
83707
95807
106707
116807
06807
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Outputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(fma.f64 (+.f64 z y) x (neg.f64 z))
Compiler

Compiled 9 to 8 computations (11.1% saved)

eval0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.9MiB live, 1.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
97.2%
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Compiler

Compiled 9 to 8 computations (11.1% saved)

simplify22.0ms (0.4%)

Memory
4.0MiB live, 40.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 x #s(literal 1 binary64))
cost-diff0
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
cost-diff0
(*.f64 x y)
cost-diff320
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Rules
608×lower-fma.f64
608×lower-fma.f32
240×lower-*.f32
236×lower-*.f64
152×lower-+.f32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0824
01224
12024
22724
33922
45022
56822
611122
718222
837022
958022
1067022
1168022
068022
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(*.f64 x y)
x
y
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(-.f64 x #s(literal 1 binary64))
#s(literal 1 binary64)
z
Outputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(*.f64 x y)
(*.f64 y x)
x
y
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(-.f64 x #s(literal 1 binary64))
#s(literal 1 binary64)
z

localize21.0ms (0.4%)

Memory
17.4MiB live, 54.1MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 x #s(literal 1 binary64))
accuracy0
(*.f64 x y)
accuracy0.0078125
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
accuracy1.510962101824699
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Samples
16.0ms256×0valid
Compiler

Compiled 26 to 10 computations (61.5% saved)

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

series19.0ms (0.4%)

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

9 calls:

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

simplify119.0ms (2.4%)

Memory
12.0MiB live, 196.6MiB allocated
Algorithm
egg-herbie
Rules
9 326×lower-fma.f64
9 326×lower-fma.f32
3 218×lower-*.f64
3 218×lower-*.f32
1 186×lower-/.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
054494
1180440
2532440
31339440
44403440
08080440
Stop Event
iter limit
node limit
Counts
96 → 94
Calls
Call 1
Inputs
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 z)
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
-1
(- x 1)
(- x 1)
(- x 1)
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x z)
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
x
(* x (- 1 (/ 1 x)))
(* x (- 1 (/ 1 x)))
(* x (- 1 (/ 1 x)))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
x
(* -1 (* x (- (/ 1 x) 1)))
(* -1 (* x (- (/ 1 x) 1)))
(* -1 (* x (- (/ 1 x) 1)))
Outputs
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 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 (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 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 (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
-1
#s(literal -1 binary64)
(- x 1)
(-.f64 x #s(literal 1 binary64))
(- x 1)
(-.f64 x #s(literal 1 binary64))
(- x 1)
(-.f64 x #s(literal 1 binary64))
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x z)
(*.f64 z x)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
x
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 (+.f64 z y) x)
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x z)
(*.f64 z x)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
x
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))

rewrite212.0ms (4.2%)

Memory
7.6MiB live, 346.3MiB allocated
Rules
6 732×lower-*.f32
6 728×lower-*.f64
4 784×lower-fma.f64
4 784×lower-fma.f32
4 232×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
01220
14520
231120
3385420
01040919
Stop Event
iter limit
node limit
iter limit
Counts
4 → 280
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(*.f64 x y)
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(-.f64 x #s(literal 1 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval51.0ms (1%)

Memory
-29.4MiB live, 122.0MiB allocated
Compiler

Compiled 7 790 to 1 014 computations (87% saved)

prune9.0ms (0.2%)

Memory
35.7MiB live, 35.7MiB allocated
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New3686374
Fresh000
Picked101
Done000
Total3696375
Accuracy
100.0%
Counts
375 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(fma.f64 y x (*.f64 z (-.f64 x #s(literal 1 binary64))))
75.3%
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
61.5%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
67.9%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
43.5%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
34.6%
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
Compiler

Compiled 68 to 74 computations (-8.8% saved)

simplify23.0ms (0.5%)

Memory
-7.6MiB live, 71.3MiB allocated
Algorithm
egg-herbie
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 x #s(literal 1 binary64))
cost-diff0
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
cost-diff0
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
cost-diff0
(+.f64 z y)
cost-diff0
(*.f64 (+.f64 z y) x)
cost-diff0
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
cost-diff0
(*.f64 y x)
cost-diff0
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
cost-diff0
(neg.f64 z)
cost-diff0
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
cost-diff0
(-.f64 x #s(literal 1 binary64))
cost-diff0
(*.f64 z (-.f64 x #s(literal 1 binary64)))
cost-diff192
(fma.f64 y x (*.f64 z (-.f64 x #s(literal 1 binary64))))
Rules
608×lower-fma.f32
606×lower-fma.f64
240×lower-*.f32
232×lower-*.f64
160×cancel-sign-sub-inv
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
020105
028101
140101
252101
36896
49296
513996
623796
740996
857296
966796
1068396
068396
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(fma.f64 y x (*.f64 z (-.f64 x #s(literal 1 binary64))))
y
x
(*.f64 z (-.f64 x #s(literal 1 binary64)))
z
(-.f64 x #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
(neg.f64 z)
z
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
(*.f64 y x)
y
x
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
(*.f64 (+.f64 z y) x)
(+.f64 z y)
z
y
x
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(-.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
z
Outputs
(fma.f64 y x (*.f64 z (-.f64 x #s(literal 1 binary64))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
y
x
(*.f64 z (-.f64 x #s(literal 1 binary64)))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
z
(-.f64 x #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
(neg.f64 z)
z
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y))
(*.f64 y x)
(*.f64 x y)
y
x
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
(*.f64 (+.f64 z y) x)
(+.f64 z y)
z
y
x
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(-.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
z

localize277.0ms (5.5%)

Memory
-30.4MiB live, 96.4MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 x #s(literal 1 binary64))
accuracy0.0078125
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
accuracy24.655662591587003
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
accuracy0
(+.f64 z y)
accuracy0.00390625
(*.f64 (+.f64 z y) x)
accuracy20.519148665423717
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
accuracy0
(*.f64 y x)
accuracy36.158150549015154
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
accuracy0
(neg.f64 z)
accuracy41.84982901156378
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
accuracy0
(-.f64 x #s(literal 1 binary64))
accuracy0.0078125
(*.f64 z (-.f64 x #s(literal 1 binary64)))
accuracy0.7629680244373345
(fma.f64 y x (*.f64 z (-.f64 x #s(literal 1 binary64))))
Samples
26.0ms256×0valid
Compiler

Compiled 89 to 16 computations (82% saved)

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

series15.0ms (0.3%)

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

9 calls:

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

simplify217.0ms (4.3%)

Memory
-21.8MiB live, 150.7MiB allocated
Algorithm
egg-herbie
Rules
7 766×lower-fma.f64
7 766×lower-fma.f32
2 870×lower-*.f64
2 870×lower-*.f32
1 512×lower--.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0801975
12751705
27871705
321691705
447761705
567881705
080601705
Stop Event
iter limit
node limit
Counts
336 → 328
Calls
Call 1
Inputs
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x y)
(+ (* x y) (* x z))
(+ (* x y) (* x z))
(+ (* x y) (* x z))
y
(+ y z)
(+ y z)
(+ y z)
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* x z)
(* z (+ x (/ (* x y) z)))
(* z (+ x (/ (* x y) z)))
(* z (+ x (/ (* x y) z)))
z
(* z (+ 1 (/ y z)))
(* z (+ 1 (/ y z)))
(* z (+ 1 (/ y z)))
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* x z)
(* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))
z
(* -1 (* z (- (* -1 (/ y z)) 1)))
(* -1 (* z (- (* -1 (/ y z)) 1)))
(* -1 (* z (- (* -1 (/ y z)) 1)))
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x y)
(* x y)
(* x y)
(* x y)
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x z)
(+ (* x y) (* x z))
(+ (* x y) (* x z))
(+ (* x y) (* x z))
z
(+ y z)
(+ y z)
(+ y z)
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* y (+ x (/ (* x z) y)))
(* y (+ x (/ (* x z) y)))
(* y (+ x (/ (* x z) y)))
y
(* y (+ 1 (/ z y)))
(* y (+ 1 (/ z y)))
(* y (+ 1 (/ z y)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))
y
(* -1 (* y (- (* -1 (/ z y)) 1)))
(* -1 (* y (- (* -1 (/ z y)) 1)))
(* -1 (* y (- (* -1 (/ z y)) 1)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* -1 z)
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
-1
(- x 1)
(- x 1)
(- x 1)
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* -1 z)
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x z)
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
x
(* x (- 1 (/ 1 x)))
(* x (- 1 (/ 1 x)))
(* x (- 1 (/ 1 x)))
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x z)
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* x z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
x
(* -1 (* x (- (/ 1 x) 1)))
(* -1 (* x (- (/ 1 x) 1)))
(* -1 (* x (- (/ 1 x) 1)))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* x (+ y z))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* x z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
Outputs
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(+ (* x y) (* x z))
(*.f64 (+.f64 z y) x)
(+ (* x y) (* x z))
(*.f64 (+.f64 z y) x)
(+ (* x y) (* x z))
(*.f64 (+.f64 z y) x)
y
(+ y z)
(+.f64 z y)
(+ y z)
(+.f64 z y)
(+ y z)
(+.f64 z y)
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x z)
(*.f64 z x)
(* z (+ x (/ (* x y) z)))
(*.f64 (+.f64 z y) x)
(* z (+ x (/ (* x y) z)))
(*.f64 (+.f64 z y) x)
(* z (+ x (/ (* x y) z)))
(*.f64 (+.f64 z y) x)
z
(* z (+ 1 (/ y z)))
(+.f64 z y)
(* z (+ 1 (/ y z)))
(+.f64 z y)
(* z (+ 1 (/ y z)))
(+.f64 z y)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x z)
(*.f64 z x)
(* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))
(*.f64 (+.f64 z y) x)
(* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))
(*.f64 (+.f64 z y) x)
(* -1 (* z (+ (* -1 x) (* -1 (/ (* x y) z)))))
(*.f64 (+.f64 z y) x)
z
(* -1 (* z (- (* -1 (/ y z)) 1)))
(+.f64 z y)
(* -1 (* z (- (* -1 (/ y z)) 1)))
(+.f64 z y)
(* -1 (* z (- (* -1 (/ y z)) 1)))
(+.f64 z y)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x z)
(*.f64 z x)
(+ (* x y) (* x z))
(*.f64 (+.f64 z y) x)
(+ (* x y) (* x z))
(*.f64 (+.f64 z y) x)
(+ (* x y) (* x z))
(*.f64 (+.f64 z y) x)
z
(+ y z)
(+.f64 z y)
(+ y z)
(+.f64 z y)
(+ y z)
(+.f64 z y)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 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 (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* y (+ x (/ (* x z) y)))
(*.f64 (+.f64 z y) x)
(* y (+ x (/ (* x z) y)))
(*.f64 (+.f64 z y) x)
(* y (+ x (/ (* x z) y)))
(*.f64 (+.f64 z y) x)
y
(* y (+ 1 (/ z y)))
(+.f64 z y)
(* y (+ 1 (/ z y)))
(+.f64 z y)
(* y (+ 1 (/ z y)))
(+.f64 z y)
(* x y)
(*.f64 y x)
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 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 (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))
(*.f64 (+.f64 z y) x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))
(*.f64 (+.f64 z y) x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* x z) y)))))
(*.f64 (+.f64 z y) x)
y
(* -1 (* y (- (* -1 (/ z y)) 1)))
(+.f64 z y)
(* -1 (* y (- (* -1 (/ z y)) 1)))
(+.f64 z y)
(* -1 (* y (- (* -1 (/ z y)) 1)))
(+.f64 z y)
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
-1
#s(literal -1 binary64)
(- x 1)
(-.f64 x #s(literal 1 binary64))
(- x 1)
(-.f64 x #s(literal 1 binary64))
(- x 1)
(-.f64 x #s(literal 1 binary64))
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x z)
(*.f64 z x)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
x
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
(* x (- 1 (/ 1 x)))
(-.f64 x #s(literal 1 binary64))
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x z)
(*.f64 z x)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 (+.f64 z y) x)
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x z)
(*.f64 z x)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
x
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))
(* -1 (* x (- (/ 1 x) 1)))
(-.f64 x #s(literal 1 binary64))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 (+.f64 z y) x)
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 (+.f64 z y) x)
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 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 z))))
(*.f64 (+.f64 z y) x)
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 (+.f64 z y) x)
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x z)
(*.f64 z x)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)

rewrite233.0ms (4.6%)

Memory
-2.0MiB live, 185.7MiB allocated
Rules
6 544×lower-fma.f32
6 542×lower-fma.f64
5 322×lower-*.f32
5 314×lower-*.f64
2 344×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02089
02885
19585
248485
3538785
0891480
Stop Event
iter limit
node limit
iter limit
Counts
12 → 453
Calls
Call 1
Inputs
(fma.f64 y x (*.f64 z (-.f64 x #s(literal 1 binary64))))
(*.f64 z (-.f64 x #s(literal 1 binary64)))
(-.f64 x #s(literal 1 binary64))
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
(neg.f64 z)
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
(*.f64 y x)
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
(*.f64 (+.f64 z y) x)
(+.f64 z y)
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval384.0ms (7.7%)

Memory
32.7MiB live, 194.2MiB allocated
Compiler

Compiled 12 554 to 1 538 computations (87.7% saved)

prune42.0ms (0.8%)

Memory
-23.5MiB live, 57.0MiB allocated
Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New8703873
Fresh101
Picked145
Done000
Total8727879
Accuracy
100.0%
Counts
879 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
66.7%
(fma.f64 y x #s(approx (* z (- x 1)) (*.f64 z x)))
75.3%
(fma.f64 y x #s(approx (* z (- x 1)) (neg.f64 z)))
61.5%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
67.9%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
43.5%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
34.6%
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
29.8%
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))
Compiler

Compiled 37 to 41 computations (-10.8% saved)

simplify46.0ms (0.9%)

Memory
-4.2MiB live, 33.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 z x)
cost-diff0
#s(approx (* z (- x 1)) (*.f64 z x))
cost-diff0
(fma.f64 y x #s(approx (* z (- x 1)) (*.f64 z x)))
cost-diff0
(neg.f64 z)
cost-diff0
#s(approx (* z (- x 1)) (neg.f64 z))
cost-diff0
(fma.f64 y x #s(approx (* z (- x 1)) (neg.f64 z)))
cost-diff0
(*.f64 z x)
cost-diff0
#s(approx (* (- x 1) z) (*.f64 z x))
cost-diff0
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))
Rules
768×lower-fma.f32
764×lower-fma.f64
304×lower-*.f32
302×lower-*.f64
200×lower-+.f64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01784
02284
13784
24284
35382
48082
513182
624182
741282
859382
974082
1077682
1181682
1283082
1383482
083482
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))
#s(approx (* (- x 1) z) (*.f64 z x))
(*.f64 z x)
z
x
(fma.f64 y x #s(approx (* z (- x 1)) (neg.f64 z)))
y
x
#s(approx (* z (- x 1)) (neg.f64 z))
(neg.f64 z)
z
(fma.f64 y x #s(approx (* z (- x 1)) (*.f64 z x)))
y
x
#s(approx (* z (- x 1)) (*.f64 z x))
(*.f64 z x)
z
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))
#s(approx (* (- x 1) z) (*.f64 z x))
(*.f64 z x)
z
x
(fma.f64 y x #s(approx (* z (- x 1)) (neg.f64 z)))
(fma.f64 y x #s(approx (* (- x 1) z) (neg.f64 z)))
y
x
#s(approx (* z (- x 1)) (neg.f64 z))
#s(approx (* (- x 1) z) (neg.f64 z))
(neg.f64 z)
z
(fma.f64 y x #s(approx (* z (- x 1)) (*.f64 z x)))
(fma.f64 y x #s(approx (* (- x 1) z) (*.f64 z x)))
y
x
#s(approx (* z (- x 1)) (*.f64 z x))
#s(approx (* (- x 1) z) (*.f64 z x))
(*.f64 z x)
z

localize66.0ms (1.3%)

Memory
9.3MiB live, 45.8MiB allocated
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 z x)
accuracy0.7629680244373345
(fma.f64 y x #s(approx (* z (- x 1)) (*.f64 z x)))
accuracy29.775333422194556
#s(approx (* z (- x 1)) (*.f64 z x))
accuracy0
(neg.f64 z)
accuracy0.7629680244373345
(fma.f64 y x #s(approx (* z (- x 1)) (neg.f64 z)))
accuracy32.61875954544134
#s(approx (* z (- x 1)) (neg.f64 z))
accuracy0
(*.f64 z x)
accuracy24.655662591587003
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))
accuracy29.775333422194556
#s(approx (* (- x 1) z) (*.f64 z x))
Samples
58.0ms256×0valid
Compiler

Compiled 60 to 15 computations (75% saved)

Precisions
Click to see histograms. Total time spent on operations: 48.0ms
ival-mult: 43.0ms (89.3% of total)
ival-add: 2.0ms (4.2% of total)
ival-sub: 1.0ms (2.1% of total)
ival-neg: 1.0ms (2.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series11.0ms (0.2%)

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

9 calls:

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

simplify106.0ms (2.1%)

Memory
-26.5MiB live, 100.7MiB allocated
Algorithm
egg-herbie
Rules
4 934×lower-fma.f64
4 934×lower-fma.f32
2 128×lower-*.f64
2 128×lower-*.f32
1 206×lower-/.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0481272
11661110
24881110
312461110
436991110
568571110
080711110
Stop Event
iter limit
node limit
Counts
216 → 216
Calls
Call 1
Inputs
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* x z)
(* x z)
(* x z)
(* x z)
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* x y)
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* x z)
(* x z)
(* x z)
(* x z)
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* z (- x 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- (+ x (/ (* x y) z)) 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* x z)
(* x z)
(* x z)
(* x z)
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* z (- x 1))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* z (- x 1))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(+ (* x y) (* z (- x 1)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* y (+ x (/ (* z (- x 1)) y)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* -1 z)
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
(* x z)
(* x z)
(* x z)
(* x z)
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* -1 z)
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
(* -1 z)
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(+ (* -1 z) (* x (+ y z)))
(* -1 z)
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
(+ (* -1 z) (* x z))
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x z)
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x z)
(* x z)
(* x z)
(* x z)
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x z)
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x (+ y z))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x (+ y (+ z (* -1 (/ z x)))))
(* x z)
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* x (+ z (* -1 (/ z x))))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* x z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* x z)
(* x z)
(* x z)
(* x z)
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* x z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 y) (* -1 z))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(* x z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
(* -1 (* x (+ (* -1 z) (/ z x))))
Outputs
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- (+ x (/ (* x y) z)) 1))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* z (+ (* -1 (- x 1)) (* -1 (/ (* x y) z)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* z (- x 1))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* x y) (* z (- x 1)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* y (+ x (/ (* z (- x 1)) y)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* z (- x 1)) y)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(+ (* -1 z) (* x (+ y z)))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 z)
(neg.f64 z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(+ (* -1 z) (* x z))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x z)
(*.f64 z x)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x z)
(*.f64 z x)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ y z))
(*.f64 (+.f64 z y) x)
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x (+ y (+ z (* -1 (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x z)
(*.f64 z x)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x (+ z (* -1 (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 (+.f64 z y) x)
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x z)
(*.f64 z x)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* x z)
(*.f64 z x)
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 (+.f64 z y) x)
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x z)
(*.f64 z x)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 y) (* -1 z))))
(*.f64 (+.f64 z y) x)
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* -1 (* x (+ (* -1 y) (+ (* -1 z) (/ z x)))))
(fma.f64 (+.f64 z y) x (neg.f64 z))
(* x z)
(*.f64 z x)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)
(* -1 (* x (+ (* -1 z) (/ z x))))
(*.f64 (-.f64 x #s(literal 1 binary64)) z)

rewrite178.0ms (3.5%)

Memory
5.8MiB live, 276.8MiB allocated
Rules
8 656×lower-fma.f32
8 652×lower-fma.f64
4 920×lower-*.f32
4 918×lower-*.f64
2 894×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01773
02273
18973
255673
3642673
0805372
Stop Event
iter limit
node limit
iter limit
Counts
8 → 182
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))
#s(approx (* (- x 1) z) (*.f64 z x))
(*.f64 z x)
(fma.f64 y x #s(approx (* z (- x 1)) (neg.f64 z)))
#s(approx (* z (- x 1)) (neg.f64 z))
(neg.f64 z)
(fma.f64 y x #s(approx (* z (- x 1)) (*.f64 z x)))
#s(approx (* z (- x 1)) (*.f64 z 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>

eval51.0ms (1%)

Memory
8.1MiB live, 166.2MiB allocated
Compiler

Compiled 6 588 to 546 computations (91.7% saved)

prune12.0ms (0.2%)

Memory
9.4MiB live, 48.1MiB allocated
Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New4280428
Fresh000
Picked033
Done044
Total4287435
Accuracy
100.0%
Counts
435 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
66.7%
(fma.f64 y x #s(approx (* z (- x 1)) (*.f64 z x)))
75.3%
(fma.f64 y x #s(approx (* z (- x 1)) (neg.f64 z)))
61.5%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
67.9%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
43.5%
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
34.6%
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
29.8%
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))
Compiler

Compiled 98 to 68 computations (30.6% saved)

regimes132.0ms (2.6%)

Memory
2.2MiB live, 41.6MiB allocated
Counts
10 → 1
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(fma.f64 y x #s(approx (* z (- x 1)) (neg.f64 z)))
(+.f64 (*.f64 x y) #s(approx (* (- x 1) z) (neg.f64 z)))
(fma.f64 y x #s(approx (* z (- x 1)) (*.f64 z x)))
(fma.f64 y x (*.f64 z (-.f64 x #s(literal 1 binary64))))
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Outputs
(fma.f64 y x (*.f64 z (-.f64 x #s(literal 1 binary64))))
Calls

4 calls:

120.0ms
z
4.0ms
y
4.0ms
x
4.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Results
AccuracySegmentsBranch
98.8%1x
98.8%1y
98.8%1z
98.8%1(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes38.0ms (0.8%)

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

4 calls:

27.0ms
y
4.0ms
x
3.0ms
z
3.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Results
AccuracySegmentsBranch
89.0%3z
99.5%3x
86.9%3y
86.3%3(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes8.0ms (0.2%)

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

3 calls:

2.0ms
x
2.0ms
y
2.0ms
z
Results
AccuracySegmentsBranch
79.0%3y
83.9%3z
86.9%3x
Compiler

Compiled 3 to 9 computations (-200% saved)

regimes3.0ms (0.1%)

Memory
-31.1MiB live, 8.2MiB allocated
Counts
4 → 3
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))
Calls

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
86.9%3x
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes8.0ms (0.2%)

Memory
24.3MiB live, 24.3MiB allocated
Counts
3 → 5
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
Outputs
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
#s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x))
#s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))
Calls

4 calls:

2.0ms
z
2.0ms
x
2.0ms
y
2.0ms
(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
Results
AccuracySegmentsBranch
60.7%5y
61.7%5z
58.5%6(+.f64 (*.f64 x y) (*.f64 (-.f64 x #s(literal 1 binary64)) z))
68.0%5x
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes2.0ms (0%)

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

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
61.1%3x
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes6.0ms (0.1%)

Memory
-20.7MiB live, 18.8MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

4 calls:

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

Compiled 12 to 17 computations (-41.7% saved)

bsearch25.0ms (0.5%)

Memory
15.5MiB live, 56.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
3.010345676109384e-9
4.621067446323819e-7
13.0ms
-3.077477969416148e+22
-21221103278179544.0
Samples
13.0ms256×0valid
Compiler

Compiled 204 to 238 computations (-16.7% saved)

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

bsearch15.0ms (0.3%)

Memory
-7.0MiB live, 32.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
3.010345676109384e-9
4.621067446323819e-7
4.0ms
-8.744249513028166e-63
-7.249366697175247e-63
Samples
7.0ms144×0valid
Compiler

Compiled 132 to 164 computations (-24.2% saved)

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

bsearch19.0ms (0.4%)

Memory
6.8MiB live, 45.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
17.0ms
1.2596501192273416e-41
2.512694332325231e-9
0.0ms
-8.744249513028166e-63
-7.249366697175247e-63
Samples
11.0ms176×0valid
Compiler

Compiled 138 to 196 computations (-42% saved)

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

bsearch24.0ms (0.5%)

Memory
-21.5MiB live, 59.5MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
1.55285406982817e+28
1.45508902970766e+31
1.0ms
1.2596501192273416e-41
2.512694332325231e-9
0.0ms
-8.744249513028166e-63
-7.249366697175247e-63
9.0ms
-2.6718528259510806e+137
-3.377229495629295e+136
Samples
12.0ms224×0valid
Compiler

Compiled 236 to 364 computations (-54.2% saved)

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

bsearch15.0ms (0.3%)

Memory
33.6MiB live, 33.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
3.010345676109384e-9
4.621067446323819e-7
12.0ms
-21221103278179544.0
-8765337.542036692
Samples
7.0ms144×0valid
Compiler

Compiled 140 to 222 computations (-58.6% saved)

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

simplify88.0ms (1.7%)

Memory
-9.3MiB live, 69.6MiB allocated
Algorithm
egg-herbie
Rules
14×*-commutative-binary64-*.f64
10×neg-mul-1-binary64-*.f64-neg.f64
+-commutative-binary64-+.f64
unsub-neg-binary64--.f64-neg.f64-+.f64
sub-neg-binary64-neg.f64-+.f64--.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054322
167322
272322
378322
485322
594322
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 y x (*.f64 z (-.f64 x #s(literal 1 binary64))))
(if (<=.f64 x #s(literal -21500000000000000 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) (if (<=.f64 x #s(literal 8500259669165361/18889465931478580854784 binary64)) (fma.f64 y x #s(approx (* z (- x 1)) (neg.f64 z))) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))))
(if (<=.f64 x #s(literal -1736881338559743/231584178474632390847141970017375815706539969331281128078915168015826259279872 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) (if (<=.f64 x #s(literal 5742397643169489/302231454903657293676544 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))))
(if (<=.f64 x #s(literal -1736881338559743/231584178474632390847141970017375815706539969331281128078915168015826259279872 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) (if (<=.f64 x #s(literal 4192540097323757/89202980794122492566142873090593446023921664 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))))
(if (<=.f64 x #s(literal -81999999999999995256128475224507200267887815072813960962457017605053537613401668797542956472971007306705241945517485182048040950492561408 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x))) (if (<=.f64 x #s(literal -1736881338559743/231584178474632390847141970017375815706539969331281128078915168015826259279872 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x)) (if (<=.f64 x #s(literal 4192540097323757/89202980794122492566142873090593446023921664 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) (if (<=.f64 x #s(literal 1449999999999999902168966496256 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))))))
(if (<=.f64 x #s(literal -9000000 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x))) (if (<=.f64 x #s(literal 8500259669165361/18889465931478580854784 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))))
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))
Outputs
(fma.f64 y x (*.f64 z (-.f64 x #s(literal 1 binary64))))
(fma.f64 y x (*.f64 (-.f64 x #s(literal 1 binary64)) z))
(if (<=.f64 x #s(literal -21500000000000000 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) (if (<=.f64 x #s(literal 8500259669165361/18889465931478580854784 binary64)) (fma.f64 y x #s(approx (* z (- x 1)) (neg.f64 z))) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))))
(if (<=.f64 x #s(literal -1736881338559743/231584178474632390847141970017375815706539969331281128078915168015826259279872 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) (if (<=.f64 x #s(literal 5742397643169489/302231454903657293676544 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (-.f64 x #s(literal 1 binary64)) z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))))
(if (<=.f64 x #s(literal -1736881338559743/231584178474632390847141970017375815706539969331281128078915168015826259279872 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x)) (if (<=.f64 x #s(literal 4192540097323757/89202980794122492566142873090593446023921664 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 (+.f64 z y) x))))
(if (<=.f64 x #s(literal -81999999999999995256128475224507200267887815072813960962457017605053537613401668797542956472971007306705241945517485182048040950492561408 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x))) (if (<=.f64 x #s(literal -1736881338559743/231584178474632390847141970017375815706539969331281128078915168015826259279872 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x)) (if (<=.f64 x #s(literal 4192540097323757/89202980794122492566142873090593446023921664 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) (if (<=.f64 x #s(literal 1449999999999999902168966496256 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 y x)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))))))
(if (<=.f64 x #s(literal -81999999999999995256128475224507200267887815072813960962457017605053537613401668797542956472971007306705241945517485182048040950492561408 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x))) (if (<=.f64 x #s(literal -1736881338559743/231584178474632390847141970017375815706539969331281128078915168015826259279872 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y)) (if (<=.f64 x #s(literal 4192540097323757/89202980794122492566142873090593446023921664 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) (if (<=.f64 x #s(literal 1449999999999999902168966496256 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (*.f64 x y)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))))))
(if (<=.f64 x #s(literal -9000000 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x))) (if (<=.f64 x #s(literal 8500259669165361/18889465931478580854784 binary64)) #s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z)) #s(approx (+ (* x y) (* (- x 1) z)) #s(approx (* (- x 1) z) (*.f64 z x)))))
#s(approx (+ (* x y) (* (- x 1) z)) (neg.f64 z))

soundness1.1s (21.9%)

Memory
-11.6MiB live, 509.4MiB allocated
Rules
9 326×lower-fma.f64
9 326×lower-fma.f32
7 766×lower-fma.f64
7 766×lower-fma.f32
6 732×lower-*.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0801975
12751705
27871705
321691705
447761705
567881705
080601705
054494
1180440
2532440
31339440
44403440
08080440
0820
01220
14520
231120
3385420
01040919
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
Compiler

Compiled 240 to 134 computations (44.2% saved)

preprocess65.0ms (1.3%)

Memory
-7.4MiB live, 149.2MiB allocated
Compiler

Compiled 306 to 112 computations (63.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...