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

Time bar (total: 5.4s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

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

Compiled 17 to 11 computations (35.3% saved)

sample944.0ms (17.6%)

Memory
25.6MiB live, 1 761.3MiB allocated
Samples
359.0ms5 808×0valid
306.0ms2 401×1valid
7.0ms47×2valid
Precisions
Click to see histograms. Total time spent on operations: 450.0ms
ival-mult: 226.0ms (50.2% of total)
ival-sub: 103.0ms (22.9% of total)
adjust: 59.0ms (13.1% of total)
ival-add: 53.0ms (11.8% of total)
ival-true: 6.0ms (1.3% of total)
ival-assert: 3.0ms (0.7% of total)
Bogosity

explain147.0ms (2.7%)

Memory
7.0MiB live, 196.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1060-0-(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
190-0-(+.f64 (*.f64 x y) (*.f64 y y))
170-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-rescue680
(-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z))overflow92
(+.f64 (*.f64 x y) (*.f64 y y))overflow87
(*.f64 y z)overflow42
(*.f64 y y)overflow78
(*.f64 x y)overflow39
(*.f64 y y)overflow78
-.f64(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))cancellation380
+.f64(+.f64 (*.f64 x y) (*.f64 y y))nan-rescue190
(*.f64 x y)overflow39
(*.f64 y y)overflow78
-.f64(-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z))nan-rescue170
(+.f64 (*.f64 x y) (*.f64 y y))overflow87
(*.f64 y y)overflow78
(*.f64 x y)overflow39
(*.f64 y z)overflow42
Confusion
Predicted +Predicted -
+1180
-0138
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+11800
-00138
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0138
196
220
32
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
31.0ms178×1valid
22.0ms332×0valid
0.0ms2valid
Compiler

Compiled 109 to 31 computations (71.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 34.0ms
ival-mult: 13.0ms (38.7% of total)
ival-add: 10.0ms (29.7% of total)
ival-sub: 6.0ms (17.8% of total)
adjust: 4.0ms (11.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess327.0ms (6.1%)

Memory
-24.8MiB live, 236.8MiB allocated
Algorithm
egg-herbie
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.4MiB live, 0.4MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 15 to 9 computations (40% saved)

simplify371.0ms (6.9%)

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

localize88.0ms (1.6%)

Memory
-22.9MiB live, 52.9MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 x y)
accuracy3.9882729933208236
(-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z))
accuracy4.503893864981236
(+.f64 (*.f64 x y) (*.f64 y y))
accuracy24.83205995740952
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
Samples
65.0ms166×0valid
12.0ms89×1valid
0.0ms2valid
Compiler

Compiled 47 to 11 computations (76.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 68.0ms
ival-sub: 58.0ms (85.5% of total)
ival-mult: 6.0ms (8.8% of total)
ival-add: 2.0ms (2.9% of total)
adjust: 2.0ms (2.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series10.0ms (0.2%)

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

simplify148.0ms (2.8%)

Memory
3.3MiB live, 121.3MiB allocated
Algorithm
egg-herbie
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)

rewrite428.0ms (8%)

Memory
-1.5MiB live, 228.5MiB allocated
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>

eval57.0ms (1.1%)

Memory
-5.3MiB live, 115.7MiB allocated
Compiler

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

prune9.0ms (0.2%)

Memory
-7.7MiB live, 31.0MiB allocated
Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New4533456
Fresh000
Picked101
Done000
Total4543457
Accuracy
100.0%
Counts
457 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
59.1%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y))
49.5%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))
Compiler

Compiled 15 to 17 computations (-13.3% saved)

simplify190.0ms (3.5%)

Memory
21.6MiB live, 178.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
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))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01784
02278
14972
210166
323254
453254
5179554
6362254
7407654
8455454
9488654
10497654
11557554
12688454
13760254
14784454
15798054
0803054
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
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))
(*.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

localize89.0ms (1.7%)

Memory
-16.3MiB live, 75.1MiB allocated
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 x z)
accuracy0
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
accuracy0.00390625
(*.f64 (-.f64 x z) y)
accuracy0
(*.f64 (neg.f64 z) y)
accuracy0
(neg.f64 z)
accuracy26.198625514840202
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y))
accuracy0
(*.f64 y x)
accuracy32.32763503547772
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))
Samples
43.0ms166×0valid
16.0ms89×1valid
0.0ms2valid
Compiler

