Linear.Quaternion:$c/ from linear-1.19.1.3, C

Time bar (total: 5.8s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

Memory
1.2MiB live, 1.2MiB 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 17 to 11 computations (35.3% saved)

sample2.0s (34.6%)

Memory
37.3MiB live, 1 907.4MiB allocated
Samples
918.0ms5 720×0valid
638.0ms2 498×1valid
6.0ms38×2valid
Precisions
Click to see histograms. Total time spent on operations: 1.0s
ival-mult: 698.0ms (66.7% of total)
ival-sub: 176.0ms (16.8% of total)
ival-add: 101.0ms (9.7% of total)
adjust: 60.0ms (5.7% of total)
ival-true: 7.0ms (0.7% of total)
ival-assert: 3.0ms (0.3% of total)
Bogosity

explain265.0ms (4.6%)

Memory
-52.1MiB live, 213.7MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
820-0-(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
120-0-(+.f64 (*.f64 x y) (*.f64 y y))
70-0-(-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z))
00-0-z
00-0-(*.f64 x y)
00-0-y
00-0-(*.f64 y y)
00-0-(*.f64 y z)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))nan-rescue530
(-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z))overflow70
(+.f64 (*.f64 x y) (*.f64 y y))overflow63
(*.f64 y z)overflow23
(*.f64 y y)overflow57
(*.f64 x y)overflow30
(*.f64 y y)overflow57
-.f64(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))cancellation290
+.f64(+.f64 (*.f64 x y) (*.f64 y y))nan-rescue120
(*.f64 x y)overflow30
(*.f64 y y)overflow57
-.f64(-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z))nan-rescue70
(+.f64 (*.f64 x y) (*.f64 y y))overflow63
(*.f64 y y)overflow57
(*.f64 x y)overflow30
(*.f64 y z)overflow23
Confusion
Predicted +Predicted -
+870
-0169
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+8700
-00169
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0169
175
210
32
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
59.0ms372×0valid
19.0ms138×1valid
0.0ms2valid
Compiler

Compiled 109 to 31 computations (71.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-mult: 13.0ms (52.4% of total)
ival-sub: 5.0ms (20.2% of total)
ival-add: 3.0ms (12.1% of total)
adjust: 3.0ms (12.1% of total)
ival-true: 1.0ms (4% of total)
ival-assert: 0.0ms (0% of total)

preprocess313.0ms (5.4%)

Memory
32.0MiB live, 264.8MiB allocated
Algorithm
egg-herbie
Rules
13 904×lower-fma.f64
13 904×lower-fma.f32
2 508×associate-+r-
2 064×lower-+.f32
2 064×lower--.f32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
040121
116792
249982
3195547
4490547
5583047
6630547
7641747
8645847
9646547
10690047
11733247
12744047
13747647
14751247
15751247
0915
01513
13311
2839
32115
45365
518115
636485
740945
845725
949025
1049925
1155885
1269125
1376305
1478725
080085
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
Outputs
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
(*.f64 (-.f64 x z) y)
Symmetry

(negabs y)

Compiler

Compiled 15 to 9 computations (40% saved)

eval0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune1.0ms (0%)

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

Compiled 15 to 9 computations (40% saved)

simplify173.0ms (3%)

Memory
-37.2MiB live, 203.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x y)
cost-diff320
(+.f64 (*.f64 x y) (*.f64 y y))
cost-diff320
(-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z))
cost-diff704
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
Rules
13 904×lower-fma.f64
13 904×lower-fma.f32
2 064×lower-+.f32
2 064×lower--.f32
2 062×lower-+.f64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0945
01539
13335
28333
321129
453629
5181129
6364829
7409429
8457229
9490229
10499229
11558829
12691229
13763029
14787229
0800829
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
(-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z))
(+.f64 (*.f64 x y) (*.f64 y y))
(*.f64 x y)
x
y
(*.f64 y y)
(*.f64 y z)
z
Outputs
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
(*.f64 (-.f64 x z) y)
(-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z))
(*.f64 (-.f64 (+.f64 y x) z) y)
(+.f64 (*.f64 x y) (*.f64 y y))
(*.f64 (+.f64 y x) y)
(*.f64 x y)
(*.f64 y x)
x
y
(*.f64 y y)
(*.f64 y z)
(*.f64 z y)
z

localize48.0ms (0.8%)

Memory
13.4MiB live, 91.9MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x y)
accuracy1.3476500574906176
(+.f64 (*.f64 x y) (*.f64 y y))
accuracy1.6054604933208232
(-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z))
accuracy18.215964672291047
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
Samples
28.0ms69×1valid
13.0ms186×0valid
0.0ms2valid
Compiler

