Diagrams.TwoD.Segment:bezierClip from diagrams-lib-1.3.0.3

Time bar (total: 5.6s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

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

Compiled 11 to 10 computations (9.1% saved)

sample1.6s (28.2%)

Memory
-2.7MiB live, 698.4MiB allocated
Samples
1.3s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 597.0ms
ival-mult: 358.0ms (59.9% of total)
ival-add: 118.0ms (19.8% of total)
ival-sub: 106.0ms (17.7% of total)
ival-true: 6.0ms (1% of total)
exact: 5.0ms (0.8% of total)
ival-assert: 3.0ms (0.5% of total)
Bogosity

explain174.0ms (3.1%)

Memory
-0.5MiB live, 109.6MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
40-0-(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))
00-0-(-.f64 #s(literal 1 binary64) y)
00-0-y
00-0-#s(literal 1 binary64)
00-0-(*.f64 z (-.f64 #s(literal 1 binary64) y))
00-0-z
00-0-(*.f64 x y)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))nan-rescue40
(*.f64 x y)overflow30
(*.f64 z (-.f64 #s(literal 1 binary64) y))overflow23
Confusion
Predicted +Predicted -
+40
-0252
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+400
-00252
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0252
14
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
28.0ms512×0valid
Compiler

Compiled 61 to 28 computations (54.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 7.0ms (54.9% of total)
ival-sub: 3.0ms (23.5% of total)
ival-add: 2.0ms (15.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess172.0ms (3.1%)

Memory
-18.8MiB live, 95.6MiB allocated
Algorithm
egg-herbie
Rules
608×lower-fma.f64
608×lower-fma.f32
356×unsub-neg
346×distribute-rgt-in
298×sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03290
18081
218881
353368
4112164
5189863
6227563
7231163
8231563
9231563
089
0129
1199
2299
3529
41078
51557
62467
73967
85567
96257
106277
06276
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))
Outputs
(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))
(fma.f64 (-.f64 x z) y z)
Compiler

Compiled 9 to 8 computations (11.1% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.4%
(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))
Compiler

Compiled 9 to 8 computations (11.1% saved)

simplify24.0ms (0.4%)

Memory
8.3MiB live, 44.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 #s(literal 1 binary64) y)
cost-diff0
(*.f64 z (-.f64 #s(literal 1 binary64) y))
cost-diff0
(*.f64 x y)
cost-diff448
(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))
Rules
608×lower-fma.f64
608×lower-fma.f32
240×lower-*.f32
236×lower-*.f64
152×lower-+.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0824
01224
11924
22924
35224
410723
515522
624622
739622
855622
962522
1062722
062721
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))
(*.f64 x y)
x
y
(*.f64 z (-.f64 #s(literal 1 binary64) y))
z
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
Outputs
(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))
(fma.f64 (-.f64 x z) y z)
(*.f64 x y)
(*.f64 y x)
x
y
(*.f64 z (-.f64 #s(literal 1 binary64) y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
z
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)

localize22.0ms (0.4%)

Memory
6.8MiB live, 44.3MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(-.f64 #s(literal 1 binary64) y)
accuracy0
(*.f64 x y)
accuracy0.00390625
(*.f64 z (-.f64 #s(literal 1 binary64) y))
accuracy0.8593729358302059
(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))
Samples
17.0ms256×0valid
Compiler

Compiled 26 to 10 computations (61.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 4.0ms (63.5% of total)
ival-sub: 1.0ms (15.9% of total)
ival-add: 1.0ms (15.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series11.0ms (0.2%)

Memory
-11.0MiB live, 23.9MiB allocated
Counts
4 → 96
Calls
Call 1
Inputs
#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())
#s(alt (*.f64 x y) (patch (*.f64 x y) #<representation binary64>) () ())
#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())
#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())
Outputs
#s(alt (* x y) (taylor 0 z) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (+ (* x y) (* z (- 1 y))) (taylor 0 z) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (+ (* x y) (* z (- 1 y))) (taylor 0 z) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (+ (* x y) (* z (- 1 y))) (taylor 0 z) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor 0 z) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor 0 z) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor 0 z) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor 0 z) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor inf z) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* z (- (+ 1 (/ (* x y) z)) y)) (taylor inf z) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* z (- (+ 1 (/ (* x y) z)) y)) (taylor inf z) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* z (- (+ 1 (/ (* x y) z)) y)) (taylor inf z) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor inf z) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor inf z) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor inf z) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor inf z) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor -inf z) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z))))) (taylor -inf z) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z))))) (taylor -inf z) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z))))) (taylor -inf z) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor -inf z) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor -inf z) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor -inf z) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor -inf z) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt z (taylor 0 y) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (+ z (* y (+ x (* -1 z)))) (taylor 0 y) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (+ z (* y (+ x (* -1 z)))) (taylor 0 y) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (+ z (* y (+ x (* -1 z)))) (taylor 0 y) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) 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 z (taylor 0 y) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (+ z (* -1 (* y z))) (taylor 0 y) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (+ z (* -1 (* y z))) (taylor 0 y) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (+ z (* -1 (* y z))) (taylor 0 y) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* -1 y)) (taylor 0 y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (* -1 z))) (taylor inf y) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (+ (* -1 z) (/ z y)))) (taylor inf y) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (+ (* -1 z) (/ z y)))) (taylor inf y) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* y (+ x (+ (* -1 z) (/ z y)))) (taylor inf y) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) 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 inf y) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 z) (/ z y))) (taylor inf y) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 z) (/ z y))) (taylor inf y) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* y (+ (* -1 z) (/ z y))) (taylor inf y) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* y (- (/ 1 y) 1)) (taylor inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ z (* -1 x)))) (taylor -inf y) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y)))))) (taylor -inf y) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y)))))) (taylor -inf y) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y)))))) (taylor -inf y) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) 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 -inf y) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ z (* -1 (/ z y))))) (taylor -inf y) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ z (* -1 (/ z y))))) (taylor -inf y) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (+ z (* -1 (/ z y))))) (taylor -inf y) (#s(alt (*.f64 z (-.f64 #s(literal 1 binary64) y)) (patch (*.f64 z (-.f64 #s(literal 1 binary64) y)) #<representation binary64>) () ())) ())
#s(alt (* -1 y) (taylor -inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- 1 (/ 1 y)))) (taylor -inf y) (#s(alt (-.f64 #s(literal 1 binary64) y) (patch (-.f64 #s(literal 1 binary64) y) #<representation binary64>) () ())) ())
#s(alt (* z (- 1 y)) (taylor 0 x) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (+ (* x y) (* z (- 1 y))) (taylor 0 x) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (+ (* x y) (* z (- 1 y))) (taylor 0 x) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (+ (* x y) (* z (- 1 y))) (taylor 0 x) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) 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 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* x (+ y (/ (* z (- 1 y)) x))) (taylor inf x) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* x (+ y (/ (* z (- 1 y)) x))) (taylor inf x) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* x (+ y (/ (* z (- 1 y)) x))) (taylor inf x) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) 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 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x))))) (taylor -inf x) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x))))) (taylor -inf x) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x))))) (taylor -inf x) (#s(alt (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y))) (patch (+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) 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
x
@0
((+ (* x y) (* z (- 1 y))) (* x y) (* z (- 1 y)) (- 1 y))
1.0ms
z
@inf
((+ (* x y) (* z (- 1 y))) (* x y) (* z (- 1 y)) (- 1 y))
1.0ms
y
@-inf
((+ (* x y) (* z (- 1 y))) (* x y) (* z (- 1 y)) (- 1 y))
1.0ms
y
@0
((+ (* x y) (* z (- 1 y))) (* x y) (* z (- 1 y)) (- 1 y))
1.0ms
y
@inf
((+ (* x y) (* z (- 1 y))) (* x y) (* z (- 1 y)) (- 1 y))

simplify234.0ms (4.2%)

Memory
21.0MiB live, 148.8MiB allocated
Algorithm
egg-herbie
Rules
7 608×lower-fma.f64
7 608×lower-fma.f32
2 646×lower-*.f64
2 646×lower-*.f32
1 572×lower--.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057498
1193442
2559442
31395442
43892442
56259442
08055415
Stop Event
iter limit
node limit
Counts
96 → 94
Calls
Call 1
Inputs
(* x y)
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
z
(+ z (* y (+ x (* -1 z))))
(+ z (* y (+ x (* -1 z))))
(+ z (* y (+ x (* -1 z))))
(* x y)
(* x y)
(* x y)
(* x y)
z
(+ z (* -1 (* y z)))
(+ z (* -1 (* y z)))
(+ z (* -1 (* y z)))
1
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(* y (+ x (* -1 z)))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (+ x (+ (* -1 z) (/ z y))))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y z))
(* y (+ (* -1 z) (/ z y)))
(* y (+ (* -1 z) (/ z y)))
(* y (+ (* -1 z) (/ z y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y z))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 y)
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* z (- 1 y))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x (+ y (/ (* z (- 1 y)) x)))
(* x (+ y (/ (* z (- 1 y)) x)))
(* x (+ y (/ (* z (- 1 y)) x)))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* x y)
(* x y)
(* x y)
(* x y)
Outputs
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
z
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
z
(+ z (* -1 (* y z)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ z (* -1 (* y z)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ z (* -1 (* y z)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
1
#s(literal 1 binary64)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* 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)
(* y (+ (* -1 z) (/ z y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* y (+ (* -1 z) (/ z y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* y (+ (* -1 z) (/ z y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 y)
(neg.f64 y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (+ z (* -1 x))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* 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)
(* -1 (* y (+ z (* -1 (/ z y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 (* y (+ z (* -1 (/ z y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 (* y (+ z (* -1 (/ z y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(* 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 (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* 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) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)

rewrite295.0ms (5.3%)

Memory
3.9MiB live, 286.5MiB allocated
Rules
6 772×lower-*.f32
6 768×lower-*.f64
6 392×lower-fma.f64
6 392×lower-fma.f32
3 490×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
01220
14420
231420
3385020
01125419
Stop Event
iter limit
node limit
iter limit
Counts
4 → 317
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))
(*.f64 x y)
(*.f64 z (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) 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>

eval94.0ms (1.7%)

Memory
-25.2MiB live, 132.6MiB allocated
Compiler

Compiled 9 093 to 1 129 computations (87.6% saved)

prune9.0ms (0.2%)

Memory
-5.5MiB live, 32.7MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New4074411
Fresh000
Picked101
Done000
Total4084412
Accuracy
100.0%
Counts
412 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (+ (* x y) (* z (- 1 y))) (fma.f64 (-.f64 x z) y z))
61.8%
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 x z) y))
62.4%
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
41.2%
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x))
Compiler

Compiled 23 to 24 computations (-4.3% saved)

simplify26.0ms (0.5%)

Memory
18.7MiB live, 55.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 x z)
cost-diff0
(fma.f64 (-.f64 x z) y z)
cost-diff0
#s(approx (+ (* x y) (* z (- 1 y))) (fma.f64 (-.f64 x z) y z))
cost-diff0
(-.f64 x z)
cost-diff0
(*.f64 (-.f64 x z) y)
cost-diff0
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 x z) y))
cost-diff0
(-.f64 #s(literal 1 binary64) y)
cost-diff0
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
cost-diff0
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
cost-diff0
(*.f64 y x)
cost-diff0
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x))
Rules
608×lower-fma.f32
606×lower-fma.f64
240×lower-*.f32
234×lower-*.f64
152×lower-+.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01898
02498
13598
25286
38586
414886
521086
633886
752586
869086
971186
1071186
071186
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x))
(*.f64 y x)
y
x
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
z
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 x z) y))
(*.f64 (-.f64 x z) y)
(-.f64 x z)
x
z
y
#s(approx (+ (* x y) (* z (- 1 y))) (fma.f64 (-.f64 x z) y z))
(fma.f64 (-.f64 x z) y z)
(-.f64 x z)
x
z
y
Outputs
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x))
(*.f64 y x)
y
x
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
z
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 x z) y))
(*.f64 (-.f64 x z) y)
(-.f64 x z)
x
z
y
#s(approx (+ (* x y) (* z (- 1 y))) (fma.f64 (-.f64 x z) y z))
(fma.f64 (-.f64 x z) y z)
(-.f64 x z)
x
z
y

localize42.0ms (0.7%)

Memory
13.4MiB live, 94.8MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 (-.f64 x z) y z)
accuracy0
(-.f64 x z)
accuracy0
#s(approx (+ (* x y) (* z (- 1 y))) (fma.f64 (-.f64 x z) y z))
accuracy0
(-.f64 x z)
accuracy0.0078125
(*.f64 (-.f64 x z) y)
accuracy24.416534309559566
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 x z) y))
accuracy0
(-.f64 #s(literal 1 binary64) y)
accuracy0.00390625
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
accuracy24.041152261734428
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
accuracy0
(*.f64 y x)
accuracy37.61140006139021
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x))
Samples
33.0ms256×0valid
Compiler

