Main:bigenough2 from A

Time bar (total: 3.9s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.3MiB live, 0.3MiB 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 8 computations (11.1% saved)

sample694.0ms (17.7%)

Memory
-2.8MiB live, 943.1MiB allocated
Samples
425.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 217.0ms
ival-add: 121.0ms (55.9% of total)
ival-mult: 86.0ms (39.7% of total)
ival-true: 6.0ms (2.8% of total)
ival-assert: 3.0ms (1.4% of total)
Bogosity

explain82.0ms (2.1%)

Memory
-4.3MiB live, 122.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(+.f64 z x)
00-0-y
00-0-(*.f64 y (+.f64 z x))
00-0-(+.f64 x (*.f64 y (+.f64 z x)))
00-0-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
40.0ms512×0valid
Compiler

Compiled 47 to 22 computations (53.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-add: 5.0ms (55.9% of total)
ival-mult: 3.0ms (33.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess58.0ms (1.5%)

Memory
20.8MiB live, 57.8MiB allocated
Algorithm
egg-herbie
Rules
394×distribute-rgt-in
354×unsub-neg
318×sub-neg
240×associate-*r*
226×distribute-lft-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02770
19463
229063
370863
4165463
5239563
6250063
7250063
067
097
1187
2297
3387
4427
5487
6487
7617
8617
9737
10757
11797
0796
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 x (*.f64 y (+.f64 z x)))
Outputs
(+.f64 x (*.f64 y (+.f64 z x)))
(fma.f64 (+.f64 z x) y x)
Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 x (*.f64 y (+.f64 z x)))
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify5.0ms (0.1%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 z x)
cost-diff0
(*.f64 y (+.f64 z x))
cost-diff128
(+.f64 x (*.f64 y (+.f64 z x)))
Rules
92×lower-fma.f64
92×lower-fma.f32
60×lower-*.f32
58×lower-*.f64
32×lower-+.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0618
0918
11818
22918
33818
44218
54818
64818
76118
86118
97318
107518
117918
07917
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(+.f64 x (*.f64 y (+.f64 z x)))
x
(*.f64 y (+.f64 z x))
y
(+.f64 z x)
z
Outputs
(+.f64 x (*.f64 y (+.f64 z x)))
(fma.f64 (+.f64 z x) y x)
x
(*.f64 y (+.f64 z x))
(*.f64 (+.f64 z x) y)
y
(+.f64 z x)
z

localize18.0ms (0.5%)

Memory
1.8MiB live, 40.1MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0
(+.f64 z x)
accuracy0
(+.f64 x (*.f64 y (+.f64 z x)))
accuracy0.015625
(*.f64 y (+.f64 z x))
Samples
14.0ms256×0valid
Compiler

Compiled 20 to 8 computations (60% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-add: 3.0ms (68.4% of total)
ival-mult: 2.0ms (45.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series11.0ms (0.3%)

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

9 calls:

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

simplify177.0ms (4.5%)

Memory
8.2MiB live, 123.9MiB allocated
Algorithm
egg-herbie
Rules
6 302×lower-fma.f64
6 302×lower-fma.f32
2 346×lower-*.f64
2 346×lower-*.f32
2 030×div-sub
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
070452
1249452
2731452
32093452
44312452
55677452
66804452
77667452
08057422
Stop Event
iter limit
node limit
Counts
96 → 89
Calls
Call 1
Inputs
(+ x (* x y))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(* x y)
(+ (* x y) (* y z))
(+ (* x y) (* y z))
(+ (* x y) (* y z))
x
(+ x z)
(+ x z)
(+ x z)
(* y z)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* y z)
(* z (+ y (/ (* x y) z)))
(* z (+ y (/ (* x y) z)))
(* z (+ y (/ (* x y) z)))
z
(* z (+ 1 (/ x z)))
(* z (+ 1 (/ x z)))
(* z (+ 1 (/ x z)))
(* y z)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* y z)
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
z
(* -1 (* z (- (* -1 (/ x z)) 1)))
(* -1 (* z (- (* -1 (/ x z)) 1)))
(* -1 (* z (- (* -1 (/ x z)) 1)))
x
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y z)
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(* y z)
(+ (* x y) (* y z))
(+ (* x y) (* y z))
(+ (* x y) (* y z))
z
(+ x z)
(+ x z)
(+ x z)
(* x (+ 1 y))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x y)
(* x (+ y (/ (* y z) x)))
(* x (+ y (/ (* y z) x)))
(* x (+ y (/ (* y z) x)))
x
(* x (+ 1 (/ z x)))
(* x (+ 1 (/ z x)))
(* x (+ 1 (/ z x)))
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
x
(* -1 (* x (- (* -1 (/ z x)) 1)))
(* -1 (* x (- (* -1 (/ z x)) 1)))
(* -1 (* x (- (* -1 (/ z x)) 1)))
Outputs
(+ x (* x y))
(fma.f64 y x x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(* x y)
(*.f64 y x)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
x
(+ x z)
(+.f64 z x)
(+ x z)
(+.f64 z x)
(+ x z)
(+.f64 z x)
(* y z)
(*.f64 z y)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* z (+ y (/ (* x y) z)))
(*.f64 (+.f64 z x) y)
(* z (+ y (/ (* x y) z)))
(*.f64 (+.f64 z x) y)
(* z (+ y (/ (* x y) z)))
(*.f64 (+.f64 z x) y)
z
(* z (+ 1 (/ x z)))
(+.f64 z x)
(* z (+ 1 (/ x z)))
(+.f64 z x)
(* z (+ 1 (/ x z)))
(+.f64 z x)
(* y z)
(*.f64 z y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(*.f64 (+.f64 z x) y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(*.f64 (+.f64 z x) y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(*.f64 (+.f64 z x) y)
z
(* -1 (* z (- (* -1 (/ x z)) 1)))
(+.f64 z x)
(* -1 (* z (- (* -1 (/ x z)) 1)))
(+.f64 z x)
(* -1 (* z (- (* -1 (/ x z)) 1)))
(+.f64 z x)
x
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y z)
(*.f64 z y)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
z
(+ x z)
(+.f64 z x)
(+ x z)
(+.f64 z x)
(+ x z)
(+.f64 z x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x y)
(*.f64 y x)
(* x (+ y (/ (* y z) x)))
(*.f64 (+.f64 z x) y)
(* x (+ y (/ (* y z) x)))
(*.f64 (+.f64 z x) y)
(* x (+ y (/ (* y z) x)))
(*.f64 (+.f64 z x) y)
x
(* x (+ 1 (/ z x)))
(+.f64 z x)
(* x (+ 1 (/ z x)))
(+.f64 z x)
(* x (+ 1 (/ z x)))
(+.f64 z x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(*.f64 (+.f64 z x) y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(*.f64 (+.f64 z x) y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(*.f64 (+.f64 z x) y)
x
(* -1 (* x (- (* -1 (/ z x)) 1)))
(+.f64 z x)
(* -1 (* x (- (* -1 (/ z x)) 1)))
(+.f64 z x)
(* -1 (* x (- (* -1 (/ z x)) 1)))
(+.f64 z x)

rewrite172.0ms (4.4%)

Memory
-9.7MiB live, 188.2MiB allocated
Rules
4 948×lower-fma.f64
4 948×lower-fma.f32
4 672×lower-*.f32
4 670×lower-*.f64
3 162×lower-pow.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0615
0915
14115
235115
3426915
0863814
Stop Event
iter limit
node limit
iter limit
Counts
3 → 245
Calls
Call 1
Inputs
(+.f64 x (*.f64 y (+.f64 z x)))
(*.f64 y (+.f64 z x))
(+.f64 z x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval58.0ms (1.5%)

Memory
9.1MiB live, 81.2MiB allocated
Compiler

Compiled 6 491 to 817 computations (87.4% saved)

prune8.0ms (0.2%)

Memory
21.6MiB live, 21.6MiB allocated
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New3295334
Fresh000
Picked101
Done000
Total3305335
Accuracy
100.0%
Counts
335 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(fma.f64 z y (fma.f64 y x x))
77.1%
(+.f64 x #s(approx (* y (+ z x)) (*.f64 z y)))
64.1%
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
61.5%
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
39.1%
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
Compiler

Compiled 56 to 54 computations (3.6% saved)

simplify7.0ms (0.2%)

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

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 z y)
cost-diff0
#s(approx (* y (+ z x)) (*.f64 z y))
cost-diff0
(+.f64 x #s(approx (* y (+ z x)) (*.f64 z y)))
cost-diff0
(+.f64 z x)
cost-diff0
(*.f64 (+.f64 z x) y)
cost-diff0
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
cost-diff0
(fma.f64 y x x)
cost-diff0
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
cost-diff0
(*.f64 z y)
cost-diff0
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
cost-diff0
(fma.f64 y x x)
cost-diff192
(fma.f64 z y (fma.f64 y x x))
Rules
96×lower-fma.f32
92×lower-fma.f64
60×lower-*.f32
56×lower-*.f64
36×lower-+.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01698
02398
13898
24898
35598
45598
56898
66898
78098
88298
98698
08694
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(fma.f64 z y (fma.f64 y x x))
z
y
(fma.f64 y x x)
x
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
(*.f64 z y)
z
y
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
(fma.f64 y x x)
y
x
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
(*.f64 (+.f64 z x) y)
(+.f64 z x)
z
x
y
(+.f64 x #s(approx (* y (+ z x)) (*.f64 z y)))
x
#s(approx (* y (+ z x)) (*.f64 z y))
(*.f64 z y)
z
y
Outputs
(fma.f64 z y (fma.f64 y x x))
(fma.f64 (+.f64 x z) y x)
z
y
(fma.f64 y x x)
(fma.f64 x y x)
x
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
#s(approx (+ x (* y (+ z x))) (*.f64 y z))
(*.f64 z y)
(*.f64 y z)
z
y
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
#s(approx (+ x (* y (+ z x))) (fma.f64 x y x))
(fma.f64 y x x)
(fma.f64 x y x)
y
x
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 x z) y))
(*.f64 (+.f64 z x) y)
(*.f64 (+.f64 x z) y)
(+.f64 z x)
(+.f64 x z)
z
x
y
(+.f64 x #s(approx (* y (+ z x)) (*.f64 z y)))
(+.f64 #s(approx (* y (+ z x)) (*.f64 y z)) x)
x
#s(approx (* y (+ z x)) (*.f64 z y))
#s(approx (* y (+ z x)) (*.f64 y z))
(*.f64 z y)
(*.f64 y z)
z
y

localize44.0ms (1.1%)

Memory
-4.0MiB live, 33.8MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0
(+.f64 x #s(approx (* y (+ z x)) (*.f64 z y)))
accuracy0
(*.f64 z y)
accuracy32.17431849635973
#s(approx (* y (+ z x)) (*.f64 z y))
accuracy0
(+.f64 z x)
accuracy0.015625
(*.f64 (+.f64 z x) y)
accuracy24.625189209159377
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
accuracy0
(fma.f64 y x x)
accuracy22.971695397819445
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
accuracy0
(*.f64 z y)
accuracy38.95756982373847
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
accuracy0
(fma.f64 y x x)
accuracy0.7538979928166806
(fma.f64 z y (fma.f64 y x x))
Samples
23.0ms256×0valid
Compiler

Compiled 81 to 13 computations (84% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 6.0ms (54.6% of total)
ival-add: 4.0ms (36.4% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series14.0ms (0.4%)

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

9 calls:

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

simplify202.0ms (5.1%)

Memory
-18.8MiB live, 139.4MiB allocated
Algorithm
egg-herbie
Rules
5 958×lower-fma.f64
5 958×lower-fma.f32
4 264×lower-*.f64
4 264×lower-*.f32
1 008×sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0841700
13001700
28351700
322281700
444181700
557391700
667151700
771621700
874391700
976291700
085051529
Stop Event
iter limit
node limit
Counts
324 → 312
Calls
Call 1
Inputs
(+ x (* x y))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(+ x (* x y))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(* y z)
(* y z)
(* y z)
(* y z)
(+ x (* x y))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(+ x (* x y))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(* x y)
(+ (* x y) (* y z))
(+ (* x y) (* y z))
(+ (* x y) (* y z))
x
(+ x z)
(+ x z)
(+ x z)
(+ x (* x y))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(* x y)
(+ (* x y) (* y z))
(+ (* x y) (* y z))
(+ (* x y) (* y z))
(* y z)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* y z)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* y z)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* y z)
(* z (+ y (/ (* x y) z)))
(* z (+ y (/ (* x y) z)))
(* z (+ y (/ (* x y) z)))
z
(* z (+ 1 (/ x z)))
(* z (+ 1 (/ x z)))
(* z (+ 1 (/ x z)))
(* y z)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* y z)
(* z (+ y (/ (* x y) z)))
(* z (+ y (/ (* x y) z)))
(* z (+ y (/ (* x y) z)))
(* y z)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* y z)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* y z)
(* y z)
(* y z)
(* y z)
(* y z)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* y z)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* y z)
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
z
(* -1 (* z (- (* -1 (/ x z)) 1)))
(* -1 (* z (- (* -1 (/ x z)) 1)))
(* -1 (* z (- (* -1 (/ x z)) 1)))
(* y z)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* y z)
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
x
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
x
(+ x (* x y))
(+ x (* x y))
(+ x (* x y))
x
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
(* y z)
(* y z)
(* y z)
(* y z)
x
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
x
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
x
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* x y)
(* y (+ x (/ x y)))
(* y (+ x (/ x y)))
(* y (+ x (/ x y)))
(* y (+ x z))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* y z)
(* y z)
(* y z)
(* y z)
(* y (+ x z))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* y (+ x z))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* -1 (* y (+ (* -1 x) (* -1 z))))
(* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))
(* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))
(* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))
(* y (+ x z))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* y z)
(* y z)
(* y z)
(* y z)
(* y (+ x z))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* y (+ x z))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y (+ x z))
(* y z)
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(* x (+ 1 y))
(* x (+ 1 y))
(* x (+ 1 y))
(* x (+ 1 y))
(* y z)
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(* y z)
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(* y z)
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(* y z)
(+ (* x y) (* y z))
(+ (* x y) (* y z))
(+ (* x y) (* y z))
z
(+ x z)
(+ x z)
(+ x z)
(* y z)
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(* y z)
(+ (* x y) (* y z))
(+ (* x y) (* y z))
(+ (* x y) (* y z))
(* x (+ 1 y))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 y))
(* x (+ 1 y))
(* x (+ 1 y))
(* x (+ 1 y))
(* x (+ 1 y))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 y))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 y))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x y)
(* x (+ y (/ (* y z) x)))
(* x (+ y (/ (* y z) x)))
(* x (+ y (/ (* y z) x)))
x
(* x (+ 1 (/ z x)))
(* x (+ 1 (/ z x)))
(* x (+ 1 (/ z x)))
(* x (+ 1 y))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x y)
(* x (+ y (/ (* y z) x)))
(* x (+ y (/ (* y z) x)))
(* x (+ y (/ (* y z) x)))
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
x
(* -1 (* x (- (* -1 (/ z x)) 1)))
(* -1 (* x (- (* -1 (/ z x)) 1)))
(* -1 (* x (- (* -1 (/ z x)) 1)))
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
Outputs
(+ x (* x y))
(fma.f64 y x x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* x y))
(fma.f64 y x x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(+ x (* x y))
(fma.f64 y x x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* x y))
(fma.f64 y x x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(* x y)
(*.f64 y x)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
x
(+ x z)
(+.f64 z x)
(+ x z)
(+.f64 z x)
(+ x z)
(+.f64 z x)
(+ x (* x y))
(fma.f64 y x x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(* x y)
(*.f64 y x)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
(* y z)
(*.f64 z y)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* z (+ y (/ (* x y) z)))
(*.f64 (+.f64 z x) y)
(* z (+ y (/ (* x y) z)))
(*.f64 (+.f64 z x) y)
(* z (+ y (/ (* x y) z)))
(*.f64 (+.f64 z x) y)
z
(* z (+ 1 (/ x z)))
(+.f64 z x)
(* z (+ 1 (/ x z)))
(+.f64 z x)
(* z (+ 1 (/ x z)))
(+.f64 z x)
(* y z)
(*.f64 z y)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* z (+ y (/ (* x y) z)))
(*.f64 (+.f64 z x) y)
(* z (+ y (/ (* x y) z)))
(*.f64 (+.f64 z x) y)
(* z (+ y (/ (* x y) z)))
(*.f64 (+.f64 z x) y)
(* y z)
(*.f64 z y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(*.f64 (+.f64 z x) y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(*.f64 (+.f64 z x) y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(*.f64 (+.f64 z x) y)
z
(* -1 (* z (- (* -1 (/ x z)) 1)))
(+.f64 z x)
(* -1 (* z (- (* -1 (/ x z)) 1)))
(+.f64 z x)
(* -1 (* z (- (* -1 (/ x z)) 1)))
(+.f64 z x)
(* y z)
(*.f64 z y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(*.f64 (+.f64 z x) y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(*.f64 (+.f64 z x) y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (* x y) z)))))
(*.f64 (+.f64 z x) y)
x
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
x
(+ x (* x y))
(fma.f64 y x x)
(+ x (* x y))
(fma.f64 y x x)
(+ x (* x y))
(fma.f64 y x x)
x
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
x
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
x
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
x
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* x y)
(*.f64 y x)
(* y (+ x (/ x y)))
(fma.f64 y x x)
(* y (+ x (/ x y)))
(fma.f64 y x x)
(* y (+ x (/ x y)))
(fma.f64 y x x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* -1 (* y (+ (* -1 x) (* -1 z))))
(*.f64 (+.f64 z x) y)
(* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))
(fma.f64 (+.f64 z x) y x)
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))
(fma.f64 y x x)
(* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))
(fma.f64 y x x)
(* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))
(fma.f64 y x x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y z)
(*.f64 z y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y z)
(*.f64 z y)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 y))
(fma.f64 y x x)
(* y z)
(*.f64 z y)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
z
(+ x z)
(+.f64 z x)
(+ x z)
(+.f64 z x)
(+ x z)
(+.f64 z x)
(* y z)
(*.f64 z y)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
(+ (* x y) (* y z))
(*.f64 (+.f64 z x) y)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x y)
(*.f64 y x)
(* x (+ y (/ (* y z) x)))
(*.f64 (+.f64 z x) y)
(* x (+ y (/ (* y z) x)))
(*.f64 (+.f64 z x) y)
(* x (+ y (/ (* y z) x)))
(*.f64 (+.f64 z x) y)
x
(* x (+ 1 (/ z x)))
(+.f64 z x)
(* x (+ 1 (/ z x)))
(+.f64 z x)
(* x (+ 1 (/ z x)))
(+.f64 z x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x y)
(*.f64 y x)
(* x (+ y (/ (* y z) x)))
(*.f64 (+.f64 z x) y)
(* x (+ y (/ (* y z) x)))
(*.f64 (+.f64 z x) y)
(* x (+ y (/ (* y z) x)))
(*.f64 (+.f64 z x) y)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(*.f64 (+.f64 z x) y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(*.f64 (+.f64 z x) y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(*.f64 (+.f64 z x) y)
x
(* -1 (* x (- (* -1 (/ z x)) 1)))
(+.f64 z x)
(* -1 (* x (- (* -1 (/ z x)) 1)))
(+.f64 z x)
(* -1 (* x (- (* -1 (/ z x)) 1)))
(+.f64 z x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(*.f64 (+.f64 z x) y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(*.f64 (+.f64 z x) y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* y z) x)))))
(*.f64 (+.f64 z x) y)