Compiled 47 to 11 computations (76.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 7.0ms (54.3% of total)
ival-sub: 3.0ms (23.3% of total)
ival-add: 1.0ms (7.8% of total)
adjust: 1.0ms (7.8% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series10.0ms (0.2%)

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

9 calls:

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

simplify131.0ms (2.3%)

Memory
-27.4MiB live, 170.1MiB allocated
Algorithm
egg-herbie
Rules
8 148×lower-fma.f64
8 148×lower-fma.f32
2 966×lower-*.f64
2 966×lower-*.f32
1 494×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
075789
1247707
2703671
32588671
46888671
08210659
Stop Event
iter limit
node limit
Counts
120 → 120
Calls
Call 1
Inputs
(* x y)
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(+ (* x y) (pow y 2))
(+ (* -1 (* y z)) (+ (* x y) (pow y 2)))
(+ (* -1 (* y z)) (+ (* x y) (pow y 2)))
(+ (* -1 (* y z)) (+ (* x y) (pow y 2)))
(* -1 (* y z))
(* z (- (/ (* x y) z) y))
(* z (- (/ (* x y) z) y))
(* z (- (/ (* x y) z) y))
(* -1 (* y z))
(* z (- (+ (/ (* x y) z) (/ (pow y 2) z)) y))
(* z (- (+ (/ (* x y) z) (/ (pow y 2) z)) y))
(* z (- (+ (/ (* x y) z) (/ (pow y 2) z)) y))
(* -1 (* y z))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 (* y z))
(* -1 (* z (- (* -1 (/ (+ (* x y) (pow y 2)) z)) (* -1 y))))
(* -1 (* z (- (* -1 (/ (+ (* x y) (pow y 2)) z)) (* -1 y))))
(* -1 (* z (- (* -1 (/ (+ (* x y) (pow y 2)) z)) (* -1 y))))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- (+ x y) z))
(* y (- (+ x y) z))
(* y (- (+ x y) z))
(* x y)
(* y (+ x y))
(* y (+ x y))
(* y (+ x y))
(* x y)
(* x y)
(* x y)
(* x y)
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(pow y 2)
(* (pow y 2) (- (+ 1 (/ x y)) (/ z y)))
(* (pow y 2) (- (+ 1 (/ x y)) (/ z y)))
(* (pow y 2) (- (+ 1 (/ x y)) (/ z y)))
(pow y 2)
(* (pow y 2) (+ 1 (/ x y)))
(* (pow y 2) (+ 1 (/ x y)))
(* (pow y 2) (+ 1 (/ x y)))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y (- (* -1 x) (* -1 z))))
(* -1 (* y (- (* -1 x) (* -1 z))))
(* -1 (* y (- (* -1 x) (* -1 z))))
(* -1 (* y (- (* -1 x) (* -1 z))))
(pow y 2)
(* (pow y 2) (+ 1 (* -1 (/ (- (* -1 x) (* -1 z)) y))))
(* (pow y 2) (+ 1 (* -1 (/ (- (* -1 x) (* -1 z)) y))))
(* (pow y 2) (+ 1 (* -1 (/ (- (* -1 x) (* -1 z)) y))))
(pow y 2)
(* (pow y 2) (+ 1 (/ x y)))
(* (pow y 2) (+ 1 (/ x y)))
(* (pow y 2) (+ 1 (/ x y)))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y z))
(- (* x y) (* y z))
(- (* x y) (* y z))
(- (* x y) (* y z))
(- (pow y 2) (* y z))
(- (+ (* x y) (pow y 2)) (* y z))
(- (+ (* x y) (pow y 2)) (* y z))
(- (+ (* x y) (pow y 2)) (* y z))
(pow y 2)
(+ (* x y) (pow y 2))
(+ (* x y) (pow y 2))
(+ (* x y) (pow y 2))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
(* x y)
(* x (- (+ y (/ (pow y 2) x)) (/ (* y z) x)))
(* x (- (+ y (/ (pow y 2) x)) (/ (* y z) x)))
(* x (- (+ y (/ (pow y 2) x)) (/ (* y z) x)))
(* x y)
(* x (+ y (/ (pow y 2) x)))
(* x (+ y (/ (pow y 2) x)))
(* x (+ y (/ (pow y 2) x)))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (pow y 2) (* y z)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (pow y 2) (* y z)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (pow y 2) (* y z)) x)))))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (pow y 2) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (pow y 2) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (pow y 2) x)))))
(* x y)
(* x y)
(* x y)
(* x y)
Outputs
(* x y)
(*.f64 y x)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* x y) (pow y 2))
(*.f64 (+.f64 y x) y)
(+ (* -1 (* y z)) (+ (* x y) (pow y 2)))
(*.f64 (-.f64 (+.f64 y x) z) y)
(+ (* -1 (* y z)) (+ (* x y) (pow y 2)))
(*.f64 (-.f64 (+.f64 y x) z) y)
(+ (* -1 (* y z)) (+ (* x y) (pow y 2)))
(*.f64 (-.f64 (+.f64 y x) z) y)
(* -1 (* y z))
(*.f64 (neg.f64 z) y)
(* z (- (/ (* x y) z) y))
(*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) z)
(* z (- (/ (* x y) z) y))
(*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) z)
(* z (- (/ (* x y) z) y))
(*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) z)
(* -1 (* y z))
(*.f64 (neg.f64 z) y)
(* z (- (+ (/ (* x y) z) (/ (pow y 2) z)) y))
(*.f64 (*.f64 y (-.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64))) z)
(* z (- (+ (/ (* x y) z) (/ (pow y 2) z)) y))
(*.f64 (*.f64 y (-.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64))) z)
(* z (- (+ (/ (* x y) z) (/ (pow y 2) z)) y))
(*.f64 (*.f64 y (-.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64))) z)
(* -1 (* y z))
(*.f64 (neg.f64 z) y)
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) z)
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) z)
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(*.f64 (-.f64 (/.f64 (*.f64 y x) z) y) z)
(* -1 (* y z))
(*.f64 (neg.f64 z) y)
(* -1 (* z (- (* -1 (/ (+ (* x y) (pow y 2)) z)) (* -1 y))))
(*.f64 (*.f64 y (-.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64))) z)
(* -1 (* z (- (* -1 (/ (+ (* x y) (pow y 2)) z)) (* -1 y))))
(*.f64 (*.f64 y (-.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64))) z)
(* -1 (* z (- (* -1 (/ (+ (* x y) (pow y 2)) z)) (* -1 y))))
(*.f64 (*.f64 y (-.f64 (/.f64 (+.f64 y x) z) #s(literal 1 binary64))) z)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- (+ x y) z))
(*.f64 (-.f64 (+.f64 y x) z) y)
(* y (- (+ x y) z))
(*.f64 (-.f64 (+.f64 y x) z) y)
(* y (- (+ x y) z))
(*.f64 (-.f64 (+.f64 y x) z) y)
(* x y)
(*.f64 y x)
(* y (+ x y))
(*.f64 (+.f64 y x) y)
(* y (+ x y))
(*.f64 (+.f64 y x) y)
(* y (+ x y))
(*.f64 (+.f64 y x) y)
(* 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 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(pow y 2)
(*.f64 y y)
(* (pow y 2) (- (+ 1 (/ x y)) (/ z y)))
(*.f64 (fma.f64 (/.f64 (-.f64 x z) y) y y) y)
(* (pow y 2) (- (+ 1 (/ x y)) (/ z y)))
(*.f64 (fma.f64 (/.f64 (-.f64 x z) y) y y) y)
(* (pow y 2) (- (+ 1 (/ x y)) (/ z y)))
(*.f64 (fma.f64 (/.f64 (-.f64 x z) y) y y) y)
(pow y 2)
(*.f64 y y)
(* (pow y 2) (+ 1 (/ x y)))
(*.f64 (fma.f64 (/.f64 x y) y y) y)
(* (pow y 2) (+ 1 (/ x y)))
(*.f64 (fma.f64 (/.f64 x y) y y) y)
(* (pow y 2) (+ 1 (/ x y)))
(*.f64 (fma.f64 (/.f64 x y) y y) y)
(* 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 x z) y)
(* -1 (* y (- (* -1 x) (* -1 z))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (- (* -1 x) (* -1 z))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (- (* -1 x) (* -1 z))))
(*.f64 (-.f64 x z) y)
(pow y 2)
(*.f64 y y)
(* (pow y 2) (+ 1 (* -1 (/ (- (* -1 x) (* -1 z)) y))))
(*.f64 (fma.f64 (/.f64 (-.f64 x z) y) y y) y)
(* (pow y 2) (+ 1 (* -1 (/ (- (* -1 x) (* -1 z)) y))))
(*.f64 (fma.f64 (/.f64 (-.f64 x z) y) y y) y)
(* (pow y 2) (+ 1 (* -1 (/ (- (* -1 x) (* -1 z)) y))))
(*.f64 (fma.f64 (/.f64 (-.f64 x z) y) y y) y)
(pow y 2)
(*.f64 y y)
(* (pow y 2) (+ 1 (/ x y)))
(*.f64 (fma.f64 (/.f64 x y) y y) y)
(* (pow y 2) (+ 1 (/ x y)))
(*.f64 (fma.f64 (/.f64 x y) y y) y)
(* (pow y 2) (+ 1 (/ x y)))
(*.f64 (fma.f64 (/.f64 x y) y y) y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 (* y z))
(*.f64 (neg.f64 z) y)
(- (* x y) (* y z))
(*.f64 (-.f64 x z) y)
(- (* x y) (* y z))
(*.f64 (-.f64 x z) y)
(- (* x y) (* y z))
(*.f64 (-.f64 x z) y)
(- (pow y 2) (* y z))
(*.f64 (-.f64 y z) y)
(- (+ (* x y) (pow y 2)) (* y z))
(*.f64 (-.f64 (+.f64 y x) z) y)
(- (+ (* x y) (pow y 2)) (* y z))
(*.f64 (-.f64 (+.f64 y x) z) y)
(- (+ (* x y) (pow y 2)) (* y z))
(*.f64 (-.f64 (+.f64 y x) z) y)
(pow y 2)
(*.f64 y y)
(+ (* x y) (pow y 2))
(*.f64 (+.f64 y x) y)
(+ (* x y) (pow y 2))
(*.f64 (+.f64 y x) y)
(+ (* x y) (pow y 2))
(*.f64 (+.f64 y x) y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(* x (- (+ y (/ (pow y 2) x)) (/ (* y z) x)))
(*.f64 (-.f64 (+.f64 y x) z) y)
(* x (- (+ y (/ (pow y 2) x)) (/ (* y z) x)))
(*.f64 (-.f64 (+.f64 y x) z) y)
(* x (- (+ y (/ (pow y 2) x)) (/ (* y z) x)))
(*.f64 (-.f64 (+.f64 y x) z) y)
(* x y)
(*.f64 y x)
(* x (+ y (/ (pow y 2) x)))
(*.f64 (+.f64 y x) y)
(* x (+ y (/ (pow y 2) x)))
(*.f64 (+.f64 y x) y)
(* x (+ y (/ (pow y 2) x)))
(*.f64 (+.f64 y x) y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (pow y 2) (* y z)) x)))))
(*.f64 (-.f64 (+.f64 y x) z) y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (pow y 2) (* y z)) x)))))
(*.f64 (-.f64 (+.f64 y x) z) y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (- (pow y 2) (* y z)) x)))))
(*.f64 (-.f64 (+.f64 y x) z) y)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* -1 (/ (pow y 2) x)))))
(*.f64 (+.f64 y x) y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (pow y 2) x)))))
(*.f64 (+.f64 y x) y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (pow y 2) x)))))
(*.f64 (+.f64 y x) y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)