Compiled 78 to 15 computations (80.8% saved)

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

series44.0ms (0.8%)

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

9 calls:

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

simplify123.0ms (2.2%)

Memory
1.0MiB live, 187.6MiB allocated
Algorithm
egg-herbie
Rules
6 394×lower-fma.f64
6 394×lower-fma.f32
2 692×lower-*.f64
2 692×lower-*.f32
1 478×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01131962
13901572
211201572
327041572
453941572
575471572
080471437
Stop Event
iter limit
node limit
Counts
300 → 291
Calls
Call 1
Inputs
(* x y)
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(* x y)
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* x y)
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(* x y)
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
(+ (* -1 (* y z)) (* x y))
x
(+ x (* -1 z))
(+ x (* -1 z))
(+ x (* -1 z))
(* x y)
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(* x y)
(+ (* x y) (* z (+ 1 (* -1 y))))
(+ (* x y) (* z (+ 1 (* -1 y))))
(+ (* x y) (* z (+ 1 (* -1 y))))
(* z (- 1 y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- 1 y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- (+ 1 (/ (* 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))
(* z (- 1 y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (+ 1 (* -1 y)))
(* z (+ 1 (+ (* -1 y) (/ (* x y) z))))
(* z (+ 1 (+ (* -1 y) (/ (* x y) z))))
(* z (+ 1 (+ (* -1 y) (/ (* x y) z))))
(* z (- 1 y))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* z (- 1 y))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* y z))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 z)
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(* z (- 1 y))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (- y 1)))
(* -1 (* z (- (+ y (* -1 (/ (* x y) z))) 1)))
(* -1 (* z (- (+ y (* -1 (/ (* x y) z))) 1)))
(* -1 (* z (- (+ y (* -1 (/ (* x y) z))) 1)))
z
(+ z (* y (+ x (* -1 z))))
(+ z (* y (+ x (* -1 z))))
(+ z (* y (+ x (* -1 z))))
(* x y)
(* x y)
(* x y)
(* x y)
z
(+ z (* y (+ x (* -1 z))))
(+ z (* y (+ x (* -1 z))))
(+ z (* y (+ x (* -1 z))))
z
(+ z (* -1 (* y z)))
(+ z (* -1 (* y z)))
(+ z (* -1 (* y z)))
1
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(+ 1 (* -1 y))
z
(+ z (* y (+ x (* -1 z))))
(+ z (* y (+ x (* -1 z))))
(+ z (* y (+ x (* -1 z))))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
z
(+ z (* y (+ x (* -1 z))))
(+ z (* y (+ x (* -1 z))))
(+ z (* y (+ x (* -1 z))))
z
(+ z (* y (- x z)))
(+ z (* y (- x z)))
(+ z (* y (- x z)))
(* y (+ x (* -1 z)))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (+ x (+ (* -1 z) (/ z y))))
(* x y)
(* x y)
(* x y)
(* x y)
(* y (+ x (* -1 z)))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (+ x (+ (* -1 z) (/ z y))))
(* -1 (* y z))
(* y (+ (* -1 z) (/ z y)))
(* y (+ (* -1 z) (/ z y)))
(* y (+ (* -1 z) (/ z y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (+ x (* -1 z)))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (+ x (* -1 z)))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (- x z))
(* y (- (+ x (/ z y)) z))
(* y (- (+ x (/ z y)) z))
(* y (- (+ x (/ z y)) z))
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y z))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 y)
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* y (- x z))
(* -1 (* y (+ (* -1 (- x z)) (* -1 (/ z y)))))
(* -1 (* y (+ (* -1 (- x z)) (* -1 (/ z y)))))
(* -1 (* y (+ (* -1 (- x z)) (* -1 (/ z y)))))
(* z (- 1 y))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(* x y)
(* x y)
(* x y)
(* x y)
(* z (- 1 y))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(* z (- 1 y))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(* -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)
(* z (- 1 y))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ z (* -1 (* y z)))
(+ z (+ (* -1 (* y z)) (* x y)))
(+ z (+ (* -1 (* y z)) (* x y)))
(+ z (+ (* -1 (* y z)) (* x y)))
(* x y)
(* x (+ y (/ (* z (- 1 y)) x)))
(* x (+ y (/ (* z (- 1 y)) x)))
(* x (+ y (/ (* z (- 1 y)) x)))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x (+ y (/ (* z (- 1 y)) x)))
(* x (+ y (/ (* z (- 1 y)) x)))
(* x (+ y (/ (* z (- 1 y)) x)))
(* x y)
(* x (+ y (/ (* z (- 1 y)) x)))
(* x (+ y (/ (* z (- 1 y)) x)))
(* x (+ y (/ (* z (- 1 y)) x)))
(* x y)
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
(* x (+ y (* -1 (/ (* y z) x))))
x
(* x (+ 1 (* -1 (/ z x))))
(* x (+ 1 (* -1 (/ z x))))
(* x (+ 1 (* -1 (/ z x))))
(* x y)
(* x (+ y (/ (* z (- 1 y)) x)))
(* x (+ y (/ (* z (- 1 y)) x)))
(* x (+ y (/ (* z (- 1 y)) x)))
(* x y)
(* x (+ y (+ (* -1 (/ (* y z) x)) (/ z x))))
(* x (+ y (+ (* -1 (/ (* y z) x)) (/ z x))))
(* x (+ y (+ (* -1 (/ (* y z) x)) (/ z x))))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* x y)
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
(* -1 (* x (+ (* -1 y) (/ (* y z) x))))
x
(* -1 (* x (- (/ z x) 1)))
(* -1 (* x (- (/ z x) 1)))
(* -1 (* x (- (/ z x) 1)))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ z (* -1 (* y z))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ z (* -1 (* y z))) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ z (* -1 (* y z))) x)))))
Outputs
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y 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
(+ x (* -1 z))
(-.f64 x z)
(+ x (* -1 z))
(-.f64 x z)
(+ x (* -1 z))
(-.f64 x z)
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(* x y)
(*.f64 y x)
(+ (* x y) (* z (+ 1 (* -1 y))))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (+ 1 (* -1 y))))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (+ 1 (* -1 y))))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* -1 z)
(neg.f64 z)
(* z (- (/ x z) 1))
(-.f64 x z)
(* z (- (/ x z) 1))
(-.f64 x z)
(* z (- (/ x z) 1))
(-.f64 x z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (+ 1 (* -1 y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (+ 1 (+ (* -1 y) (/ (* x y) z))))
(fma.f64 (-.f64 x z) y z)
(* z (+ 1 (+ (* -1 y) (/ (* x y) z))))
(fma.f64 (-.f64 x z) y z)
(* z (+ 1 (+ (* -1 y) (/ (* x y) z))))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 z)
(neg.f64 z)
(* -1 (* z (+ 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)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (- y 1)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 (* z (- (+ y (* -1 (/ (* x y) z))) 1)))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (- (+ y (* -1 (/ (* x y) z))) 1)))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (- (+ y (* -1 (/ (* x y) z))) 1)))
(fma.f64 (-.f64 x z) y z)
z
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
z
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
z
(+ z (* -1 (* y z)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ z (* -1 (* y z)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ z (* -1 (* y z)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
1
#s(literal 1 binary64)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
z
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) 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)
z
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
z
(+ z (* y (- x z)))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (- x z)))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (- x z)))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* 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) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* y (+ (* -1 z) (/ z y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* y (+ (* -1 z) (/ z y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* y (+ (* -1 z) (/ z y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 y)
(neg.f64 y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) 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 (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* y (- (+ x (/ z y)) z))
(fma.f64 (-.f64 x z) y z)
(* y (- (+ x (/ z y)) z))
(fma.f64 (-.f64 x z) y z)
(* y (- (+ x (/ z y)) z))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (* -1 x))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* 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) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y (+ z (* -1 (/ z y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 (* y (+ z (* -1 (/ z y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 (* y (+ z (* -1 (/ z y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (+ z (* -1 x))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) 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)
(* -1 (* y (+ z (* -1 x))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* y (- x z))
(*.f64 (-.f64 x z) y)
(* -1 (* y (+ (* -1 (- x z)) (* -1 (/ z y)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ (* -1 (- x z)) (* -1 (/ z y)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ (* -1 (- x z)) (* -1 (/ z y)))))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* x y)
(*.f64 y x)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(* -1 z)
(neg.f64 z)
(- x z)
(-.f64 x z)
(- x z)
(-.f64 x z)
(- x z)
(-.f64 x z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ z (* -1 (* y z)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ z (+ (* -1 (* y z)) (* x y)))
(fma.f64 (-.f64 x z) y z)
(+ z (+ (* -1 (* y z)) (* x y)))
(fma.f64 (-.f64 x z) y z)
(+ z (+ (* -1 (* y z)) (* x y)))
(fma.f64 (-.f64 x z) y z)
(* x y)
(*.f64 y x)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* 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 (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x y)
(*.f64 y x)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y 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
(* x (+ 1 (* -1 (/ z x))))
(-.f64 x z)
(* x (+ 1 (* -1 (/ z x))))
(-.f64 x z)
(* x (+ 1 (* -1 (/ z x))))
(-.f64 x z)
(* x y)
(*.f64 y x)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x y)
(*.f64 y x)
(* x (+ y (+ (* -1 (/ (* y z) x)) (/ z x))))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (+ (* -1 (/ (* y z) x)) (/ z x))))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (+ (* -1 (/ (* y z) x)) (/ z x))))
(fma.f64 (-.f64 x z) y z)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* 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) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y 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
(* -1 (* x (- (/ z x) 1)))
(-.f64 x z)
(* -1 (* x (- (/ z x) 1)))
(-.f64 x z)
(* -1 (* x (- (/ z x) 1)))
(-.f64 x z)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ z (* -1 (* y z))) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ z (* -1 (* y z))) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ z (* -1 (* y z))) x)))))
(fma.f64 (-.f64 x z) y z)

rewrite556.0ms (9.9%)

Memory
-9.3MiB live, 313.3MiB allocated
Rules
7 622×lower-fma.f32
7 620×lower-fma.f64
4 948×lower-*.f32
4 942×lower-*.f64
2 996×lower-/.f64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01884
02484
18284
257972
3748372
0801372
Stop Event
iter limit
node limit
iter limit
Counts
10 → 393
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x))
(*.f64 y x)
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 x z) y))
(*.f64 (-.f64 x z) y)
(-.f64 x z)
#s(approx (+ (* x y) (* z (- 1 y))) (fma.f64 (-.f64 x z) y z))
(fma.f64 (-.f64 x z) y z)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval114.0ms (2%)