rewrite193.0ms (4.9%)

Memory
28.1MiB live, 284.3MiB allocated
Rules
5 660×lower-fma.f32
5 656×lower-fma.f64
5 262×lower-*.f32
5 258×lower-*.f64
4 144×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01678
02378
19378
274578
0822774
Stop Event
iter limit
node limit
iter limit
Counts
10 → 280
Calls
Call 1
Inputs
(fma.f64 z y (fma.f64 y x x))
(fma.f64 y x x)
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
(*.f64 z y)
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
(*.f64 (+.f64 z x) y)
(+.f64 z x)
(+.f64 x #s(approx (* y (+ z x)) (*.f64 z y)))
#s(approx (* y (+ z x)) (*.f64 z 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>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval84.0ms (2.1%)

Memory
-15.1MiB live, 163.2MiB allocated
Compiler

Compiled 9 825 to 991 computations (89.9% saved)

prune20.0ms (0.5%)

Memory
20.9MiB live, 57.6MiB allocated
Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New6902692
Fresh000
Picked145
Done000
Total6916697
Accuracy
100.0%
Counts
697 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.3%
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 y x)))
77.1%
(+.f64 x #s(approx (* y (+ z x)) (*.f64 z y)))
64.1%
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
61.5%
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
39.1%
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
26.2%
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
Compiler

Compiled 33 to 34 computations (-3% saved)

simplify19.0ms (0.5%)

Memory
-44.3MiB live, 7.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 y x)
cost-diff0
#s(approx (+ (* y x) x) (*.f64 y x))
cost-diff0
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 y x)))
cost-diff0
(*.f64 y x)
cost-diff0
#s(approx (+ (* y x) x) (*.f64 y x))
cost-diff0
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
Rules
100×lower-fma.f32
98×lower-fma.f64
60×lower-*.f32
58×lower-*.f64
36×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01258
01558
12858
23658
34758
44758
56058
66058
77258
87458
97858
07853
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
#s(approx (+ (* y x) x) (*.f64 y x))
(*.f64 y x)
y
x
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 y x)))
z
y
#s(approx (+ (* y x) x) (*.f64 y x))
(*.f64 y x)
x
Outputs
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
#s(approx (+ (* y x) x) (*.f64 y x))
(*.f64 y x)
y
x
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 y x)))
z
y
#s(approx (+ (* y x) x) (*.f64 y x))
(*.f64 y x)
x