Compiled 71 to 16 computations (77.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
ival-mult: 11.0ms (53.6% of total)
ival-sub: 4.0ms (19.5% of total)
adjust: 3.0ms (14.6% of total)
ival-add: 2.0ms (9.7% of total)
ival-neg: 1.0ms (4.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series14.0ms (0.3%)

Memory
22.5MiB live, 22.5MiB allocated
Counts
8 → 228
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>) () ())
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 (* -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 #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 (* 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 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 (* -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)) (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 (* 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 #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>) () ())) ())
Calls

9 calls:

TimeVariablePointExpression
2.0ms
x
@-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))
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))
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))
1.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))
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))

simplify279.0ms (5.2%)

Memory
-31.8MiB live, 99.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0521179
1170939
2449939
31345939
42887939
54048939
64831939
75448939
85664939
95780939
106369939
116683939
126683939
136683939
146683939
08129939
Stop Event
iter limit
node limit
Counts
228 → 225
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))
(* -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))
(* -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)))))
(* 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 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))
(* -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))
(- (* 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)
(* 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)
(* -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)))
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)
(* -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)
(* -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)
(* 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 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)
(* -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))
(*.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)
(* 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)
(* -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)

rewrite256.0ms (4.8%)

Memory
47.4MiB live, 261.5MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01777
02271
19865
280959
0834159
Stop Event
iter limit
node limit
iter limit
Counts
8 → 124
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)
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>

eval198.0ms (3.7%)

Memory
-21.0MiB live, 106.5MiB allocated
Compiler

Compiled 3 318 to 463 computations (86% saved)

prune79.0ms (1.5%)

Memory
10.4MiB live, 46.9MiB allocated
Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New3481349
Fresh000
Picked033
Done000
Total3484352
Accuracy
100.0%
Counts
352 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.0%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (fma.f64 (neg.f64 z) y (*.f64 y x)))
100.0%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
59.1%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y))
49.5%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))
Compiler

Compiled 23 to 24 computations (-4.3% saved)

simplify185.0ms (3.4%)

Memory
-2.8MiB live, 178.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 y x)
cost-diff0
(neg.f64 z)
cost-diff0
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (fma.f64 (neg.f64 z) y (*.f64 y x)))
cost-diff320
(fma.f64 (neg.f64 z) y (*.f64 y x))
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01338
01736
14532
29628
323224
453024
5180624
6359024
7404124
8451924
9484924
10493924
11554824
12687824
13759624
14783824
15797424
0802424
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (fma.f64 (neg.f64 z) y (*.f64 y x)))
(fma.f64 (neg.f64 z) y (*.f64 y x))
(neg.f64 z)
z
y
(*.f64 y x)
x
Outputs
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (fma.f64 (neg.f64 z) y (*.f64 y x)))
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
(fma.f64 (neg.f64 z) y (*.f64 y x))
(*.f64 (-.f64 x z) y)
(neg.f64 z)
z
y
(*.f64 y x)
x

localize172.0ms (3.2%)

Memory
-23.7MiB live, 127.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 y x)
accuracy0
(neg.f64 z)
accuracy0
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (fma.f64 (neg.f64 z) y (*.f64 y x)))
accuracy1.249986238027801
(fma.f64 (neg.f64 z) y (*.f64 y x))
Samples
135.0ms166×0valid
27.0ms89×1valid
0.0ms2valid
Compiler

