simple fma test

Time bar (total: 4.1s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.4MiB live, 0.4MiB 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 15 to 10 computations (33.3% saved)

sample1.3s (32.6%)

Memory
33.6MiB live, 1 316.1MiB allocated
Samples
864.0ms6 079×1valid
109.0ms2 177×0valid
Precisions
Click to see histograms. Total time spent on operations: 545.0ms
ival-add: 161.0ms (29.6% of total)
ival-mult: 152.0ms (27.9% of total)
adjust: 151.0ms (27.7% of total)
ival-sub: 66.0ms (12.1% of total)
ival-true: 7.0ms (1.3% of total)
exact: 6.0ms (1.1% of total)
ival-assert: 3.0ms (0.6% of total)
Bogosity

explain348.0ms (8.4%)

Memory
1.7MiB live, 159.7MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1885(0.0004498414821843921 8.388594044371954e-128 -1922742668460778.3)0-(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
00-0-(+.f64 (*.f64 x y) z)
00-0-(fma.f64 x y z)
00-0-#s(literal 1 binary64)
00-0-(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))
00-0-z
00-0-(*.f64 x y)
00-0-y
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))cancellation1580
-.f64(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))nan-rescue350
(fma.f64 x y z)overflow35
(+.f64 (*.f64 x y) z)overflow35
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))overflow35
(*.f64 x y)overflow35
Confusion
Predicted +Predicted -
+1880
-563
Precision
0.9740932642487047
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+18800
-5063
Precision?
0.9740932642487047
Recall?
1.0
Freqs
test
numberfreq
063
1193
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
69.0ms382×1valid
7.0ms130×0valid
Compiler

Compiled 125 to 38 computations (69.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 54.0ms
adjust: 29.0ms (54.2% of total)
ival-add: 13.0ms (24.3% of total)
ival-mult: 7.0ms (13.1% of total)
ival-sub: 4.0ms (7.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess479.0ms (11.6%)

Memory
28.4MiB live, 335.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
034138
1119117
23899
315009
430709
540039
646919
754379
861039
961879
1061879
1162959
1263829
1364039
1464159
1564219
1664219
0911
01511
12811
2711
32331
45441
519161
634771
745441
851141
952441
1052761
1152761
1255441
1357191
1457951
1558111
1658111
1758271
1858271
1959551
2067111
083641
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
Outputs
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
#s(literal -1 binary64)
Symmetry

(abs z)

(abs y)

(abs x)

(sort x y z)

Compiler

Compiled 12 to 9 computations (25% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 12 to 9 computations (25% saved)

simplify429.0ms (10.4%)

Memory
-19.4MiB live, 258.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))
cost-diff0
(fma.f64 x y z)
cost-diff128
(+.f64 (*.f64 x y) z)
cost-diff1152
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0932
01532
12832
27122
323322
454422
5191622
6347722
7454422
8511422
9524422
10527622
11527622
12554422
13571922
14579522
15581122
16581122
17582722
18582722
19595522
20671122
0836422
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
(fma.f64 x y z)
x
y
z
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))
#s(literal 1 binary64)
(+.f64 (*.f64 x y) z)
(*.f64 x y)
Outputs
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
#s(literal -1 binary64)
(fma.f64 x y z)
(fma.f64 y x z)
x
y
z
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))
(-.f64 (fma.f64 y x z) #s(literal -1 binary64))
#s(literal 1 binary64)
(+.f64 (*.f64 x y) z)
(fma.f64 y x z)
(*.f64 x y)
(*.f64 y x)

localize61.0ms (1.5%)

Memory
15.4MiB live, 53.0MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 x y)
accuracy0.00390625
(+.f64 (*.f64 x y) z)
accuracy0.00390625
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))
accuracy52.40812712771462
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
Samples
51.0ms220×1valid
2.0ms36×0valid
Compiler