localize28.0ms (0.7%)

Memory
3.7MiB live, 40.5MiB allocated
Localize:

Found 6 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 y x)
accuracy0.7538979928166806
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 y x)))
accuracy33.9033662337983
#s(approx (+ (* y x) x) (*.f64 y x))
accuracy0
(*.f64 y x)
accuracy22.971695397819445
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
accuracy33.9033662337983
#s(approx (+ (* y x) x) (*.f64 y x))
Samples
18.0ms256×0valid
Compiler

Compiled 39 to 12 computations (69.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 5.0ms (53.6% of total)
ival-add: 4.0ms (42.9% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.2%)

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

9 calls:

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

simplify262.0ms (6.7%)

Memory
-21.7MiB live, 135.7MiB allocated
Algorithm
egg-herbie
Rules
9 644×lower-fma.f64
9 644×lower-fma.f32
3 242×lower-*.f64
3 242×lower-*.f32
1 326×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
062632
1213632
2591632
31466632
43528632
55473632
08133551
Stop Event
iter limit
node limit
Counts
120 → 117
Calls
Call 1
Inputs
(+ x (* x y))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(+ x (* x y))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(+ x (+ (* x y) (* y z)))
(* y z)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* y z)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(* y z)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* y z)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
x
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
x
(+ x (* x y))
(+ x (* x y))
(+ x (* x y))
(* x y)
(* x y)
(* x y)
(* x y)
x
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
(+ x (* y (+ x z)))
(* y (+ x z))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* x y)
(* y (+ x (/ x y)))
(* y (+ x (/ x y)))
(* y (+ x (/ x y)))
(* x y)
(* x y)
(* x y)
(* x y)
(* y (+ x z))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* y (+ x (+ z (/ x y))))
(* y (+ x z))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 z))))
(* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))
(* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))
(* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))
(* y z)
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(* x (+ 1 y))
(* x (+ 1 y))
(* x (+ 1 y))
(* x (+ 1 y))
(* x y)
(* x y)
(* x y)
(* x y)
(* y z)
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(+ (* x (+ 1 y)) (* y z))
(* x (+ 1 y))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 y))
(* x (+ 1 y))
(* x (+ 1 y))
(* x (+ 1 y))
(* x y)
(* x y)
(* x y)
(* x y)
(* x (+ 1 y))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* x (+ 1 (+ y (/ (* y z) x))))
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (* -1 y) 1)))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* x (- (* -1 y) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
Outputs
(+ x (* x y))
(fma.f64 y x x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* x y))
(fma.f64 y x x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(+ x (+ (* x y) (* y z)))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* z (+ y (+ (/ x z) (/ (* x y) z))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* z (+ (* -1 y) (* -1 (/ (+ x (* x y)) z)))))
(fma.f64 (+.f64 z x) y x)
x
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
x
(+ x (* x y))
(fma.f64 y x x)
(+ x (* x y))
(fma.f64 y x x)
(+ x (* x y))
(fma.f64 y x x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
x
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(+ x (* y (+ x z)))
(fma.f64 (+.f64 z x) y x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* x y)
(*.f64 y x)
(* y (+ x (/ x y)))
(fma.f64 y x x)
(* y (+ x (/ x y)))
(fma.f64 y x x)
(* y (+ x (/ x y)))
(fma.f64 y x x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x (+ z (/ x y))))
(fma.f64 (+.f64 z x) y x)
(* y (+ x z))
(*.f64 (+.f64 z x) y)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 (+ x z)) (* -1 (/ x y)))))
(fma.f64 (+.f64 z x) y x)
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))
(fma.f64 y x x)
(* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))
(fma.f64 y x x)
(* -1 (* y (+ (* -1 x) (* -1 (/ x y)))))
(fma.f64 y x x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 (* y (+ (* -1 x) (* -1 z))))
(*.f64 (+.f64 z x) y)
(* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* y (+ (* -1 x) (+ (* -1 z) (* -1 (/ x y))))))
(fma.f64 (+.f64 z x) y x)
(* y z)
(*.f64 z y)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* y z)
(*.f64 z y)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(+ (* x (+ 1 y)) (* y z))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x (+ 1 y))
(fma.f64 y x x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* x (+ 1 (+ y (/ (* y z) x))))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 (* x (- (* -1 y) 1)))
(fma.f64 y x x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)
(* -1 (* x (- (+ (* -1 y) (* -1 (/ (* y z) x))) 1)))
(fma.f64 (+.f64 z x) y x)