rewrite189.0ms (3.3%)

Memory
24.7MiB live, 297.0MiB allocated
Rules
14 530×lower-fma.f64
14 530×lower-fma.f32
5 844×lower-*.f32
5 838×lower-*.f64
3 416×lower-/.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0936
01530
17026
265724
0835124
Stop Event
iter limit
node limit
iter limit
Counts
4 → 336
Calls
Call 1
Inputs
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
(-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z))
(+.f64 (*.f64 x y) (*.f64 y y))
(*.f64 x y)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval56.0ms (1%)

Memory
5.2MiB live, 122.1MiB allocated
Compiler

Compiled 12 117 to 1 161 computations (90.4% saved)

prune9.0ms (0.2%)

Memory
-7.5MiB live, 30.9MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New4524456
Fresh000
Picked101
Done000
Total4534457
Accuracy
100.0%
Counts
457 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
88.4%
(fma.f64 y x (*.f64 y (-.f64 (-.f64 y z) y)))
100.0%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
50.3%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y))
56.4%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))
Compiler

Compiled 25 to 24 computations (4% saved)

simplify266.0ms (4.6%)

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

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 y z)
cost-diff0
(*.f64 y (-.f64 (-.f64 y z) y))
cost-diff256
(-.f64 (-.f64 y z) y)
cost-diff320
(fma.f64 y x (*.f64 y (-.f64 (-.f64 y z) y)))
cost-diff0
(-.f64 x z)
cost-diff0
(*.f64 (-.f64 x z) y)
cost-diff0
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
cost-diff0
(neg.f64 z)
cost-diff0
(*.f64 (neg.f64 z) y)
cost-diff0
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y))
cost-diff0
(*.f64 y x)
cost-diff0
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))
Rules
15 760×lower-fma.f32
15 758×lower-fma.f64
2 888×lower-+.f64
2 888×lower-+.f32
2 888×lower--.f32
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
021112
03095
16783
214083
331471
475971
5208871
6336571
7375671
8382771
9386171
10386771
11404671
12411871
13411871
14411871
15703371
0813471
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))
(*.f64 y x)
y
x
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y))
(*.f64 (neg.f64 z) y)
(neg.f64 z)
z
y
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
(*.f64 (-.f64 x z) y)
(-.f64 x z)
x
z
y
(fma.f64 y x (*.f64 y (-.f64 (-.f64 y z) y)))
y
x
(*.f64 y (-.f64 (-.f64 y z) y))
(-.f64 (-.f64 y z) y)
(-.f64 y z)
z
Outputs
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))
(*.f64 y x)
y
x
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y))
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 y) z))
(*.f64 (neg.f64 z) y)
(*.f64 (neg.f64 y) z)
(neg.f64 z)
z
y
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
(*.f64 (-.f64 x z) y)
(-.f64 x z)
x
z
y
(fma.f64 y x (*.f64 y (-.f64 (-.f64 y z) y)))
(*.f64 (-.f64 x z) y)
y
x
(*.f64 y (-.f64 (-.f64 y z) y))
(*.f64 (neg.f64 y) z)
(-.f64 (-.f64 y z) y)
(neg.f64 z)
(-.f64 y z)
z