Memory
18.3MiB live, 217.4MiB allocated
Compiler

Compiled 13 661 to 1 633 computations (88% saved)

prune122.0ms (2.2%)

Memory
-12.6MiB live, 64.1MiB allocated
Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New7792781
Fresh000
Picked044
Done000
Total7796785
Accuracy
100.0%
Counts
785 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (+ (* x y) (* z (- 1 y))) (fma.f64 (-.f64 x z) y z))
61.8%
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 x z) y))
62.4%
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
25.0%
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- x z) (neg.f64 z)) y))
40.2%
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z))
41.2%
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x))
Compiler

Compiled 34 to 38 computations (-11.8% saved)

simplify110.0ms (2%)

Memory
0.7MiB live, 40.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 z)
cost-diff0
#s(approx (- x z) (neg.f64 z))
cost-diff0
(*.f64 #s(approx (- x z) (neg.f64 z)) y)
cost-diff0
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- x z) (neg.f64 z)) y))
cost-diff0
#s(approx (- 1 y) #s(literal 1 binary64))
cost-diff0
(*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z)
cost-diff0
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z))
Rules
704×lower-fma.f64
704×lower-fma.f32
336×lower-*.f32
332×lower-*.f64
184×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01667
01967
13267
24667
37563
414863
521463
636563
757763
866663
969563
1078163
1182963
1283363
1383763
1484363
1584763
084761
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z))
(*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z)
#s(approx (- 1 y) #s(literal 1 binary64))
#s(literal 1 binary64)
z
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- x z) (neg.f64 z)) y))
(*.f64 #s(approx (- x z) (neg.f64 z)) y)
#s(approx (- x z) (neg.f64 z))
(neg.f64 z)
z
y
Outputs
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z))
(*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z)
#s(approx (- 1 y) #s(literal 1 binary64))
#s(literal 1 binary64)
z
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- x z) (neg.f64 z)) y))
(*.f64 #s(approx (- x z) (neg.f64 z)) y)
#s(approx (- x z) (neg.f64 z))
(neg.f64 z)
z
y

localize28.0ms (0.5%)

Memory
28.1MiB live, 28.1MiB allocated
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
accuracy0
(neg.f64 z)
accuracy0.0078125
(*.f64 #s(approx (- x z) (neg.f64 z)) y)
accuracy24.416534309559566
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- x z) (neg.f64 z)) y))
accuracy32.430767170139426
#s(approx (- x z) (neg.f64 z))
accuracy0.00390625
(*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z)
accuracy24.041152261734428
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z))
accuracy28.67735463164862
#s(approx (- 1 y) #s(literal 1 binary64))
Samples
20.0ms256×0valid
Compiler