Compiled 74 to 19 computations (74.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-add: 4.0ms (27.5% of total)
adjust: 4.0ms (27.5% of total)
ival-mult: 3.0ms (20.6% of total)
ival-sub: 2.0ms (13.7% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series5.0ms (0.1%)

Memory
6.0MiB live, 6.0MiB allocated
Counts
5 → 19
Calls
Call 1
Inputs
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
(+.f64 (*.f64 x y) z)
(fma.f64 x y z)
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))
(*.f64 x y)
Outputs
-1
z
(+ z (* x y))
(+ 1 z)
(+ 1 (+ z (* x y)))
(* x y)
(* x (+ y (/ z x)))
(* x (+ y (+ (/ 1 x) (/ z x))))
(* -1 (* x (+ (* -1 y) (* -1 (/ z x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ 1 z) x)))))
(* y (+ x (/ z y)))
(* y (+ x (+ (/ 1 y) (/ z y))))
(* -1 (* y (+ (* -1 x) (* -1 (/ z y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ 1 z) y)))))
(+ 1 (* x y))
(* z (+ 1 (/ (* x y) z)))
(* z (+ 1 (+ (/ 1 z) (/ (* x y) z))))
(* -1 (* z (- (* -1 (/ (* x y) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ 1 (* x y)) z)) 1)))
Calls

9 calls:

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

simplify123.0ms (3%)