localize68.0ms (1.2%)

Memory
9.1MiB live, 127.4MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 y z)
accuracy0
(*.f64 y (-.f64 (-.f64 y z) y))
accuracy0.24999724760556022
(fma.f64 y x (*.f64 y (-.f64 (-.f64 y z) y)))
accuracy26.42183749287315
(-.f64 (-.f64 y z) y)
accuracy0
(-.f64 x z)
accuracy0
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
accuracy0.0078125
(*.f64 (-.f64 x z) y)
accuracy0
(*.f64 (neg.f64 z) y)
accuracy0
(neg.f64 z)
accuracy31.798167871372954
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y))
accuracy0
(*.f64 y x)
accuracy27.89314342034387
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))
Samples
28.0ms98×1valid
18.0ms146×0valid
6.0ms12×2valid
Compiler

Compiled 100 to 20 computations (80% saved)

Precisions
Click to see histograms. Total time spent on operations: 33.0ms
ival-mult: 13.0ms (39.2% of total)
ival-sub: 8.0ms (24.1% of total)
ival-add: 6.0ms (18.1% of total)
adjust: 5.0ms (15.1% of total)
ival-neg: 1.0ms (3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series22.0ms (0.4%)

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

9 calls:

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

simplify127.0ms (2.2%)

Memory
-13.7MiB live, 107.3MiB allocated
Algorithm
egg-herbie
Rules
4 476×lower-fma.f64
4 476×lower-fma.f32
3 026×lower-*.f64
3 026×lower-*.f32
1 188×div-sub
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0721617
12361317
26001317
317961317
435651317
546961317
659541317
775931317
080571317
Stop Event
iter limit
node limit
Counts
336 → 330
Calls
Call 1
Inputs
(* x y)
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(* x y)
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* x y)
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(* x y)
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
x
(+ x (* -1 z))
(+ x (* -1 z))
(+ x (* -1 z))
(* x y)
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
y
(+ y (* -1 z))
(+ y (* -1 z))
(+ y (* -1 z))
(* -1 (* y z))
(* z (- (/ (* x y) z) y))
(* z (- (/ (* x y) z) y))
(* z (- (/ (* x y) z) y))
(* -1 (* y z))
(* z (- (/ (* x y) z) y))
(* z (- (/ (* x y) z) y))
(* z (- (/ (* x y) z) y))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 (* y z))
(* z (- (/ (* x y) z) y))
(* z (- (/ (* x y) z) y))
(* z (- (/ (* x y) z) y))
(* -1 (* y z))
(* z (+ (* -1 y) (/ (* x y) z)))
(* z (+ (* -1 y) (/ (* x y) z)))
(* z (+ (* -1 y) (/ (* x y) z)))
(* -1 z)
(* z (- (/ x z) 1))
(* z (- (/ x z) 1))
(* z (- (/ x z) 1))
(* -1 (* y z))
(* z (+ (* -1 y) (/ (* x y) z)))
(* z (+ (* -1 y) (/ (* x y) z)))
(* z (+ (* -1 y) (/ (* x y) z)))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 z)
(* z (- (/ y z) 1))
(* z (- (/ y z) 1))
(* z (- (/ y z) 1))
(* -1 (* y z))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 (* y z))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 (* y z))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 (* y z))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 z)
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(* -1 (* y z))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 z)
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* x y)
(* x y)
(* x y)
(* x y)
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 z)
(- y z)
(- y z)
(- y z)
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* x y)
(* x y)
(* x y)
(* x y)
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
y
(* y (+ 1 (* -1 (/ z y))))
(* y (+ 1 (* -1 (/ z y))))
(* y (+ 1 (* -1 (/ z y))))
(* -1 (* y (- (* -1 x) (* -1 z))))
(* -1 (* y (- (* -1 x) (* -1 z))))
(* -1 (* y (- (* -1 x) (* -1 z))))
(* -1 (* y (- (* -1 x) (* -1 z))))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y (- (* -1 x) (* -1 z))))
(* -1 (* y (- (* -1 x) (* -1 z))))
(* -1 (* y (- (* -1 x) (* -1 z))))
(* -1 (* y (- (* -1 x) (* -1 z))))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y (- (* -1 x) (* -1 z))))
(* -1 (* y (- (* -1 x) (* -1 z))))
(* -1 (* y (- (* -1 x) (* -1 z))))
(* -1 (* y (- (* -1 x) (* -1 z))))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (* -1 x))))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
y
(* -1 (* y (- (/ z y) 1)))
(* -1 (* y (- (/ z y) 1)))
(* -1 (* y (- (/ z y) 1)))
(* -1 (* y z))
(- (* x y) (* y z))
(- (* x y) (* y z))
(- (* x y) (* y z))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y z))
(- (* x y) (* y z))
(- (* x y) (* y z))
(- (* x y) (* y z))
(* -1 (* y z))
(- (* x y) (* y z))
(- (* x y) (* y z))
(- (* x y) (* y z))
(* -1 (* y z))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(* -1 z)
(- x z)
(- x z)
(- x z)
(* -1 (* y z))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(* x y)
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
(* x y)
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
(* x y)
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
x
(* x (+ 1 (* -1 (/ z x))))
(* x (+ 1 (* -1 (/ z x))))
(* x (+ 1 (* -1 (/ z x))))
(* x y)
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
(* x y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* x y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* x y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
x
(* -1 (* x (- (/ z x) 1)))
(* -1 (* x (- (/ z x) 1)))
(* -1 (* x (- (/ z x) 1)))
(* x y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
Outputs
(* x y)
(*.f64 y x)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* x y)
(*.f64 y x)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
x
(+ x (* -1 z))
(-.f64 x z)
(+ x (* -1 z))
(-.f64 x z)
(+ x (* -1 z))
(-.f64 x z)
(* x y)
(*.f64 y x)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
y
(+ y (* -1 z))
(-.f64 y z)
(+ y (* -1 z))
(-.f64 y z)
(+ y (* -1 z))
(-.f64 y z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* z (- (/ (* x y) z) y))
(*.f64 (-.f64 x z) y)
(* z (- (/ (* x y) z) y))
(*.f64 (-.f64 x z) y)
(* z (- (/ (* x y) z) y))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* z (- (/ (* x y) z) y))
(*.f64 (-.f64 x z) y)
(* z (- (/ (* x y) z) y))
(*.f64 (-.f64 x z) y)
(* z (- (/ (* x y) z) y))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* z (- (/ (* x y) z) y))
(*.f64 (-.f64 x z) y)
(* z (- (/ (* x y) z) y))
(*.f64 (-.f64 x z) y)
(* z (- (/ (* x y) z) y))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* -1 z)
(neg.f64 z)
(* z (- (/ x z) 1))
(-.f64 x z)
(* z (- (/ x z) 1))
(-.f64 x z)
(* z (- (/ x z) 1))
(-.f64 x z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 z)
(neg.f64 z)
(* z (- (/ y z) 1))
(-.f64 y z)
(* z (- (/ y z) 1))
(-.f64 y z)
(* z (- (/ y z) 1))
(-.f64 y z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 z)
(neg.f64 z)
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(-.f64 x z)
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(-.f64 x z)
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(-.f64 x z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 z)
(neg.f64 z)
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(-.f64 y z)
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(-.f64 y z)
(* -1 (* z (+ 1 (* -1 (/ y z)))))
(-.f64 y z)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* 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 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 z)
(neg.f64 z)
(- y z)
(-.f64 y z)
(- y z)
(-.f64 y z)
(- y z)
(-.f64 y z)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* 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 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
y
(* y (+ 1 (* -1 (/ z y))))
(-.f64 y z)
(* y (+ 1 (* -1 (/ z y))))
(-.f64 y z)
(* y (+ 1 (* -1 (/ z y))))
(-.f64 y z)
(* -1 (* y (- (* -1 x) (* -1 z))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (- (* -1 x) (* -1 z))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (- (* -1 x) (* -1 z))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (- (* -1 x) (* -1 z))))
(*.f64 (-.f64 x z) y)
(* 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 x z) y)
(* -1 (* y (- (* -1 x) (* -1 z))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (- (* -1 x) (* -1 z))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (- (* -1 x) (* -1 z))))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y (- (* -1 x) (* -1 z))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (- (* -1 x) (* -1 z))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (- (* -1 x) (* -1 z))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (- (* -1 x) (* -1 z))))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* -1 (* y (+ z (* -1 x))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (+ z (* -1 x))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (+ z (* -1 x))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (+ z (* -1 x))))
(*.f64 (-.f64 x z) y)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
y
(* -1 (* y (- (/ z y) 1)))
(-.f64 y z)
(* -1 (* y (- (/ z y) 1)))
(-.f64 y z)
(* -1 (* y (- (/ z y) 1)))
(-.f64 y z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(- (* x y) (* y z))
(*.f64 (-.f64 x z) y)
(- (* x y) (* y z))
(*.f64 (-.f64 x z) y)
(- (* x y) (* y z))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(- (* x y) (* y z))
(*.f64 (-.f64 x z) y)
(- (* x y) (* y z))
(*.f64 (-.f64 x z) y)
(- (* x y) (* y z))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(- (* x y) (* y z))
(*.f64 (-.f64 x z) y)
(- (* x y) (* y z))
(*.f64 (-.f64 x z) y)
(- (* x y) (* y z))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(* -1 z)
(neg.f64 z)
(- x z)
(-.f64 x z)
(- x z)
(-.f64 x z)
(- x z)
(-.f64 x z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
x
(* x (+ 1 (* -1 (/ z x))))
(-.f64 x z)
(* x (+ 1 (* -1 (/ z x))))
(-.f64 x z)
(* x (+ 1 (* -1 (/ z x))))
(-.f64 x z)
(* x y)
(*.f64 y x)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
x
(* -1 (* x (- (/ z x) 1)))
(-.f64 x z)
(* -1 (* x (- (/ z x) 1)))
(-.f64 x z)
(* -1 (* x (- (/ z x) 1)))
(-.f64 x z)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)

rewrite418.0ms (7.2%)

Memory
-1.6MiB live, 194.1MiB allocated
Rules
6 756×lower-fma.f32
6 754×lower-fma.f64
4 352×lower-/.f64
4 352×lower-/.f32
3 742×lower-*.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
021102
03095
115183
2125883
0830983
Stop Event
iter limit
node limit
iter limit
Counts
12 → 385
Calls
Call 1
Inputs
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))
(*.f64 y x)
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y))
(*.f64 (neg.f64 z) y)
(neg.f64 z)
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
(*.f64 (-.f64 x z) y)
(-.f64 x z)
(fma.f64 y x (*.f64 y (-.f64 (-.f64 y z) y)))
(-.f64 (-.f64 y z) y)
(*.f64 y (-.f64 (-.f64 y z) y))
(-.f64 y z)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval91.0ms (1.6%)

