Diagrams.Solve.Polynomial:quadForm from diagrams-solve-0.1, A

Time bar (total: 2.6s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

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

Compiled 9 to 9 computations (0% saved)

sample567.0ms (21.8%)

Memory
37.6MiB live, 1 101.3MiB allocated
Samples
364.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 176.0ms
ival-mult: 122.0ms (69.4% of total)
ival-sub: 41.0ms (23.3% of total)
ival-true: 6.0ms (3.4% of total)
exact: 4.0ms (2.3% of total)
ival-assert: 3.0ms (1.7% of total)
Bogosity

explain66.0ms (2.5%)

Memory
7.1MiB live, 128.3MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-y
00-0-(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
00-0-(*.f64 y #s(literal 4 binary64))
00-0-#s(literal 4 binary64)
00-0-z
00-0-(*.f64 (*.f64 y #s(literal 4 binary64)) z)
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
24.0ms512×0valid
Compiler

Compiled 49 to 25 computations (49% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 7.0ms (69.6% of total)
ival-sub: 2.0ms (19.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess52.0ms (2%)

Memory
-22.2MiB live, 52.2MiB allocated
Algorithm
egg-herbie
Rules
304×lower-fma.f64
304×lower-fma.f32
224×lower-*.f32
220×lower-*.f64
184×cancel-sign-sub-inv
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02669
19266
224163
355963
490463
599863
6101263
7101263
8101263
077
0107
1197
2497
3997
41317
51707
62217
72637
83487
94007
104307
04306
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
Outputs
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
(fma.f64 (*.f64 z y) #s(literal -4 binary64) x)
Symmetry

(sort y z)

Compiler

Compiled 7 to 7 computations (0% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 7 to 7 computations (0% saved)

simplify13.0ms (0.5%)

Memory
20.9MiB live, 20.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 y #s(literal 4 binary64))
cost-diff0
(*.f64 (*.f64 y #s(literal 4 binary64)) z)
cost-diff128
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
Rules
304×lower-fma.f64
304×lower-fma.f32
224×lower-*.f32
220×lower-*.f64
90×cancel-sign-sub-inv
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0719
01019
11919
24919
39919
413119
517019
622119
726319
834819
940019
1043019
043018
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
x
(*.f64 (*.f64 y #s(literal 4 binary64)) z)
(*.f64 y #s(literal 4 binary64))
y
#s(literal 4 binary64)
z
Outputs
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
(fma.f64 (*.f64 z y) #s(literal -4 binary64) x)
x
(*.f64 (*.f64 y #s(literal 4 binary64)) z)
(*.f64 z (*.f64 #s(literal 4 binary64) y))
(*.f64 y #s(literal 4 binary64))
(*.f64 #s(literal 4 binary64) y)
y
#s(literal 4 binary64)
z

localize35.0ms (1.3%)

Memory
-30.6MiB live, 25.9MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
accuracy0
(*.f64 (*.f64 y #s(literal 4 binary64)) z)
accuracy0
(*.f64 y #s(literal 4 binary64))
Samples
31.0ms256×0valid
Compiler

Compiled 21 to 9 computations (57.1% saved)

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

series7.0ms (0.3%)

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

9 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
((- x (* (* y 4) z)) (* (* y 4) z) (* y 4))
1.0ms
y
@0
((- x (* (* y 4) z)) (* (* y 4) z) (* y 4))
1.0ms
y
@inf
((- x (* (* y 4) z)) (* (* y 4) z) (* y 4))
1.0ms
z
@0
((- x (* (* y 4) z)) (* (* y 4) z) (* y 4))
1.0ms
z
@inf
((- x (* (* y 4) z)) (* (* y 4) z) (* y 4))

simplify206.0ms (7.9%)

Memory
3.6MiB live, 159.9MiB allocated
Algorithm
egg-herbie
Rules
18 304×lower-fma.f64
18 304×lower-fma.f32
3 504×lower-/.f32
3 504×lower-/.f64
2 460×lower-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038374
1105374
2262374
3894374
42564374
54474374
65491374
75869374
86083374
96195374
106237374
08299347
Stop Event
iter limit
node limit
Counts
72 → 68
Calls
Call 1
Inputs
x
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* -4 (* y z))
(* z (- (/ x z) (* 4 y)))
(* z (- (/ x z) (* 4 y)))
(* z (- (/ x z) (* 4 y)))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* -4 (* y z))
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
x
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 y)
(* 4 y)
(* 4 y)
(* 4 y)
(* -4 (* y z))
(* y (- (/ x y) (* 4 z)))
(* y (- (/ x y) (* 4 z)))
(* y (- (/ x y) (* 4 z)))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 y)
(* 4 y)
(* 4 y)
(* 4 y)
(* -4 (* y z))
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 (* y z))
(* 4 y)
(* 4 y)
(* 4 y)
(* 4 y)
(* -4 (* y z))
(- x (* 4 (* y z)))
(- x (* 4 (* y z)))
(- x (* 4 (* y z)))
x
(* x (+ 1 (* -4 (/ (* y z) x))))
(* x (+ 1 (* -4 (/ (* y z) x))))
(* x (+ 1 (* -4 (/ (* y z) x))))
x
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
Outputs
x
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* z (- (/ x z) (* 4 y)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* z (- (/ x z) (* 4 y)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* z (- (/ x z) (* 4 y)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
x
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 y)
(*.f64 #s(literal 4 binary64) y)
(* 4 y)
(*.f64 #s(literal 4 binary64) y)
(* 4 y)
(*.f64 #s(literal 4 binary64) y)
(* 4 y)
(*.f64 #s(literal 4 binary64) y)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* y (- (/ x y) (* 4 z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* y (- (/ x y) (* 4 z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* y (- (/ x y) (* 4 z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 y)
(*.f64 #s(literal 4 binary64) y)
(* 4 y)
(*.f64 #s(literal 4 binary64) y)
(* 4 y)
(*.f64 #s(literal 4 binary64) y)
(* 4 y)
(*.f64 #s(literal 4 binary64) y)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 (* y z))
(*.f64 #s(literal 4 binary64) (*.f64 z y))
(* 4 y)
(*.f64 #s(literal 4 binary64) y)
(* 4 y)
(*.f64 #s(literal 4 binary64) y)
(* 4 y)
(*.f64 #s(literal 4 binary64) y)
(* 4 y)
(*.f64 #s(literal 4 binary64) y)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(- x (* 4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(- x (* 4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(- x (* 4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
x
(* x (+ 1 (* -4 (/ (* y z) x))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* x (+ 1 (* -4 (/ (* y z) x))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* x (+ 1 (* -4 (/ (* y z) x))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
x
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)

rewrite215.0ms (8.3%)

Memory
-12.4MiB live, 179.2MiB allocated
Rules
12 604×lower-fma.f64
12 604×lower-fma.f32
4 454×lower-*.f32
4 450×lower-*.f64
3 450×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
01015
13215
221915
3211815
0834014
Stop Event
iter limit
node limit
iter limit
Counts
3 → 207
Calls
Call 1
Inputs
(-.f64 x (*.f64 (*.f64 y #s(literal 4 binary64)) z))
(*.f64 (*.f64 y #s(literal 4 binary64)) z)
(*.f64 y #s(literal 4 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval47.0ms (1.8%)

Memory
5.8MiB live, 42.0MiB allocated
Compiler

Compiled 8 646 to 640 computations (92.6% saved)

prune6.0ms (0.2%)

Memory
14.8MiB live, 14.8MiB allocated
Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New2732275
Fresh000
Picked101
Done000
Total2742276
Accuracy
100.0%
Counts
276 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (*.f64 z y) #s(literal -4 binary64) x)
54.1%
#s(approx (- x (* (* y 4) z)) (*.f64 (*.f64 z y) #s(literal -4 binary64)))
Compiler

Compiled 12 to 13 computations (-8.3% saved)

simplify15.0ms (0.6%)

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

Found 5 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 z y)
cost-diff0
(fma.f64 (*.f64 z y) #s(literal -4 binary64) x)
cost-diff0
(*.f64 z y)
cost-diff0
(*.f64 (*.f64 z y) #s(literal -4 binary64))
cost-diff0
#s(approx (- x (* (* y 4) z)) (*.f64 (*.f64 z y) #s(literal -4 binary64)))
Rules
304×lower-fma.f32
302×lower-fma.f64
224×lower-*.f32
220×lower-*.f64
86×cancel-sign-sub-inv
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01237
01537
12936
26036
39936
413336
517236
622336
726536
835136
940336
1043336
043336
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (- x (* (* y 4) z)) (*.f64 (*.f64 z y) #s(literal -4 binary64)))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(*.f64 z y)
z
y
#s(literal -4 binary64)
(fma.f64 (*.f64 z y) #s(literal -4 binary64) x)
(*.f64 z y)
z
y
#s(literal -4 binary64)
x
Outputs
#s(approx (- x (* (* y 4) z)) (*.f64 (*.f64 z y) #s(literal -4 binary64)))
#s(approx (- x (* (* y 4) z)) (*.f64 #s(literal -4 binary64) (*.f64 z y)))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(*.f64 #s(literal -4 binary64) (*.f64 z y))
(*.f64 z y)
z
y
#s(literal -4 binary64)
(fma.f64 (*.f64 z y) #s(literal -4 binary64) x)
(fma.f64 (*.f64 #s(literal -4 binary64) z) y x)
(*.f64 z y)
z
y
#s(literal -4 binary64)
x

localize29.0ms (1.1%)

Memory
1.2MiB live, 39.0MiB allocated
Localize:

Found 5 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 (*.f64 z y) #s(literal -4 binary64) x)
accuracy0
(*.f64 z y)
accuracy0
(*.f64 (*.f64 z y) #s(literal -4 binary64))
accuracy0
(*.f64 z y)
accuracy29.368147572467365
#s(approx (- x (* (* y 4) z)) (*.f64 (*.f64 z y) #s(literal -4 binary64)))
Samples
22.0ms256×0valid
Compiler

Compiled 34 to 13 computations (61.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-mult: 10.0ms (72.6% of total)
ival-sub: 3.0ms (21.8% of total)
ival-add: 1.0ms (7.3% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series12.0ms (0.5%)

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

9 calls:

TimeVariablePointExpression
6.0ms
y
@-inf
((- x (* (* y 4) z)) (* (* z y) -4) (* z y) (+ (* (* z y) -4) x))
1.0ms
z
@-inf
((- x (* (* y 4) z)) (* (* z y) -4) (* z y) (+ (* (* z y) -4) x))
1.0ms
z
@0
((- x (* (* y 4) z)) (* (* z y) -4) (* z y) (+ (* (* z y) -4) x))
0.0ms
y
@0
((- x (* (* y 4) z)) (* (* z y) -4) (* z y) (+ (* (* z y) -4) x))
0.0ms
y
@inf
((- x (* (* y 4) z)) (* (* z y) -4) (* z y) (+ (* (* z y) -4) x))

simplify102.0ms (3.9%)

Memory
9.7MiB live, 84.2MiB allocated
Algorithm
egg-herbie
Rules
3 122×lower-fma.f64
3 122×lower-fma.f32
2 220×lower-*.f64
2 220×lower-*.f32
1 506×div-sub
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048628
1143628
2369628
31011628
42671628
55439628
67538628
08056574
Stop Event
iter limit
node limit
Counts
120 → 112
Calls
Call 1
Inputs
x
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* y z)
(* y z)
(* y z)
(* y z)
x
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(* -4 (* y z))
(* z (- (/ x z) (* 4 y)))
(* z (- (/ x z) (* 4 y)))
(* z (- (/ x z) (* 4 y)))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* y z)
(* y z)
(* y z)
(* y z)
(* -4 (* y z))
(* z (+ (* -4 y) (/ x z)))
(* z (+ (* -4 y) (/ x z)))
(* z (+ (* -4 y) (/ x z)))
(* -4 (* y z))
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* y z)
(* y z)
(* y z)
(* y z)
(* -4 (* y z))
(* -1 (* z (+ (* -1 (/ x z)) (* 4 y))))
(* -1 (* z (+ (* -1 (/ x z)) (* 4 y))))
(* -1 (* z (+ (* -1 (/ x z)) (* 4 y))))
x
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* y z)
(* y z)
(* y z)
(* y z)
x
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(* -4 (* y z))
(* y (- (/ x y) (* 4 z)))
(* y (- (/ x y) (* 4 z)))
(* y (- (/ x y) (* 4 z)))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* y z)
(* y z)
(* y z)
(* y z)
(* -4 (* y z))
(* y (+ (* -4 z) (/ x y)))
(* y (+ (* -4 z) (/ x y)))
(* y (+ (* -4 z) (/ x y)))
(* -4 (* y z))
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* -4 (* y z))
(* y z)
(* y z)
(* y z)
(* y z)
(* -4 (* y z))
(* -1 (* y (+ (* -1 (/ x y)) (* 4 z))))
(* -1 (* y (+ (* -1 (/ x y)) (* 4 z))))
(* -1 (* y (+ (* -1 (/ x y)) (* 4 z))))
(* -4 (* y z))
(- x (* 4 (* y z)))
(- x (* 4 (* y z)))
(- x (* 4 (* y z)))
(* -4 (* y z))
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
(+ x (* -4 (* y z)))
x
(* x (+ 1 (* -4 (/ (* y z) x))))
(* x (+ 1 (* -4 (/ (* y z) x))))
(* x (+ 1 (* -4 (/ (* y z) x))))
x
(* x (+ 1 (* -4 (/ (* y z) x))))
(* x (+ 1 (* -4 (/ (* y z) x))))
(* x (+ 1 (* -4 (/ (* y z) x))))
x
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
x
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
Outputs
x
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
x
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* z (- (/ x z) (* 4 y)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* z (- (/ x z) (* 4 y)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* z (- (/ x z) (* 4 y)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* z (+ (* -4 y) (/ x z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* z (+ (* -4 y) (/ x z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* z (+ (* -4 y) (/ x z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* z (- (* -1 (/ x z)) (* -4 y))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -1 (* z (+ (* -1 (/ x z)) (* 4 y))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* z (+ (* -1 (/ x z)) (* 4 y))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* z (+ (* -1 (/ x z)) (* 4 y))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
x
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
x
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* y (- (/ x y) (* 4 z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* y (- (/ x y) (* 4 z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* y (- (/ x y) (* 4 z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* y (+ (* -4 z) (/ x y)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* y (+ (* -4 z) (/ x y)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* y (+ (* -4 z) (/ x y)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* y (- (* -1 (/ x y)) (* -4 z))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(* -1 (* y (+ (* -1 (/ x y)) (* 4 z))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* y (+ (* -1 (/ x y)) (* 4 z))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* y (+ (* -1 (/ x y)) (* 4 z))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(- x (* 4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(- x (* 4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(- x (* 4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -4 (* y z))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(+ x (* -4 (* y z)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
x
(* x (+ 1 (* -4 (/ (* y z) x))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* x (+ 1 (* -4 (/ (* y z) x))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* x (+ 1 (* -4 (/ (* y z) x))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
x
(* x (+ 1 (* -4 (/ (* y z) x))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* x (+ 1 (* -4 (/ (* y z) x))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* x (+ 1 (* -4 (/ (* y z) x))))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
x
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
x
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)
(* -1 (* x (- (* 4 (/ (* y z) x)) 1)))
(fma.f64 (*.f64 z #s(literal -4 binary64)) y x)

rewrite435.0ms (16.7%)

Memory
31.4MiB live, 308.8MiB allocated
Rules
9 174×lower-fma.f32
9 172×lower-fma.f64
5 296×lower-*.f32
5 292×lower-*.f64
2 550×lower-/.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01227
01527
15226
237126
3424526
0896726
Stop Event
iter limit
node limit
iter limit
Counts
4 → 244
Calls
Call 1
Inputs
#s(approx (- x (* (* y 4) z)) (*.f64 (*.f64 z y) #s(literal -4 binary64)))
(*.f64 (*.f64 z y) #s(literal -4 binary64))
(*.f64 z y)
(fma.f64 (*.f64 z y) #s(literal -4 binary64) x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval45.0ms (1.7%)

Memory
-24.7MiB live, 94.6MiB allocated
Compiler

Compiled 8 498 to 731 computations (91.4% saved)

prune20.0ms (0.8%)

Memory
1.1MiB live, 39.8MiB allocated
Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New3820382
Fresh000
Picked022
Done000
Total3822384
Accuracy
100.0%
Counts
384 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (*.f64 z y) #s(literal -4 binary64) x)
54.1%
#s(approx (- x (* (* y 4) z)) (*.f64 (*.f64 z y) #s(literal -4 binary64)))
Compiler

Compiled 31 to 25 computations (19.4% saved)

regimes11.0ms (0.4%)

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

6 calls:

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

Compiled 18 to 27 computations (-50% saved)

regimes9.0ms (0.3%)

Memory
-21.2MiB live, 17.9MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

6 calls:

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

Compiled 18 to 27 computations (-50% saved)

simplify22.0ms (0.8%)

Memory
4.5MiB live, 43.6MiB allocated
Algorithm
egg-herbie
Rules
*-commutative-binary64-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01219
11419
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 (*.f64 z y) #s(literal -4 binary64) x)
#s(approx (- x (* (* y 4) z)) (*.f64 (*.f64 z y) #s(literal -4 binary64)))
Outputs
(fma.f64 (*.f64 z y) #s(literal -4 binary64) x)
(fma.f64 (*.f64 y z) #s(literal -4 binary64) x)
#s(approx (- x (* (* y 4) z)) (*.f64 (*.f64 z y) #s(literal -4 binary64)))
#s(approx (- x (* (* y 4) z)) (*.f64 #s(literal -4 binary64) (*.f64 y z)))

soundness657.0ms (25.3%)

Memory
7.5MiB live, 247.2MiB allocated
Rules
18 304×lower-fma.f64
18 304×lower-fma.f32
12 604×lower-fma.f64
12 604×lower-fma.f32
4 454×lower-*.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038374
1105374
2262374
3894374
42564374
54474374
65491374
75869374
86083374
96195374
106237374
08299347
0715
01015
13215
221915
3211815
0834014
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 30 to 24 computations (20% saved)

preprocess26.0ms (1%)

Memory
-15.0MiB live, 59.0MiB allocated
Remove

(sort y z)

Compiler

Compiled 74 to 66 computations (10.8% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...