Memory
-30.1MiB live, 94.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06097
120497
263097
3154497
4400697
5599697
6734897
0805982
Stop Event
iter limit
node limit
Counts
19 → 18
Calls
Call 1
Inputs
-1
z
(+ z (* x y))
(+ 1 z)
(+ 1 (+ z (* x y)))
(* x y)
(* x (+ y (/ z x)))
(* x (+ y (+ (/ 1 x) (/ z x))))
(* -1 (* x (+ (* -1 y) (* -1 (/ z x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ 1 z) x)))))
(* y (+ x (/ z y)))
(* y (+ x (+ (/ 1 y) (/ z y))))
(* -1 (* y (+ (* -1 x) (* -1 (/ z y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ 1 z) y)))))
(+ 1 (* x y))
(* z (+ 1 (/ (* x y) z)))
(* z (+ 1 (+ (/ 1 z) (/ (* x y) z))))
(* -1 (* z (- (* -1 (/ (* x y) z)) 1)))
(* -1 (* z (- (* -1 (/ (+ 1 (* x y)) z)) 1)))
Outputs
-1
#s(literal -1 binary64)
z
(+ z (* x y))
(fma.f64 y x z)
(+ 1 z)
(-.f64 z #s(literal -1 binary64))
(+ 1 (+ z (* x y)))
(fma.f64 y x (-.f64 z #s(literal -1 binary64)))
(* x y)
(*.f64 y x)
(* x (+ y (/ z x)))
(fma.f64 y x z)
(* x (+ y (+ (/ 1 x) (/ z x))))
(fma.f64 y x (-.f64 z #s(literal -1 binary64)))
(* -1 (* x (+ (* -1 y) (* -1 (/ z x)))))
(fma.f64 y x z)
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ 1 z) x)))))
(fma.f64 y x (-.f64 z #s(literal -1 binary64)))
(* y (+ x (/ z y)))
(fma.f64 y x z)
(* y (+ x (+ (/ 1 y) (/ z y))))
(fma.f64 y x (-.f64 z #s(literal -1 binary64)))
(* -1 (* y (+ (* -1 x) (* -1 (/ z y)))))
(fma.f64 y x z)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ 1 z) y)))))
(fma.f64 y x (-.f64 z #s(literal -1 binary64)))
(+ 1 (* x y))
(fma.f64 y x #s(literal 1 binary64))
(* z (+ 1 (/ (* x y) z)))
(fma.f64 y x z)
(* z (+ 1 (+ (/ 1 z) (/ (* x y) z))))
(fma.f64 y x (-.f64 z #s(literal -1 binary64)))
(* -1 (* z (- (* -1 (/ (* x y) z)) 1)))
(fma.f64 y x z)
(* -1 (* z (- (* -1 (/ (+ 1 (* x y)) z)) 1)))
(fma.f64 y x (-.f64 z #s(literal -1 binary64)))

rewrite294.0ms (7.1%)

Memory
10.4MiB live, 164.2MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0928
01528
16328
262818
0846618
Stop Event
iter limit
node limit
iter limit
Counts
5 → 148
Calls
Call 1
Inputs
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
(+.f64 (*.f64 x y) z)
(fma.f64 x y z)
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))
(*.f64 x y)
Outputs
#s(literal -1 binary64)
(*.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 z (*.f64 y x))))
(*.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z))) (/.f64 #s(literal 1 binary64) (neg.f64 (-.f64 (*.f64 y x) z))))
(*.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z)) (pow.f64 (-.f64 (*.f64 y x) z) #s(literal -1 binary64)))
(*.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 z z (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) z)))))
(*.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (pow.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (fma.f64 y x z))
(*.f64 (fma.f64 y x z) #s(literal 1 binary64))
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y x z)) #s(literal -1 binary64))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z)) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) (fma.f64 (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z)) (*.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z))))))
(/.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (neg.f64 (-.f64 z (*.f64 y x))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z)))) (neg.f64 (neg.f64 (-.f64 (*.f64 y x) z))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) (*.f64 (-.f64 (*.f64 y x) z) (*.f64 z z))) (pow.f64 (-.f64 (*.f64 y x) z) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 z (*.f64 y x)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y x z))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 y x) z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 z z (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) z)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z)) (-.f64 (*.f64 y x) z))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 z z (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) z))))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 z (*.f64 y x)) (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 z z (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) z))) (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y x z)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 y x z)))
(fma.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (-.f64 (*.f64 y x) z) #s(literal -1 binary64)) (neg.f64 (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z))))
(fma.f64 (*.f64 y x) #s(literal 1 binary64) z)
(fma.f64 #s(literal 1 binary64) (*.f64 y x) z)
(fma.f64 #s(literal 1 binary64) z (*.f64 y x))
(fma.f64 z #s(literal 1 binary64) (*.f64 y x))
(fma.f64 y x z)
(fma.f64 x y z)
(-.f64 (/.f64 (*.f64 z z) (-.f64 z (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 z (*.f64 y x))))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z)))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) (neg.f64 (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z))))
(+.f64 (*.f64 y x) z)
(+.f64 z (*.f64 y x))
(*.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 z (*.f64 y x))))
(*.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z))) (/.f64 #s(literal 1 binary64) (neg.f64 (-.f64 (*.f64 y x) z))))
(*.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z)) (pow.f64 (-.f64 (*.f64 y x) z) #s(literal -1 binary64)))
(*.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 z z (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) z)))))
(*.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (pow.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (fma.f64 y x z))
(*.f64 (fma.f64 y x z) #s(literal 1 binary64))
(pow.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y x z)) #s(literal -1 binary64))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z)) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) (fma.f64 (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z)) (*.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z))))))
(/.f64 (neg.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (neg.f64 (-.f64 z (*.f64 y x))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z)))) (neg.f64 (neg.f64 (-.f64 (*.f64 y x) z))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) (*.f64 (-.f64 (*.f64 y x) z) (*.f64 z z))) (pow.f64 (-.f64 (*.f64 y x) z) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 z (*.f64 y x)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y x z))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 y x) z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 z z (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) z)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z)) (-.f64 (*.f64 y x) z))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 z z (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) z))))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 z (*.f64 y x)) (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 z z (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) z))) (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (fma.f64 y x z)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (fma.f64 y x z)))
(fma.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 (-.f64 (*.f64 y x) z) #s(literal -1 binary64)) (neg.f64 (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z))))
(fma.f64 (*.f64 y x) #s(literal 1 binary64) z)
(fma.f64 #s(literal 1 binary64) (*.f64 y x) z)
(fma.f64 #s(literal 1 binary64) z (*.f64 y x))
(fma.f64 z #s(literal 1 binary64) (*.f64 y x))
(fma.f64 y x z)
(fma.f64 x y z)
(-.f64 (/.f64 (*.f64 z z) (-.f64 z (*.f64 y x))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 z (*.f64 y x))))
(-.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z)))
(+.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 y x) z)) (neg.f64 (/.f64 (*.f64 z z) (-.f64 (*.f64 y x) z))))
(+.f64 (*.f64 y x) z)
(+.f64 z (*.f64 y x))
(*.f64 (-.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 z z)) (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 y x #s(literal 1 binary64)) z)))
(*.f64 (-.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 y x z) #s(literal 1 binary64))))
(*.f64 (+.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 z z) (*.f64 (fma.f64 y x #s(literal 1 binary64)) z)))))
(*.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))))
(*.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) #s(literal 1 binary64)))))
(*.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64))) (pow.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z)) #s(literal -1 binary64)))
(*.f64 (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))))
(*.f64 (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) #s(literal 1 binary64)) (pow.f64 (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64)))
(*.f64 (+.f64 #s(literal 1 binary64) (fma.f64 y x z)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 y x z)))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 y x z))) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 (+.f64 #s(literal 1 binary64) z) (+.f64 #s(literal 1 binary64) z)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (-.f64 (+.f64 #s(literal 1 binary64) z) (*.f64 y x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (+.f64 z #s(literal 1 binary64)) (+.f64 z #s(literal 1 binary64)))) (-.f64 (*.f64 y x) (+.f64 z #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64))) (-.f64 z (fma.f64 y x #s(literal 1 binary64))))
(/.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z)) #s(literal -1 binary64)) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (fma.f64 y x z))) #s(literal 3 binary64))) (fma.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z)) #s(literal -1 binary64)) (pow.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z)) #s(literal -1 binary64)) (fma.f64 (/.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (fma.f64 y x z))) (/.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (fma.f64 y x z))) (*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z)) #s(literal -1 binary64)) (/.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))))))
(/.f64 (+.f64 (pow.f64 (+.f64 #s(literal 1 binary64) z) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (+.f64 #s(literal 1 binary64) z) (+.f64 #s(literal 1 binary64) z) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (+.f64 #s(literal 1 binary64) z) (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (+.f64 z #s(literal 1 binary64)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (*.f64 (+.f64 z #s(literal 1 binary64)) (+.f64 z #s(literal 1 binary64))) (*.f64 (*.f64 y x) (+.f64 z #s(literal 1 binary64))))))
(/.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 3 binary64))) (fma.f64 z z (-.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 z (fma.f64 y x #s(literal 1 binary64))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 z z))) (neg.f64 (-.f64 (fma.f64 y x #s(literal 1 binary64)) z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 z z) (*.f64 (fma.f64 y x #s(literal 1 binary64)) z)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (fma.f64 y x z) #s(literal 1 binary64))))
(/.f64 (neg.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) #s(literal 1 binary64)))) (neg.f64 (neg.f64 (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) #s(literal 1 binary64)))))
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (fma.f64 y x z))) (*.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z)) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)))) (pow.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z)) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 z z)) (-.f64 (fma.f64 y x #s(literal 1 binary64)) z))
(/.f64 (-.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 y x z)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 z z) (*.f64 (fma.f64 y x #s(literal 1 binary64)) z))))
(/.f64 (neg.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)))) (neg.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) #s(literal 1 binary64))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (fma.f64 y x z) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (fma.f64 y x z))))
(/.f64 (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 y x z) (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (fma.f64 y x #s(literal 1 binary64)) z) (-.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64)) (*.f64 z z))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (fma.f64 y x z) #s(literal 1 binary64)) (-.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64)) (-.f64 (*.f64 z z) (*.f64 (fma.f64 y x #s(literal 1 binary64)) z))) (+.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 3 binary64)) (pow.f64 z #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (fma.f64 y x z))) (+.f64 (pow.f64 (fma.f64 y x z) #s(literal 3 binary64)) #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 y x z))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (fma.f64 y x z))))
(fma.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) (*.f64 y x))) z)
(fma.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 z (*.f64 y x))) #s(literal 1 binary64))
(fma.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 y x)))) z)
(fma.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z))) (/.f64 #s(literal 1 binary64) (neg.f64 (-.f64 (*.f64 y x) z))) #s(literal 1 binary64))
(fma.f64 (neg.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (/.f64 #s(literal 1 binary64) (neg.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))))) #s(literal 1 binary64))
(fma.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 z z)) (pow.f64 (-.f64 (*.f64 y x) z) #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 z z (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (*.f64 (*.f64 y x) z)))) #s(literal 1 binary64))
(fma.f64 (+.f64 (pow.f64 z #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (pow.f64 (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 y x) #s(literal 1 binary64) (+.f64 z #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (pow.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z)) #s(literal -1 binary64)) (neg.f64 (/.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))))
(fma.f64 #s(literal 1 binary64) (*.f64 y x) (+.f64 z #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (fma.f64 y x z) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) z (fma.f64 y x #s(literal 1 binary64)))
(fma.f64 (fma.f64 y x z) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 z #s(literal 1 binary64) (fma.f64 y x #s(literal 1 binary64)))
(fma.f64 y x (+.f64 z #s(literal 1 binary64)))
(fma.f64 x y (+.f64 z #s(literal 1 binary64)))
(-.f64 (/.f64 (pow.f64 (fma.f64 y x #s(literal 1 binary64)) #s(literal 2 binary64)) (-.f64 (fma.f64 y x #s(literal 1 binary64)) z)) (/.f64 (*.f64 z z) (-.f64 (fma.f64 y x #s(literal 1 binary64)) z)))
(-.f64 (/.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (-.f64 (fma.f64 y x z) #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (fma.f64 y x z) #s(literal 1 binary64))))
(-.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z)) #s(literal -1 binary64)) (/.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (fma.f64 y x z))))
(+.f64 (+.f64 #s(literal 1 binary64) z) (*.f64 y x))
(+.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (fma.f64 y x z)) #s(literal -1 binary64)) (neg.f64 (/.f64 (pow.f64 (fma.f64 y x z) #s(literal 2 binary64)) (-.f64 #s(literal 1 binary64) (fma.f64 y x z)))))
(+.f64 (fma.f64 y x #s(literal 1 binary64)) z)
(+.f64 (*.f64 y x) (+.f64 z #s(literal 1 binary64)))
(+.f64 #s(literal 1 binary64) (fma.f64 y x z))
(+.f64 (fma.f64 y x z) #s(literal 1 binary64))
(+.f64 z (fma.f64 y x #s(literal 1 binary64)))
(*.f64 (*.f64 y x) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 y x))
(*.f64 y x)
(*.f64 x y)

eval13.0ms (0.3%)

Memory
15.7MiB live, 15.7MiB allocated
Compiler

Compiled 2 697 to 431 computations (84% saved)

prune2.0ms (0.1%)

Memory
4.4MiB live, 4.4MiB allocated
Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New1151116
Fresh000
Picked101
Done000
Total1161117
Accuracy
100.0%
Counts
117 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))
Compiler

Compiled 15 to 10 computations (33.3% saved)

simplify470.0ms (11.4%)

Memory
16.6MiB live, 173.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01016
01016
12316
2654
32284
45364
519404
634934
745544
851214
952514
1052834
1152834
1255514
1357264
1458024
1558184
1658184
1758344
1858344
1959624
2067174
084054
Stop Event
iter limit
node limit
saturated
Calls
Call 1
Inputs
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))
#s(literal -1 binary64)
Outputs
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))
#s(literal -1 binary64)

localize70.0ms (1.7%)

Memory
-13.5MiB live, 61.7MiB allocated
Localize:

Found 1 expressions of interest:

NewMetricScoreProgram
accuracy0.0
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))
Samples
32.0ms219×1valid
2.0ms37×0valid
Compiler

Compiled 32 to 21 computations (34.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-add: 6.0ms (30.5% of total)
adjust: 6.0ms (30.5% of total)
ival-mult: 4.0ms (20.4% of total)
ival-sub: 3.0ms (15.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series0.0ms (0%)

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

9 calls:

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

simplify2.0ms (0%)

Memory
5.5MiB live, 5.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011
011
Stop Event
saturated
saturated
Counts
1 → 1
Calls
Call 1
Inputs
-1
Outputs
-1
#s(literal -1 binary64)

rewrite181.0ms (4.4%)

Memory
-8.1MiB live, 195.7MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01015
01015
15815
26223
084673
Stop Event
iter limit
node limit
saturated
Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))
Outputs
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))

eval0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Compiler

Compiled 15 to 10 computations (33.3% saved)

prune1.0ms (0%)

Memory
2.4MiB live, 2.4MiB allocated
Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New101
Fresh000
Picked011
Done000
Total112
Accuracy
100.0%
Counts
2 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))
Compiler

Compiled 42 to 26 computations (38.1% saved)

regimes7.0ms (0.2%)

Memory
-19.4MiB live, 19.4MiB allocated
Accuracy

Total -52.4b remaining (-∞%)

Threshold costs -52.4b (-∞%)

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

4 calls:

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

Compiled 15 to 18 computations (-20% saved)

simplify46.0ms (1.1%)

Memory
10.9MiB live, 49.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01015
12315
2654
32283
412273
529323
654413
Stop Event
node limit
Calls
Call 1
Inputs
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))
Outputs
#s(approx (- (+ (* x y) z) (+ 1 (+ (* x y) z))) #s(literal -1 binary64))

soundness211.0ms (5.1%)

Memory
-13.6MiB live, 66.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06097
120497
263097
3154497
4400697
5599697
6734897
0805982
Stop Event
done
iter limit
node limit
Compiler

Compiled 16 to 14 computations (12.5% saved)

preprocess36.0ms (0.9%)

Memory
4.8MiB live, 81.8MiB allocated
Remove

(sort x y z)

(abs x)

(abs y)

(abs z)

Compiler

Compiled 176 to 126 computations (28.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...