Memory
15.3MiB live, 204.4MiB allocated
Compiler

Compiled 13 456 to 1 474 computations (89% saved)

prune28.0ms (0.5%)

Memory
-14.7MiB live, 71.7MiB allocated
Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New7141715
Fresh000
Picked134
Done000
Total7154719
Accuracy
100.0%
Counts
719 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(fma.f64 y x (*.f64 y #s(approx (- (- y z) y) (neg.f64 z))))
100.0%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
50.3%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y))
56.4%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))
Compiler

Compiled 23 to 24 computations (-4.3% saved)

simplify345.0ms (6%)

Memory
34.3MiB live, 214.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 z)
cost-diff0
#s(approx (- (- y z) y) (neg.f64 z))
cost-diff0
(*.f64 y #s(approx (- (- y z) y) (neg.f64 z)))
cost-diff192
(fma.f64 y x (*.f64 y #s(approx (- (- y z) y) (neg.f64 z))))
Rules
26 192×lower-fma.f32
26 190×lower-fma.f64
4 300×lower-+.f64
4 300×lower-+.f32
3 252×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0936
01335
12735
24735
38526
416726
532526
685526
7210026
8340826
9397926
10438526
11455326
12458126
13459326
14545526
15596926
16634526
17658826
18664426
19664426
20670026
21670026
22670026
0898526
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(fma.f64 y x (*.f64 y #s(approx (- (- y z) y) (neg.f64 z))))
y
x
(*.f64 y #s(approx (- (- y z) y) (neg.f64 z)))
#s(approx (- (- y z) y) (neg.f64 z))
(neg.f64 z)
z
Outputs
(fma.f64 y x (*.f64 y #s(approx (- (- y z) y) (neg.f64 z))))
(*.f64 (+.f64 #s(approx (- (- y z) y) (neg.f64 z)) x) y)
y
x
(*.f64 y #s(approx (- (- y z) y) (neg.f64 z)))
(*.f64 #s(approx (- (- y z) y) (neg.f64 z)) y)
#s(approx (- (- y z) y) (neg.f64 z))
(neg.f64 z)
z

localize36.0ms (0.6%)

Memory
-12.1MiB live, 61.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 y #s(approx (- (- y z) y) (neg.f64 z)))
accuracy0
(neg.f64 z)
accuracy0
#s(approx (- (- y z) y) (neg.f64 z))
accuracy0.24999724760556022
(fma.f64 y x (*.f64 y #s(approx (- (- y z) y) (neg.f64 z))))
Samples
12.0ms99×1valid
9.0ms146×0valid
2.0ms11×2valid
Compiler

Compiled 30 to 11 computations (63.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-mult: 5.0ms (36.6% of total)
ival-sub: 4.0ms (29.3% of total)
adjust: 2.0ms (14.6% of total)
ival-add: 2.0ms (14.6% of total)
ival-neg: 1.0ms (7.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series6.0ms (0.1%)

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

9 calls:

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

simplify211.0ms (3.7%)

Memory
-26.1MiB live, 136.7MiB allocated
Algorithm
egg-herbie
Rules
4 900×lower-fma.f64
4 900×lower-fma.f32
3 692×lower-*.f64
3 692×lower-*.f32
2 168×lower-/.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
030429
1106339
2277339
3635339
41716339
54012339
64945339
75402339
85688339
95803339
105962339
117893339
08078339
Stop Event
iter limit
node limit
Counts
96 → 96
Calls
Call 1
Inputs
(* x y)
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 (* y z))
(* z (+ (* -1 y) (/ (* x y) z)))
(* z (+ (* -1 y) (/ (* x y) z)))
(* z (+ (* -1 y) (/ (* x y) z)))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 (* y z))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 (* y z))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 (* y z))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(* x y)
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
(* x y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
Outputs
(* x y)
(*.f64 y x)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 (* y (+ z (* -1 x))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (+ z (* -1 x))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (+ z (* -1 x))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (+ z (* -1 x))))
(*.f64 (-.f64 x z) y)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x (+ y (* -1 (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(*.f64 (-.f64 x z) y)

rewrite220.0ms (3.8%)

Memory
8.9MiB live, 160.6MiB allocated
Rules
6 866×lower-fma.f32
6 864×lower-fma.f64
4 794×lower-*.f32
4 792×lower-*.f64
3 294×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0933
01332
16232
251332
3754232
0875232
Stop Event
iter limit
node limit
iter limit
Counts
4 → 109
Calls
Call 1
Inputs
(fma.f64 y x (*.f64 y #s(approx (- (- y z) y) (neg.f64 z))))
(*.f64 y #s(approx (- (- y z) y) (neg.f64 z)))
#s(approx (- (- y z) y) (neg.f64 z))
(neg.f64 z)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval45.0ms (0.8%)

Memory
-11.2MiB live, 70.1MiB allocated
Compiler

Compiled 3 693 to 367 computations (90.1% saved)

prune6.0ms (0.1%)

Memory
18.1MiB live, 18.1MiB allocated
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New2050205
Fresh000
Picked011
Done033
Total2054209
Accuracy
100.0%
Counts
209 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(fma.f64 y x (*.f64 y #s(approx (- (- y z) y) (neg.f64 z))))
100.0%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
50.3%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y))
56.4%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))
Compiler

Compiled 71 to 48 computations (32.4% saved)

regimes52.0ms (0.9%)

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

4 calls:

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

Compiled 18 to 18 computations (0% saved)

regimes7.0ms (0.1%)

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

4 calls:

2.0ms
x
2.0ms
y
2.0ms
z
1.0ms
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
Results
AccuracySegmentsBranch
80.5%3x
62.6%3y
78.8%3z
64.0%5(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
Compiler

Compiled 18 to 18 computations (0% saved)

regimes33.0ms (0.6%)

Memory
-22.4MiB live, 15.9MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

4 calls:

28.0ms
y
1.0ms
z
1.0ms
x
1.0ms
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
Results
AccuracySegmentsBranch
56.4%1(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
56.4%1y
56.4%1z
56.4%1x
Compiler

Compiled 18 to 18 computations (0% saved)

bsearch17.0ms (0.3%)

Memory
2.5MiB live, 39.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
1.1264988887873966e-13
1.9936361144978343e-13
5.0ms
-3.832107951222511e-46
-3.185809024433563e-46
Samples
7.0ms77×0valid
4.0ms35×1valid
Compiler

Compiled 81 to 106 computations (-30.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult: 5.0ms (62.4% of total)
ival-add: 1.0ms (12.5% of total)
ival-sub: 1.0ms (12.5% of total)
adjust: 1.0ms (12.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

simplify28.0ms (0.5%)

Memory
17.3MiB live, 64.3MiB allocated
Algorithm
egg-herbie
Rules
14×*-commutative-binary64-*.f64
+-commutative-binary64-+.f64
sub-neg-binary64-neg.f64-+.f64--.f64
neg-sub0-binary64--.f64-neg.f64
neg-mul-1-binary64-*.f64-neg.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023106
133106
242106
349106
452106
553106
Stop Event
saturated
Calls
Call 1
Inputs
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
(if (<=.f64 x #s(literal -2442545827273665/6427752177035961102167848369364650410088811975131171341205504 binary64)) #s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x)) (if (<=.f64 x #s(literal 7724745845140773/39614081257132168796771975168 binary64)) #s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y)) #s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))))
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))
Outputs
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
(if (<=.f64 x #s(literal -2442545827273665/6427752177035961102167848369364650410088811975131171341205504 binary64)) #s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x)) (if (<=.f64 x #s(literal 7724745845140773/39614081257132168796771975168 binary64)) #s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y)) #s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))))
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))

soundness365.0ms (6.3%)

Memory
5.9MiB live, 205.6MiB allocated
Rules
8 148×lower-fma.f64
8 148×lower-fma.f32
2 966×lower-*.f64
2 966×lower-*.f32
1 494×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
075789
1247707
2703671
32588671
46888671
08210659
Stop Event
done
iter limit
node limit
Compiler

Compiled 46 to 35 computations (23.9% saved)

preprocess190.0ms (3.3%)

Memory
-12.3MiB live, 66.4MiB allocated
Remove

(negabs y)

Compiler

Compiled 114 to 74 computations (35.1% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...