Compiled 33 to 15 computations (54.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 141.0ms
ival-mult: 131.0ms (92.9% of total)
ival-add: 3.0ms (2.1% of total)
ival-sub: 3.0ms (2.1% of total)
adjust: 2.0ms (1.4% of total)
ival-neg: 1.0ms (0.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series7.0ms (0.1%)

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

9 calls:

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

simplify343.0ms (6.4%)

Memory
-1.6MiB live, 81.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
041558
1143438
2340438
31019438
42886438
53947438
64628438
76265438
87608438
08039438
Stop Event
iter limit
node limit
Counts
108 → 108
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 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))
(* z (- (/ (* x y) z) y))
(* z (- (/ (* x y) z) y))
(* z (- (/ (* x y) z) y))
(* -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 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 (* z (- (* -1 (/ (* x y) z)) (* -1 y))))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* x y)
(* x y)
(* x y)
(* x y)
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* y (+ x (* -1 z)))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (* -1 x))))
(* -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 z))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(* -1 (* y z))
(- (* x y) (* y z))
(- (* x y) (* y z))
(- (* x y) (* y z))
(* 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)
(* 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)
(* 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)
(*.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)
(* 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)
(* 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 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 (* 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 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)
(* 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 (* -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)
(* 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)
(* -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 (- (* -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 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 (* 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)
(* 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)
(*.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)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)

rewrite334.0ms (6.2%)

Memory
12.9MiB live, 271.9MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01335
01733
19929
282725
0884225
Stop Event
iter limit
node limit
iter limit
Counts
4 → 83
Calls
Call 1
Inputs
(fma.f64 (neg.f64 z) y (*.f64 y x))
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (fma.f64 (neg.f64 z) y (*.f64 y x)))
(neg.f64 z)
(*.f64 y x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval33.0ms (0.6%)

Memory
-9.5MiB live, 41.2MiB allocated
Compiler

Compiled 2 465 to 320 computations (87% saved)

prune6.0ms (0.1%)

Memory
18.2MiB live, 18.3MiB allocated
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1910191
Fresh000
Picked011
Done033
Total1914195
Accuracy
100.0%
Counts
195 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.0%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (fma.f64 (neg.f64 z) y (*.f64 y x)))
100.0%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
59.1%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y))
49.5%
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 y x))
Compiler

Compiled 61 to 43 computations (29.5% saved)

regimes28.0ms (0.5%)

Memory
-16.5MiB live, 20.5MiB allocated
Counts
5 → 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))
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (fma.f64 (neg.f64 z) y (*.f64 y x)))
(-.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:

21.0ms
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
2.0ms
x
2.0ms
y
2.0ms
z
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
15.4MiB live, 15.4MiB 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 (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 (neg.f64 z) y))
Calls

4 calls:

2.0ms
x
2.0ms
y
2.0ms
z
2.0ms
(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
Results
AccuracySegmentsBranch
78.6%3x
59.1%1y
83.6%3z
61.4%2(-.f64 (-.f64 (+.f64 (*.f64 x y) (*.f64 y y)) (*.f64 y z)) (*.f64 y y))
Compiler

Compiled 18 to 18 computations (0% saved)

regimes8.0ms (0.1%)

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

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

Compiled 18 to 18 computations (0% saved)

bsearch135.0ms (2.5%)

Memory
-7.4MiB live, 133.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
113.0ms
7.50749449425385e-7
4.04104749623685
18.0ms
-2.2761150254454033e+46
-5.603379103429511e+41
Samples
47.0ms160×0valid
16.0ms112×1valid
Compiler

Compiled 171 to 236 computations (-38% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult: 7.0ms (39% of total)
adjust: 5.0ms (27.8% of total)
ival-sub: 3.0ms (16.7% of total)
ival-add: 2.0ms (11.1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

simplify26.0ms (0.5%)

Memory
9.1MiB live, 85.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023107
133107
242107
349107
452107
553107
Stop Event
saturated
Calls
Call 1
Inputs
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
(if (<=.f64 z #s(literal -4199999999999999909983484408708288647004160 binary64)) #s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y)) (if (<=.f64 z #s(literal 1498797955988901/2305843009213693952 binary64)) #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))
Outputs
#s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (-.f64 x z) y))
(if (<=.f64 z #s(literal -4199999999999999909983484408708288647004160 binary64)) #s(approx (- (- (+ (* x y) (* y y)) (* y z)) (* y y)) (*.f64 (neg.f64 z) y)) (if (<=.f64 z #s(literal 1498797955988901/2305843009213693952 binary64)) #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))

soundness308.0ms (5.7%)

Memory
-12.5MiB live, 186.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 47 to 35 computations (25.5% saved)

preprocess153.0ms (2.8%)

Memory
-7.1MiB live, 108.1MiB allocated
Remove

(negabs y)

Compiler

Compiled 116 to 74 computations (36.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...