simple fma test

Time bar (total: 4.6s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze4.0ms (0.1%)

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

sample1.6s (34.2%)

Memory
61.0MiB live, 1 341.7MiB allocated
Samples
798.0ms6 095×1valid
298.0ms2 161×0valid
Precisions
Click to see histograms. Total time spent on operations: 728.0ms
ival-add: 359.0ms (49.3% of total)
ival-mult: 157.0ms (21.6% of total)
adjust: 136.0ms (18.7% of total)
ival-sub: 62.0ms (8.5% of total)
ival-true: 6.0ms (0.8% of total)
exact: 5.0ms (0.7% of total)
ival-assert: 3.0ms (0.4% of total)
Bogosity

explain371.0ms (8.1%)

Memory
6.4MiB live, 202.6MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
18910(-6.740691481804041e-157 -1.3225939829698887e+169 -1.8866936332197097e-227)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)))cancellation1660
-.f64(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))nan-rescue330
(fma.f64 x y z)overflow33
(+.f64 (*.f64 x y) z)overflow33
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))overflow33
(*.f64 x y)overflow33
Confusion
Predicted +Predicted -
+1890
-1057
Precision
0.949748743718593
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+18900
-10057
Precision?
0.949748743718593
Recall?
1.0
Freqs
test
numberfreq
057
1199
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
279.0ms392×1valid
15.0ms120×0valid
Compiler

Compiled 125 to 38 computations (69.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 227.0ms
ival-sub: 204.0ms (89.9% of total)
ival-add: 8.0ms (3.5% of total)
adjust: 8.0ms (3.5% of total)
ival-mult: 6.0ms (2.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess566.0ms (12.4%)

Memory
10.1MiB live, 275.1MiB 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.2MiB live, 1.2MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
15.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)

simplify370.0ms (8.1%)

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

localize94.0ms (2%)

Memory
-22.5MiB live, 86.4MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))
accuracy0.0
(*.f64 x y)
accuracy0.0078125
(+.f64 (*.f64 x y) z)
accuracy54.28983695707382
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
Samples
82.0ms227×1valid
2.0ms29×0valid
Compiler

Compiled 74 to 19 computations (74.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 58.0ms
ival-add: 48.0ms (83% of total)
adjust: 5.0ms (8.7% of total)
ival-mult: 3.0ms (5.2% of total)
ival-sub: 2.0ms (3.5% 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
11.5MiB live, 11.5MiB 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))

simplify100.0ms (2.2%)

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

rewrite311.0ms (6.8%)

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

eval26.0ms (0.6%)

Memory
-6.8MiB live, 28.3MiB allocated
Compiler

Compiled 2 697 to 431 computations (84% saved)

prune3.0ms (0.1%)

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

simplify484.0ms (10.6%)

Memory
-10.7MiB live, 225.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)

localize56.0ms (1.2%)

Memory
11.3MiB live, 58.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
49.0ms227×1valid
1.0ms29×0valid
Compiler

Compiled 32 to 21 computations (34.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 42.0ms
ival-sub: 30.0ms (71.4% of total)
adjust: 5.0ms (11.9% of total)
ival-add: 4.0ms (9.5% of total)
ival-mult: 3.0ms (7.1% 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.3MiB live, 1.3MiB 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
x
@-inf
((- (+ (* x y) z) (+ 1 (+ (* x y) z))))
0.0ms
y
@inf
((- (+ (* x y) z) (+ 1 (+ (* x y) z))))
0.0ms
z
@-inf
((- (+ (* x y) z) (+ 1 (+ (* x y) z))))

simplify10.0ms (0.2%)

Memory
-34.6MiB live, 4.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)

rewrite177.0ms (3.9%)

Memory
4.7MiB live, 156.5MiB 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.2MiB live, 0.2MiB allocated
Compiler

Compiled 15 to 10 computations (33.3% saved)

prune1.0ms (0%)

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

regimes5.0ms (0.1%)

Memory
8.8MiB live, 8.8MiB allocated
Accuracy

Total -54.3b remaining (-∞%)

Threshold costs -54.3b (-∞%)

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:

1.0ms
z
1.0ms
y
1.0ms
x
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)

simplify123.0ms (2.7%)

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

soundness278.0ms (6.1%)

Memory
-5.2MiB live, 83.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)

preprocess29.0ms (0.6%)

Memory
7.2MiB live, 44.0MiB 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...