Compiled 42 to 14 computations (66.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-mult: 6.0ms (52.1% of total)
ival-sub: 2.0ms (17.4% of total)
ival-add: 1.0ms (8.7% of total)
ival-neg: 1.0ms (8.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series58.0ms (1%)

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

9 calls:

TimeVariablePointExpression
35.0ms
y
@inf
((+ (* x y) (* z (- 1 y))) (* (- 1 y) z) (- 1 y) (+ (* x y) (* z (- 1 y))) (* (- x z) y) (- x z) (neg z))
15.0ms
y
@-inf
((+ (* x y) (* z (- 1 y))) (* (- 1 y) z) (- 1 y) (+ (* x y) (* z (- 1 y))) (* (- x z) y) (- x z) (neg z))
1.0ms
z
@inf
((+ (* x y) (* z (- 1 y))) (* (- 1 y) z) (- 1 y) (+ (* x y) (* z (- 1 y))) (* (- x z) y) (- x z) (neg z))
1.0ms
z
@-inf
((+ (* x y) (* z (- 1 y))) (* (- 1 y) z) (- 1 y) (+ (* x y) (* z (- 1 y))) (* (- x z) y) (- x z) (neg z))
0.0ms
x
@-inf
((+ (* x y) (* z (- 1 y))) (* (- 1 y) z) (- 1 y) (+ (* x y) (* z (- 1 y))) (* (- x z) y) (- x z) (neg z))

simplify183.0ms (3.3%)

Memory
6.9MiB live, 160.9MiB allocated
Algorithm
egg-herbie
Rules
7 194×lower-fma.f64
7 194×lower-fma.f32
2 540×lower-*.f64
2 540×lower-*.f32
1 280×lower--.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0861062
1293852
2839852
32211852
44345852
56289852
67293852
77907852
08005798
Stop Event
iter limit
node limit
Counts
180 → 174
Calls
Call 1
Inputs
(* x y)
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* x y)
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 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 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* z (- 1 y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- (+ 1 (/ (* x y) z)) y))
(* z (- (+ 1 (/ (* 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 z)
(* -1 z)
(* -1 z)
(* -1 z)
(* z (- 1 y))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* z (- 1 y))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(* -1 (* y z))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(* -1 z)
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(* -1 z)
(* -1 z)
(* -1 z)
(* -1 z)
z
(+ z (* y (+ x (* -1 z))))
(+ z (* y (+ x (* -1 z))))
(+ z (* y (+ x (* -1 z))))
z
(+ z (* -1 (* y z)))
(+ z (* -1 (* y z)))
(+ z (* -1 (* y z)))
1
(+ 1 (* -1 y))
(+ 1 (* -1 y))
(+ 1 (* -1 y))
z
(+ z (* y (+ x (* -1 z))))
(+ z (* y (+ x (* -1 z))))
(+ z (* y (+ x (* -1 z))))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (+ x (* -1 z)))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (+ x (+ (* -1 z) (/ z y))))
(* -1 (* y z))
(* y (+ (* -1 z) (/ z y)))
(* y (+ (* -1 z) (/ z y)))
(* y (+ (* -1 z) (/ z y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (- (/ 1 y) 1))
(* y (+ x (* -1 z)))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (+ x (+ (* -1 z) (/ z y))))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y z))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 y)
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (+ z (* -1 x))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* y (- x z))
(* z (- 1 y))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(* z (- 1 y))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(+ (* x y) (* z (- 1 y)))
(* -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 (/ (* z (- 1 y)) x)))
(* x (+ y (/ (* z (- 1 y)) x)))
(* x (+ y (/ (* z (- 1 y)) x)))
(* x y)
(* x (+ y (/ (* z (- 1 y)) x)))
(* x (+ y (/ (* z (- 1 y)) x)))
(* x (+ y (/ (* z (- 1 y)) 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) (* -1 (/ (* z (- 1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) 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)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* x y)
(*.f64 y x)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y 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
(+ x (* -1 z))
(-.f64 x z)
(+ x (* -1 z))
(-.f64 x z)
(+ x (* -1 z))
(-.f64 x z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* z (- (+ 1 (/ (* x y) z)) y))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* z (+ (* -1 y) (/ (* x y) z)))
(*.f64 (-.f64 x z) y)
(* -1 z)
(neg.f64 z)
(* z (- (/ x z) 1))
(-.f64 x z)
(* z (- (/ x z) 1))
(-.f64 x z)
(* z (- (/ x z) 1))
(-.f64 x z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* z (+ (* -1 (- 1 y)) (* -1 (/ (* x y) z)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 (* z (+ y (* -1 (/ (* x y) z)))))
(*.f64 (-.f64 x z) y)
(* -1 z)
(neg.f64 z)
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(-.f64 x z)
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(-.f64 x z)
(* -1 (* z (+ 1 (* -1 (/ x z)))))
(-.f64 x z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
(* -1 z)
(neg.f64 z)
z
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
z
(+ z (* -1 (* y z)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ z (* -1 (* y z)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ z (* -1 (* y z)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
1
#s(literal 1 binary64)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
z
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) y z)
(+ z (* y (+ x (* -1 z))))
(fma.f64 (-.f64 x z) 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 (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* y (+ (* -1 z) (/ z y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* y (+ (* -1 z) (/ z y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* y (+ (* -1 z) (/ z y)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 y)
(neg.f64 y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (- (/ 1 y) 1))
(-.f64 #s(literal 1 binary64) y)
(* y (+ x (* -1 z)))
(*.f64 (-.f64 x z) y)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) y z)
(* y (+ x (+ (* -1 z) (/ z y))))
(fma.f64 (-.f64 x z) 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)
(* -1 (* y (+ z (* -1 x))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(* -1 (* y (+ z (* -1 (/ z y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 (* y (+ z (* -1 (/ z y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 (* y (+ z (* -1 (/ z y)))))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(* -1 y)
(neg.f64 y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (- 1 (/ 1 y))))
(-.f64 #s(literal 1 binary64) y)
(* -1 (* y (+ z (* -1 x))))
(*.f64 (-.f64 x z) y)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y (+ z (+ (* -1 x) (* -1 (/ z y))))))
(fma.f64 (-.f64 x z) 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)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(* z (- 1 y))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(+ (* x y) (* z (- 1 y)))
(fma.f64 (-.f64 x z) y z)
(* -1 (* y z))
(*.f64 (neg.f64 y) z)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(+ (* -1 (* y z)) (* x y))
(*.f64 (-.f64 x z) y)
(* -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 (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x y)
(*.f64 y x)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y z)
(* x (+ y (/ (* z (- 1 y)) x)))
(fma.f64 (-.f64 x z) y 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
(* 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) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* x y)
(*.f64 y x)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* z (- 1 y)) x)))))
(fma.f64 (-.f64 x z) y 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
(* -1 (* x (- (/ z x) 1)))
(-.f64 x z)
(* -1 (* x (- (/ z x) 1)))
(-.f64 x z)
(* -1 (* x (- (/ z x) 1)))
(-.f64 x z)

rewrite148.0ms (2.7%)

Memory
-2.5MiB live, 191.5MiB allocated
Rules
4 962×lower-fma.f64
4 962×lower-fma.f32
3 892×lower-*.f32
3 888×lower-*.f64
1 852×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01663
01963
16963
245663
3542759
0886555
Stop Event
iter limit
node limit
iter limit
Counts
7 → 40
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z))
(*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z)
#s(approx (- 1 y) #s(literal 1 binary64))
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- x z) (neg.f64 z)) y))
(*.f64 #s(approx (- x z) (neg.f64 z)) y)
#s(approx (- x z) (neg.f64 z))
(neg.f64 z)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval23.0ms (0.4%)

Memory
12.6MiB live, 49.7MiB allocated
Compiler

Compiled 1 489 to 182 computations (87.8% saved)

prune7.0ms (0.1%)

Memory
21.8MiB live, 21.8MiB allocated
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New2140214
Fresh000
Picked022
Done044
Total2146220
Accuracy
100.0%
Counts
220 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (+ (* x y) (* z (- 1 y))) (fma.f64 (-.f64 x z) y z))
61.8%
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 x z) y))
62.4%
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
25.0%
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- x z) (neg.f64 z)) y))
40.2%
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z))
41.2%
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x))
Compiler

