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

Time bar (total: 2.5s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

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

sample977.0ms (38.9%)

Memory
26.2MiB live, 776.1MiB allocated
Samples
654.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 426.0ms
ival-sub: 159.0ms (37.4% of total)
ival-mult: 137.0ms (32.2% of total)
ival-div: 111.0ms (26.1% of total)
exact: 9.0ms (2.1% of total)
ival-true: 6.0ms (1.4% of total)
ival-assert: 3.0ms (0.7% of total)
Bogosity

explain111.0ms (4.4%)

Memory
-2.2MiB live, 171.8MiB 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
33.0ms512×0valid
Compiler

Compiled 88 to 40 computations (54.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-div: 6.0ms (35.1% of total)
ival-sub: 6.0ms (35.1% of total)
ival-mult: 4.0ms (23.4% of total)
exact: 1.0ms (5.9% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess53.0ms (2.1%)

Memory
-2.7MiB live, 34.2MiB 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.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

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

simplify86.0ms (3.4%)

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

localize20.0ms (0.8%)

Memory
28.9MiB live, 28.9MiB allocated
Localize:

Found 4 expressions of interest:

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

Compiled 52 to 20 computations (61.5% saved)

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

series156.0ms (6.2%)

Memory
-25.8MiB live, 15.3MiB 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
147.0ms
y
@0
((/ (* x y) 2) (/ z 8) (- (/ (* x y) 2) (/ z 8)) (* x y))
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))

simplify110.0ms (4.4%)

Memory
6.6MiB live, 164.1MiB 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.2%)

Memory
20.8MiB live, 175.2MiB 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>

eval38.0ms (1.5%)

Memory
-9.6MiB live, 65.5MiB allocated
Compiler

Compiled 4 979 to 612 computations (87.7% saved)

prune5.0ms (0.2%)

Memory
19.3MiB live, 19.3MiB 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.9%
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
51.7%
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z))
Compiler

Compiled 18 to 21 computations (-16.7% saved)

simplify21.0ms (0.8%)

Memory
-28.1MiB live, 10.9MiB 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
853861
957961
1061261
1161361
061361
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))
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 z #s(literal -1/8 binary64)))
(*.f64 #s(literal -1/8 binary64) z)
(*.f64 z #s(literal -1/8 binary64))
#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 z #s(literal -1/8 binary64)))
(*.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)
(*.f64 z #s(literal -1/8 binary64))
#s(literal -1/8 binary64)
z

localize45.0ms (1.8%)

Memory
2.1MiB live, 56.7MiB 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 y x)
accuracy0.0078125
(*.f64 (*.f64 y x) #s(literal 1/2 binary64))
accuracy32.058821837836646
#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.89765482719191
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 #s(literal -1/8 binary64) z))
Samples
36.0ms256×0valid
Compiler

Compiled 101 to 31 computations (69.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-mult: 19.0ms (75.3% of total)
ival-div: 3.0ms (11.9% of total)
ival-sub: 1.0ms (4% of total)
ival-add: 1.0ms (4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series10.0ms (0.4%)

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

simplify105.0ms (4.2%)

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

rewrite119.0ms (4.7%)

Memory
-23.9MiB live, 170.1MiB allocated
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01850
02450
18848
273948
0892548
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>

eval45.0ms (1.8%)

Memory
24.9MiB live, 101.2MiB allocated
Compiler

Compiled 5 226 to 576 computations (89% saved)

prune18.0ms (0.7%)

Memory
3.5MiB live, 46.7MiB 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.9%
#s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 y x) #s(literal 1/2 binary64)))
51.7%
#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.6%)

Memory
-5.1MiB live, 34.1MiB 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
(/.f64 (*.f64 x y) #s(literal 2 binary64))
2.0ms
(/.f64 z #s(literal 8 binary64))
2.0ms
(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64)))
2.0ms
z
2.0ms
x
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
-11.5MiB live, 27.5MiB 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
z
2.0ms
(/.f64 z #s(literal 8 binary64))
2.0ms
(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64)))
2.0ms
x
2.0ms
y
Results
AccuracySegmentsBranch
73.4%3x
74.3%3y
68.7%3z
66.2%3(-.f64 (/.f64 (*.f64 x y) #s(literal 2 binary64)) (/.f64 z #s(literal 8 binary64)))
82.5%3(/.f64 (*.f64 x y) #s(literal 2 binary64))
82.5%3(*.f64 x y)
68.7%3(/.f64 z #s(literal 8 binary64))
Compiler

Compiled 23 to 33 computations (-43.5% saved)

regimes10.0ms (0.4%)

Memory
24.6MiB live, 24.6MiB 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:

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

Compiled 23 to 33 computations (-43.5% saved)

bsearch1.0ms (0%)

Memory
1.6MiB live, 1.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
6.745220851153879e+109
4.429629175425678e+127
0.0ms
-7.555492798962127e+117
-1.7111623339110588e+112
Compiler

Compiled 12 to 15 computations (-25% saved)

simplify42.0ms (1.7%)

Memory
-0.2MiB live, 82.2MiB 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 -4999999999999999832824999471636879591620757547431714247293876642114376026137470598410191039245133837347555577757171712 binary64)) #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 y x) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 x y) #s(literal 100000000000000002356936751417025583324953279505688186312991253926828166846616173259830936159244951026231410688 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 -4999999999999999832824999471636879591620757547431714247293876642114376026137470598410191039245133837347555577757171712 binary64)) #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 y x) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 x y) #s(literal 100000000000000002356936751417025583324953279505688186312991253926828166846616173259830936159244951026231410688 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 -4999999999999999832824999471636879591620757547431714247293876642114376026137470598410191039245133837347555577757171712 binary64)) #s(approx (- (/ (* x y) 2) (/ z 8)) (*.f64 (*.f64 x y) #s(literal 1/2 binary64))) (if (<=.f64 (*.f64 x y) #s(literal 100000000000000002356936751417025583324953279505688186312991253926828166846616173259830936159244951026231410688 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)))

soundness350.0ms (13.9%)

Memory
-9.2MiB live, 186.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 68 to 48 computations (29.4% saved)

preprocess29.0ms (1.1%)

Memory
-5.8MiB live, 71.8MiB 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...