rewrite184.0ms (4.7%)

Memory
16.6MiB live, 208.5MiB allocated
Rules
7 968×lower-fma.f32
7 966×lower-fma.f64
5 442×lower-*.f32
5 440×lower-*.f64
3 122×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01241
01541
17341
257141
3698941
0856237
Stop Event
iter limit
node limit
iter limit
Counts
4 → 74
Calls
Call 1
Inputs
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
#s(approx (+ (* y x) x) (*.f64 y x))
(*.f64 y x)
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 y x)))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval29.0ms (0.8%)

Memory
15.9MiB live, 52.3MiB allocated
Compiler

Compiled 3 487 to 226 computations (93.5% saved)

prune16.0ms (0.4%)

Memory
-26.1MiB live, 25.2MiB allocated
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New2410241
Fresh000
Picked022
Done044
Total2416247
Accuracy
100.0%
Counts
247 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.3%
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 y x)))
77.1%
(+.f64 x #s(approx (* y (+ z x)) (*.f64 z y)))
64.1%
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
61.5%
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
39.1%
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
26.2%
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
Compiler

Compiled 80 to 53 computations (33.8% saved)

regimes13.0ms (0.3%)

Memory
28.3MiB live, 28.3MiB allocated
Counts
8 → 1
Calls
Call 1
Inputs
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
#s(approx (+ x (* y (+ z x))) (*.f64 z y))
#s(approx (+ x (* y (+ z x))) (fma.f64 y x x))
#s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))
(+.f64 x #s(approx (* y (+ z x)) (*.f64 z y)))
(+.f64 x (*.f64 y (+.f64 z x)))
(fma.f64 z y #s(approx (+ (* y x) x) (*.f64 y x)))
(fma.f64 z y (fma.f64 y x x))
Outputs
(+.f64 x (*.f64 y (+.f64 z x)))
Calls

4 calls:

3.0ms
z
3.0ms
x
3.0ms
(+.f64 x (*.f64 y (+.f64 z x)))
3.0ms
y
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1z
100.0%1(+.f64 x (*.f64 y (+.f64 z x)))
Compiler

Compiled 10 to 15 computations (-50% saved)

regimes17.0ms (0.4%)

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

4 calls:

9.0ms
(+.f64 x (*.f64 y (+.f64 z x)))
2.0ms
y
2.0ms
x
2.0ms
z
Results
AccuracySegmentsBranch
87.0%3x
99.1%3y
89.3%3z
85.8%3(+.f64 x (*.f64 y (+.f64 z x)))
Compiler

Compiled 10 to 15 computations (-50% saved)

regimes12.0ms (0.3%)

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

4 calls:

5.0ms
(+.f64 x (*.f64 y (+.f64 z x)))
2.0ms
x
2.0ms
y
2.0ms
z
Results
AccuracySegmentsBranch
70.6%3(+.f64 x (*.f64 y (+.f64 z x)))
82.8%3x
80.3%3z
85.4%3y
Compiler

Compiled 10 to 15 computations (-50% saved)

regimes6.0ms (0.2%)

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

3 calls:

2.0ms
y
2.0ms
x
2.0ms
z
Results
AccuracySegmentsBranch
76.8%3z
78.6%3x
72.9%5y
Compiler

Compiled 3 to 9 computations (-200% saved)

regimes7.0ms (0.2%)

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

4 calls:

2.0ms
x
2.0ms
y
2.0ms
(+.f64 x (*.f64 y (+.f64 z x)))
2.0ms
z
Results
AccuracySegmentsBranch
46.1%3y
41.8%2(+.f64 x (*.f64 y (+.f64 z x)))
51.3%3z
49.0%3x
Compiler

Compiled 10 to 15 computations (-50% saved)

regimes10.0ms (0.2%)

Memory
-23.3MiB live, 14.6MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

4 calls:

6.0ms
y
1.0ms
z
1.0ms
x
1.0ms
(+.f64 x (*.f64 y (+.f64 z x)))
Results
AccuracySegmentsBranch
26.2%1(+.f64 x (*.f64 y (+.f64 z x)))
26.2%1y
26.2%1x
26.2%1z
Compiler

Compiled 10 to 15 computations (-50% saved)

bsearch57.0ms (1.4%)

Memory
17.0MiB live, 70.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
42.0ms
0.005637458655620159
3.2867663204374495
12.0ms
-6.838565519232254e+30
-3.3322948949988894e+20
Samples
44.0ms288×0valid
Compiler

Compiled 226 to 264 computations (-16.8% saved)

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

bsearch177.0ms (4.5%)

Memory
-18.8MiB live, 18.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
11133974.239838857
12933643715430967000.0
163.0ms
-1.6117402363593178e-114
-8.07965032098545e-117
Samples
165.0ms272×0valid
Compiler

Compiled 197 to 233 computations (-18.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 159.0ms
ival-mult: 156.0ms (98.3% of total)
ival-add: 3.0ms (1.9% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch14.0ms (0.4%)

Memory
15.6MiB live, 15.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
8.0ms
5.4888061995200045e-154
7.177955419223845e-152
4.0ms
-3.832107951222511e-46
-3.185809024433563e-46
Samples
6.0ms160×0valid
Compiler

Compiled 100 to 132 computations (-32% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-add: 2.0ms (71.3% of total)
ival-mult: 1.0ms (35.7% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch39.0ms (1%)

Memory
0.7MiB live, 37.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
7.0ms
1.192540866466241e+34
5.23384390476211e+34
29.0ms
-3.399854549202716e-10
-9.420517239334003e-17
Samples
10.0ms240×0valid
Compiler

Compiled 145 to 207 computations (-42.8% saved)

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

simplify53.0ms (1.3%)

Memory
-26.4MiB live, 56.7MiB allocated
Algorithm
egg-herbie
Rules
*-commutative-binary64-*.f64
+-commutative-binary64-+.f64
1-exp-binary32-exp.f32
1-exp-binary64-exp.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046205
155205
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 x (*.f64 y (+.f64 z x)))
(if (<=.f64 y #s(literal -340000000000000000000 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y)) (if (<=.f64 y #s(literal 1 binary64)) (+.f64 x #s(approx (* y (+ z x)) (*.f64 z y))) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))))
(if (<=.f64 y #s(literal -554533938824163/346583711765101857447301773017885462929554634421977071896309947576827663475703202879996800763017447262173901370175446478621769728 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y)) (if (<=.f64 y #s(literal 12500000 binary64)) #s(approx (+ x (* y (+ z x))) (fma.f64 y x x)) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))))
(if (<=.f64 x #s(literal -8484632873687469/25711008708143844408671393477458601640355247900524685364822016 binary64)) #s(approx (+ x (* y (+ z x))) (fma.f64 y x x)) (if (<=.f64 x #s(literal 914006524761467/14742040721959145907193572581985425355144223517251720423344555860334469384344331453461432520225229560708860839963921269139728846210643721220943102544658968920505450496 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 z y)) #s(approx (+ x (* y (+ z x))) (fma.f64 y x x))))
(if (<=.f64 z #s(literal -3143773488566009/20282409603651670423947251286016 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 z y)) (if (<=.f64 z #s(literal 11999999999999999346902771844513792 binary64)) #s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x))) #s(approx (+ x (* y (+ z x))) (*.f64 z y))))
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))
Outputs
(+.f64 x (*.f64 y (+.f64 z x)))
(+.f64 (*.f64 (+.f64 z x) y) x)
(if (<=.f64 y #s(literal -340000000000000000000 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y)) (if (<=.f64 y #s(literal 1 binary64)) (+.f64 x #s(approx (* y (+ z x)) (*.f64 z y))) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))))
(if (<=.f64 y #s(literal -340000000000000000000 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y)) (if (<=.f64 y #s(literal 1 binary64)) (+.f64 #s(approx (* y (+ z x)) (*.f64 z y)) x) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))))
(if (<=.f64 y #s(literal -554533938824163/346583711765101857447301773017885462929554634421977071896309947576827663475703202879996800763017447262173901370175446478621769728 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y)) (if (<=.f64 y #s(literal 12500000 binary64)) #s(approx (+ x (* y (+ z x))) (fma.f64 y x x)) #s(approx (+ x (* y (+ z x))) (*.f64 (+.f64 z x) y))))
(if (<=.f64 x #s(literal -8484632873687469/25711008708143844408671393477458601640355247900524685364822016 binary64)) #s(approx (+ x (* y (+ z x))) (fma.f64 y x x)) (if (<=.f64 x #s(literal 914006524761467/14742040721959145907193572581985425355144223517251720423344555860334469384344331453461432520225229560708860839963921269139728846210643721220943102544658968920505450496 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 z y)) #s(approx (+ x (* y (+ z x))) (fma.f64 y x x))))
(if (<=.f64 z #s(literal -3143773488566009/20282409603651670423947251286016 binary64)) #s(approx (+ x (* y (+ z x))) (*.f64 z y)) (if (<=.f64 z #s(literal 11999999999999999346902771844513792 binary64)) #s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x))) #s(approx (+ x (* y (+ z x))) (*.f64 z y))))
#s(approx (+ x (* y (+ z x))) #s(approx (+ (* y x) x) (*.f64 y x)))

soundness921.0ms (23.5%)

Memory
19.3MiB live, 286.6MiB allocated
Rules
6 302×lower-fma.f64
6 302×lower-fma.f32
5 958×lower-fma.f64
5 958×lower-fma.f32
4 264×lower-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
070452
1249452
2731452
32093452
44312452
55677452
66804452
77667452
08057422
0841700
13001700
28351700
322281700
444181700
557391700
667151700
771621700
874391700
976291700
085051529
Stop Event
done
iter limit
node limit
iter limit
node limit
Compiler

Compiled 143 to 85 computations (40.6% saved)

preprocess204.0ms (5.2%)

Memory
16.6MiB live, 103.7MiB allocated
Compiler

Compiled 226 to 92 computations (59.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...