Compiled 77 to 62 computations (19.5% saved)

regimes15.0ms (0.3%)

Memory
-12.4MiB live, 26.0MiB allocated
Counts
7 → 1
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x))
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z))
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- x z) (neg.f64 z)) y))
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 x z) y))
#s(approx (+ (* x y) (* z (- 1 y))) (fma.f64 (-.f64 x z) y z))
(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))
Outputs
#s(approx (+ (* x y) (* z (- 1 y))) (fma.f64 (-.f64 x z) y z))
Calls

4 calls:

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

Compiled 12 to 17 computations (-41.7% saved)

regimes10.0ms (0.2%)

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

4 calls:

2.0ms
(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))
2.0ms
y
2.0ms
x
2.0ms
z
Results
AccuracySegmentsBranch
80.0%3x
85.7%3y
81.3%3z
74.3%3(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes31.0ms (0.5%)

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

3 calls:

26.0ms
z
2.0ms
x
2.0ms
y
Results
AccuracySegmentsBranch
76.4%3x
77.2%3z
73.1%5y
Compiler

Compiled 3 to 9 computations (-200% saved)

regimes8.0ms (0.1%)

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

4 calls:

2.0ms
(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))
2.0ms
y
2.0ms
x
2.0ms
z
Results
AccuracySegmentsBranch
72.6%6y
56.0%4(+.f64 (*.f64 x y) (*.f64 z (-.f64 #s(literal 1 binary64) y)))
61.5%4x
60.5%4z
Compiler

Compiled 12 to 17 computations (-41.7% saved)

regimes2.0ms (0%)

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

1 calls:

2.0ms
y
Results
AccuracySegmentsBranch
65.4%3y
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes5.0ms (0.1%)

Memory
9.0MiB live, 9.0MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

4 calls:

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

Compiled 12 to 17 computations (-41.7% saved)

bsearch37.0ms (0.7%)

Memory
-14.8MiB live, 21.8MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
23.0ms
1.0232585979179604e-75
3.3797155684373812e-71
11.0ms
-4.356318729313897e-43
-1.5377632090389939e-46
Samples
12.0ms256×0valid
Compiler

Compiled 188 to 254 computations (-35.1% saved)

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

bsearch21.0ms (0.4%)

Memory
18.3MiB live, 18.3MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
1.5459673657536903e-111
1.6198334412776127e-106
7.0ms
-6.246819070165782e-90
-2.1878464671534827e-90
Samples
11.0ms224×0valid
Compiler

Compiled 152 to 210 computations (-38.2% saved)

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

bsearch216.0ms (3.9%)

Memory
-21.2MiB live, 51.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
2.0170455398311277e+251
1.1272647330191695e+255
13.0ms
2.0746509674684727e+116
1.3201988879505599e+126
1.0ms
1.0232585979179604e-75
3.3797155684373812e-71
91.0ms
-5.698499936789726e-26
-8.173831770776959e-29
12.0ms
-3.618207716341635e+195
-1.6564441183546479e+189
Samples
27.0ms560×0valid
Compiler

Compiled 442 to 632 computations (-43% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-mult: 8.0ms (57.8% of total)
ival-sub: 3.0ms (21.7% of total)
ival-add: 2.0ms (14.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch2.0ms (0%)

Memory
5.1MiB live, 5.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.0232585979179604e-75
3.3797155684373812e-71
1.0ms
-4.356318729313897e-43
-1.5377632090389939e-46
Compiler

Compiled 156 to 238 computations (-52.6% saved)

simplify61.0ms (1.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
055298
169298
275298
378298
479298
Stop Event
saturated
Calls
Call 1
Inputs
#s(approx (+ (* x y) (* z (- 1 y))) (fma.f64 (-.f64 x z) y z))
(if (<=.f64 y #s(literal -3916911482881289/50216813883093446110686315385661331328818843555712276103168 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 x z) y)) (if (<=.f64 y #s(literal 1025729175095185/31082702275611665134711390509176302506278509424834232340028998555822468563283335970816 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 x z) y))))
(if (<=.f64 z #s(literal -6651145986371207/1146749307995035755805410447651043470398282494584140561868794419693461438044242404035009276555062843277312 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) (if (<=.f64 z #s(literal 465383402028335/5288447750321988791615322464262168318627237463714249754277190362195246329890490766601513683517722278780729696200186866434048 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))))
(if (<=.f64 y #s(literal -160000000000000010596402131137168366253036462508507074809195497824989931310728747434726056871537343298234036883047299261189293889656091886360654671960176192648332940994688661346430037205863890944 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x)) (if (<=.f64 y #s(literal -2439144006089287/43556142965880123323311949751266331066368 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- x z) (neg.f64 z)) y)) (if (<=.f64 y #s(literal 1025729175095185/31082702275611665134711390509176302506278509424834232340028998555822468563283335970816 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z)) (if (<=.f64 y #s(literal 1400000000000000056864304477984527583936700396233028734937012235789482958769187272966851624175927314247372970328158254399488 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x)) (if (<=.f64 y #s(literal 369999999999999989883170558980551378405655778896063626792676533108549224492326875366991649853297282565917358687779187043978211877784656222954782118934859032142174662137733649355985202906267298363860303243186046347798671257911718980647011585022784176128 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- x z) (neg.f64 z)) y)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x)))))))
(if (<=.f64 y #s(literal -8034690221294951/100433627766186892221372630771322662657637687111424552206336 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x)) (if (<=.f64 y #s(literal 1025729175095185/31082702275611665134711390509176302506278509424834232340028998555822468563283335970816 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x))))
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x))
Outputs
#s(approx (+ (* x y) (* z (- 1 y))) (fma.f64 (-.f64 x z) y z))
(if (<=.f64 y #s(literal -3916911482881289/50216813883093446110686315385661331328818843555712276103168 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 x z) y)) (if (<=.f64 y #s(literal 1025729175095185/31082702275611665134711390509176302506278509424834232340028998555822468563283335970816 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 x z) y))))
(if (<=.f64 z #s(literal -6651145986371207/1146749307995035755805410447651043470398282494584140561868794419693461438044242404035009276555062843277312 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) (if (<=.f64 z #s(literal 465383402028335/5288447750321988791615322464262168318627237463714249754277190362195246329890490766601513683517722278780729696200186866434048 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))))
(if (<=.f64 y #s(literal -160000000000000010596402131137168366253036462508507074809195497824989931310728747434726056871537343298234036883047299261189293889656091886360654671960176192648332940994688661346430037205863890944 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x)) (if (<=.f64 y #s(literal -2439144006089287/43556142965880123323311949751266331066368 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- x z) (neg.f64 z)) y)) (if (<=.f64 y #s(literal 1025729175095185/31082702275611665134711390509176302506278509424834232340028998555822468563283335970816 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z)) (if (<=.f64 y #s(literal 1400000000000000056864304477984527583936700396233028734937012235789482958769187272966851624175927314247372970328158254399488 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x)) (if (<=.f64 y #s(literal 369999999999999989883170558980551378405655778896063626792676533108549224492326875366991649853297282565917358687779187043978211877784656222954782118934859032142174662137733649355985202906267298363860303243186046347798671257911718980647011585022784176128 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- x z) (neg.f64 z)) y)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x)))))))
(if (<=.f64 y #s(literal -8034690221294951/100433627766186892221372630771322662657637687111424552206336 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x)) (if (<=.f64 y #s(literal 1025729175095185/31082702275611665134711390509176302506278509424834232340028998555822468563283335970816 binary64)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 #s(approx (- 1 y) #s(literal 1 binary64)) z)) #s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x))))
#s(approx (+ (* x y) (* z (- 1 y))) (*.f64 y x))

soundness937.0ms (16.8%)

Memory
10.0MiB live, 403.5MiB allocated
Rules
7 608×lower-fma.f64
7 608×lower-fma.f32
6 394×lower-fma.f64
6 394×lower-fma.f32
2 692×lower-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01131962
13901572
211201572
327041572
453941572
575471572
080471437
057498
1193442
2559442
31395442
43892442
56259442
08055415
Stop Event
done
iter limit
node limit
iter limit
node limit
Compiler

Compiled 190 to 126 computations (33.7% saved)

preprocess51.0ms (0.9%)

Memory
10.6MiB live, 88.3MiB allocated
Compiler

Compiled 292 to 128 computations (56.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...