Diagrams.Solve.Polynomial:quartForm from diagrams-solve-0.1, D

Time bar (total: 2.3s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze1.0ms (0%)

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

Compiled 11 to 11 computations (0% saved)

sample765.0ms (33.5%)

Memory
-18.6MiB live, 1 143.0MiB allocated
Samples
504.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 271.0ms
ival-div: 107.0ms (39.5% of total)
ival-sub: 75.0ms (27.7% of total)
ival-mult: 70.0ms (25.9% of total)
exact: 9.0ms (3.3% of total)
ival-true: 6.0ms (2.2% of total)
ival-assert: 3.0ms (1.1% of total)
Bogosity

explain80.0ms (3.5%)

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

Compiled 63 to 31 computations (50.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-div: 6.0ms (42.4% of total)
ival-mult: 4.0ms (28.3% of total)
ival-sub: 3.0ms (21.2% of total)
exact: 1.0ms (7.1% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess52.0ms (2.3%)

Memory
4.6MiB live, 45.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03387
17684
215381
333281
461681
5105781
6121081
7123481
8123481
099
0139
1189
2319
3409
4649
51089
61899
73129
84479
95149
105499
115509
05508
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64)))
Outputs
(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 y x) (*.f64 #s(literal -1/8 binary64) z))
Symmetry

(sort x y)

Compiler

Compiled 9 to 9 computations (0% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune1.0ms (0%)

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

Compiled 9 to 9 computations (0% saved)

simplify19.0ms (0.8%)

Memory
-22.6MiB live, 16.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0925
01325
11825
23125
34025
46425
510825
618925
731225
844725
951425
1054925
1155025
055024
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64)))
(/.f64 (*.f64 x y) #s(literal 2 binary64))
(*.f64 x y)
x
y
#s(literal 2 binary64)
(/.f64 z #s(literal 8 binary64))
z
#s(literal 8 binary64)
Outputs
(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 y x) (*.f64 #s(literal -1/8 binary64) z))
(/.f64 (*.f64 x y) #s(literal 2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 y x))
(*.f64 x y)
(*.f64 y x)
x
y
#s(literal 2 binary64)
(/.f64 z #s(literal 8 binary64))
(*.f64 #s(literal 1/8 binary64) z)
z
#s(literal 8 binary64)

localize22.0ms (0.9%)

Memory
-3.0MiB live, 35.6MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(/.f64 (*.f64 x y) #s(literal 2 binary64))
accuracy0
(/.f64 z #s(literal 8 binary64))
accuracy0
(*.f64 x y)
accuracy0.00390625
(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64)))
Samples
15.0ms256×0valid
Compiler

Compiled 27 to 11 computations (59.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-div: 3.0ms (43.4% of total)
ival-mult: 2.0ms (29% of total)
ival-sub: 1.0ms (14.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series9.0ms (0.4%)

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

9 calls:

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

simplify102.0ms (4.5%)

Memory
10.6MiB live, 126.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
042508
1123508
2350508
3859508
41956508
54016508
66381508
08111481
Stop Event
iter limit
node limit
Counts
96 → 96
Calls
Call 1
Inputs
(* 1/8 z)
(* 1/8 z)
(* 1/8 z)
(* 1/8 z)
(* 1/2 (* x y))
(+ (* -1/8 z) (* 1/2 (* x y)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(* 1/8 z)
(* 1/8 z)
(* 1/8 z)
(* 1/8 z)
(* -1/8 z)
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(* 1/8 z)
(* 1/8 z)
(* 1/8 z)
(* 1/8 z)
(* -1/8 z)
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* -1/8 z)
(- (* 1/2 (* x y)) (* 1/8 z))
(- (* 1/2 (* x y)) (* 1/8 z))
(- (* 1/2 (* x y)) (* 1/8 z))
(* x y)
(* x y)
(* x y)
(* x y)
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(* x y)
(* x y)
(* x y)
(* x y)
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* -1/8 z)
(- (* 1/2 (* x y)) (* 1/8 z))
(- (* 1/2 (* x y)) (* 1/8 z))
(- (* 1/2 (* x y)) (* 1/8 z))
(* x y)
(* x y)
(* x y)
(* x y)
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(* x y)
(* x y)
(* x y)
(* x y)
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(* x y)
(* x y)
(* x y)
(* x y)
Outputs
(* 1/8 z)
(*.f64 z #s(literal 1/8 binary64))
(* 1/8 z)
(*.f64 z #s(literal 1/8 binary64))
(* 1/8 z)
(*.f64 z #s(literal 1/8 binary64))
(* 1/8 z)
(*.f64 z #s(literal 1/8 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/8 z)
(*.f64 z #s(literal 1/8 binary64))
(* 1/8 z)
(*.f64 z #s(literal 1/8 binary64))
(* 1/8 z)
(*.f64 z #s(literal 1/8 binary64))
(* 1/8 z)
(*.f64 z #s(literal 1/8 binary64))
(* -1/8 z)
(*.f64 #s(literal -1/8 binary64) z)
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/8 z)
(*.f64 z #s(literal 1/8 binary64))
(* 1/8 z)
(*.f64 z #s(literal 1/8 binary64))
(* 1/8 z)
(*.f64 z #s(literal 1/8 binary64))
(* 1/8 z)
(*.f64 z #s(literal 1/8 binary64))
(* -1/8 z)
(*.f64 #s(literal -1/8 binary64) z)
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* -1/8 z)
(*.f64 #s(literal -1/8 binary64) z)
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* -1/8 z)
(*.f64 #s(literal -1/8 binary64) z)
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(fma.f64 #s(literal -1/8 binary64) z (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)

rewrite131.0ms (5.7%)

Memory
-1.7MiB live, 192.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
01320
15620
248620
0867719
Stop Event
iter limit
node limit
iter limit
Counts
4 → 221
Calls
Call 1
Inputs
(/.f64 (*.f64 x y) #s(literal 2 binary64))
(/.f64 z #s(literal 8 binary64))
(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64)))
(*.f64 x y)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval37.0ms (1.6%)

Memory
-3.7MiB live, 79.1MiB allocated
Compiler

Compiled 4 979 to 612 computations (87.7% saved)

prune6.0ms (0.2%)

Memory
21.0MiB live, 21.0MiB allocated
Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New3143317
Fresh000
Picked101
Done000
Total3153318
Accuracy
100.0%
Counts
318 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 #s(literal -1/8 binary64) z))
49.7%
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
51.6%
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z))
Compiler

Compiled 18 to 21 computations (-16.7% saved)

simplify20.0ms (0.9%)

Memory
-3.3MiB live, 35.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

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

Useful iterations: 7 (0.0ms)

IterNodesCost
01863
02463
13863
25463
36363
48863
513463
622463
736961
853361
957461
1060761
1160861
060861
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z))
(*.f64 #s(literal -1/8 binary64) z)
#s(literal -1/8 binary64)
z
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(*.f64 y x)
y
x
#s(literal 1/2 binary64)
(fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 #s(literal -1/8 binary64) z))
(*.f64 y #s(literal 1/2 binary64))
y
#s(literal 1/2 binary64)
x
(*.f64 #s(literal -1/8 binary64) z)
#s(literal -1/8 binary64)
z
Outputs
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z))
(*.f64 #s(literal -1/8 binary64) z)
#s(literal -1/8 binary64)
z
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 #s(literal 1/2 binary64) x) y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) x) y)
(*.f64 y x)
y
x
#s(literal 1/2 binary64)
(fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 #s(literal -1/8 binary64) z))
(fma.f64 (*.f64 #s(literal 1/2 binary64) x) y (*.f64 #s(literal -1/8 binary64) z))
(*.f64 y #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
y
#s(literal 1/2 binary64)
x
(*.f64 #s(literal -1/8 binary64) z)
#s(literal -1/8 binary64)
z

localize38.0ms (1.7%)

Memory
-3.9MiB live, 73.8MiB allocated
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 #s(literal -1/8 binary64) z))
accuracy0
(*.f64 y #s(literal 1/2 binary64))
accuracy0
(*.f64 #s(literal -1/8 binary64) z)
accuracy0
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
accuracy0
(*.f64 y x)
accuracy32.20058989333088
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
accuracy0
(*.f64 #s(literal -1/8 binary64) z)
accuracy30.963772343131645
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z))
Samples
28.0ms256×0valid
Compiler

Compiled 56 to 19 computations (66.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-mult: 9.0ms (55% of total)
ival-div: 3.0ms (18.3% of total)
ival-sub: 2.0ms (12.2% of total)
ival-add: 1.0ms (6.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series13.0ms (0.6%)

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

9 calls:

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

simplify103.0ms (4.5%)

Memory
35.3MiB live, 148.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0421104
11231104
23501104
38591104
419671104
540461104
664051104
081351023
Stop Event
iter limit
node limit
Counts
180 → 180
Calls
Call 1
Inputs
(* 1/2 (* x y))
(+ (* -1/8 z) (* 1/2 (* x y)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(* -1/8 z)
(* -1/8 z)
(* -1/8 z)
(* -1/8 z)
(* 1/2 (* x y))
(+ (* -1/8 z) (* 1/2 (* x y)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(* 1/2 (* x y))
(+ (* -1/8 z) (* 1/2 (* x y)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(* -1/8 z)
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(* -1/8 z)
(* -1/8 z)
(* -1/8 z)
(* -1/8 z)
(* -1/8 z)
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(* -1/8 z)
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(* -1/8 z)
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(* -1/8 z)
(* -1/8 z)
(* -1/8 z)
(* -1/8 z)
(* -1/8 z)
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(* -1/8 z)
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(* -1/8 z)
(- (* 1/2 (* x y)) (* 1/8 z))
(- (* 1/2 (* x y)) (* 1/8 z))
(- (* 1/2 (* x y)) (* 1/8 z))
(* -1/8 z)
(- (* 1/2 (* x y)) (* 1/8 z))
(- (* 1/2 (* x y)) (* 1/8 z))
(- (* 1/2 (* x y)) (* 1/8 z))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1/8 z)
(+ (* -1/8 z) (* 1/2 (* x y)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* 1/2 (* x y))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(* 1/2 (* x y))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* x y)
(* x y)
(* x y)
(* x y)
(* 1/2 (* x y))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* 1/2 (* x y))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(* 1/2 (* x y))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* x y)
(* x y)
(* x y)
(* x y)
(* 1/2 (* x y))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* 1/2 y)
(* -1/8 z)
(- (* 1/2 (* x y)) (* 1/8 z))
(- (* 1/2 (* x y)) (* 1/8 z))
(- (* 1/2 (* x y)) (* 1/8 z))
(* -1/8 z)
(- (* 1/2 (* x y)) (* 1/8 z))
(- (* 1/2 (* x y)) (* 1/8 z))
(- (* 1/2 (* x y)) (* 1/8 z))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1/8 z)
(+ (* -1/8 z) (* 1/2 (* x y)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(* 1/2 (* x y))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(* 1/2 (* x y))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* x y)
(* x y)
(* x y)
(* x y)
(* 1/2 (* x y))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(* 1/2 (* x y))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(* 1/2 (* x y))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* 1/2 (* x y))
(* x y)
(* x y)
(* x y)
(* x y)
(* 1/2 (* x y))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
Outputs
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* z (- (* 1/2 (/ (* x y) z)) 1/8))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* z (+ 1/8 (* -1/2 (/ (* x y) z)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* y (+ (* -1/8 (/ z y)) (* 1/2 x)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* y (+ (* -1/2 x) (* 1/8 (/ z y)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* 1/2 y)
(*.f64 y #s(literal 1/2 binary64))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(- (* 1/2 (* x y)) (* 1/8 z))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1/8 z)
(*.f64 z #s(literal -1/8 binary64))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(+ (* -1/8 z) (* 1/2 (* x y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* x (+ (* -1/8 (/ z x)) (* 1/2 y)))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* 1/2 (* x y))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(* -1 (* x (+ (* -1/2 y) (* 1/8 (/ z x)))))
(fma.f64 z #s(literal -1/8 binary64) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))

rewrite157.0ms (6.9%)

Memory
-4.7MiB live, 237.9MiB allocated
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01850
02450
18848
273948
0892748
Stop Event
iter limit
node limit
iter limit
Counts
7 → 203
Calls
Call 1
Inputs
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z))
(*.f64 #s(literal -1/8 binary64) z)
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
(*.f64 y x)
(fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 #s(literal -1/8 binary64) z))
(*.f64 y #s(literal 1/2 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval50.0ms (2.2%)

Memory
-3.4MiB live, 118.3MiB allocated
Compiler

Compiled 5 226 to 575 computations (89% saved)

prune19.0ms (0.8%)

Memory
-25.6MiB live, 51.8MiB allocated
Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New4140414
Fresh000
Picked033
Done000
Total4143417
Accuracy
100.0%
Counts
417 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 #s(literal -1/8 binary64) z))
49.7%
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
51.6%
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z))
Compiler

Compiled 45 to 39 computations (13.3% saved)

regimes16.0ms (0.7%)

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

7 calls:

3.0ms
y
2.0ms
z
2.0ms
(/.f64 z #s(literal 8 binary64))
2.0ms
x
2.0ms
(/.f64 (*.f64 x y) #s(literal 2 binary64))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1z
100.0%1(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64)))
100.0%1(/.f64 (*.f64 x y) #s(literal 2 binary64))
100.0%1(*.f64 x y)
100.0%1(/.f64 z #s(literal 8 binary64))
Compiler

Compiled 23 to 33 computations (-43.5% saved)

regimes12.0ms (0.5%)

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

7 calls:

2.0ms
(/.f64 z #s(literal 8 binary64))
2.0ms
z
2.0ms
y
2.0ms
(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64)))
2.0ms
x
Results
AccuracySegmentsBranch
79.0%3x
71.7%3y
76.3%3z
67.7%3(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64)))
81.1%3(/.f64 (*.f64 x y) #s(literal 2 binary64))
81.1%3(*.f64 x y)
76.3%3(/.f64 z #s(literal 8 binary64))
Compiler

Compiled 23 to 33 computations (-43.5% saved)

regimes11.0ms (0.5%)

Memory
-13.5MiB live, 31.2MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

7 calls:

2.0ms
(*.f64 x y)
1.0ms
(/.f64 z #s(literal 8 binary64))
1.0ms
(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64)))
1.0ms
z
1.0ms
y
Results
AccuracySegmentsBranch
51.6%1(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64)))
51.6%1y
51.6%1z
51.6%1(/.f64 z #s(literal 8 binary64))
51.6%1x
51.6%1(/.f64 (*.f64 x y) #s(literal 2 binary64))
51.6%1(*.f64 x y)
Compiler

Compiled 23 to 33 computations (-43.5% saved)

bsearch1.0ms (0%)

Memory
1.9MiB live, 1.9MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
8.634482657017134e-10
8.200290135216628e-9
0.0ms
-4.8688519833835e+116
-1.917199408231251e+111
Compiler

Compiled 12 to 15 computations (-25% saved)

simplify24.0ms (1.1%)

Memory
-14.1MiB live, 64.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02576
12976
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 #s(literal -1/8 binary64) z))
(if (<=.f64 (*.f64 x y) #s(literal -400000000000000006223766451786737209707280558768424573347908232172333512465902281305994155966018979070482512347136000 binary64)) #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 y x) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 x y) #s(literal 4835703278458517/4835703278458516698824704 binary64)) #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))))
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z))
Outputs
(fma.f64 (*.f64 y #s(literal 1/2 binary64)) x (*.f64 #s(literal -1/8 binary64) z))
(fma.f64 (*.f64 #s(literal 1/2 binary64) y) x (*.f64 z #s(literal -1/8 binary64)))
(if (<=.f64 (*.f64 x y) #s(literal -400000000000000006223766451786737209707280558768424573347908232172333512465902281305994155966018979070482512347136000 binary64)) #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 y x) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 x y) #s(literal 4835703278458517/4835703278458516698824704 binary64)) #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z)) #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))))
(if (<=.f64 (*.f64 x y) #s(literal -400000000000000006223766451786737209707280558768424573347908232172333512465902281305994155966018979070482512347136000 binary64)) #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 x y) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 x y) #s(literal 4835703278458517/4835703278458516698824704 binary64)) #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 z #s(literal -1/8 binary64))) #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 x y) #s(literal 1/2 binary64)))))
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z))
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 z #s(literal -1/8 binary64)))

soundness539.0ms (23.6%)

Memory
-45.6MiB live, 266.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
01320
15620
248620
0867719
042508
1123508
2350508
3859508
41956508
54016508
66381508
08111481
Stop Event
done
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 68 to 48 computations (29.4% saved)

preprocess58.0ms (2.6%)

Memory
24.1MiB live, 63.4MiB allocated
Remove

(sort x y)

Compiler

Compiled 146 to 102 computations (30.1% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...