simple fma test

Time bar (total: 4.5s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

Memory
0.3MiB live, 0.3MiB 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 (35.1%)

Memory
45.9MiB live, 1 327.4MiB allocated
Samples
780.0ms6 002×1valid
112.0ms2 254×0valid
Precisions
Click to see histograms. Total time spent on operations: 546.0ms
ival-add: 203.0ms (37.2% of total)
adjust: 147.0ms (26.9% of total)
ival-mult: 111.0ms (20.3% of total)
ival-sub: 69.0ms (12.6% of total)
ival-true: 7.0ms (1.3% of total)
exact: 5.0ms (0.9% of total)
ival-assert: 4.0ms (0.7% of total)
Bogosity

explain201.0ms (4.5%)

Memory
4.1MiB live, 281.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1809(-5.7999329965927475e-151 3.9199754846960264e-181 -4188253612985.4497)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)))cancellation1680
-.f64(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))nan-rescue210
(fma.f64 x y z)overflow21
(+.f64 (*.f64 x y) z)overflow21
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))overflow21
(*.f64 x y)overflow21
Confusion
Predicted +Predicted -
+1800
-967
Precision
0.9523809523809523
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+18000
-9067
Precision?
0.9523809523809523
Recall?
1.0
Freqs
test
numberfreq
067
1189
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
44.0ms370×1valid
12.0ms142×0valid
Compiler

Compiled 90 to 29 computations (67.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 32.0ms
ival-add: 12.0ms (37.8% of total)
adjust: 8.0ms (25.2% of total)
ival-mult: 6.0ms (18.9% of total)
ival-sub: 4.0ms (12.6% of total)
ival-true: 1.0ms (3.2% of total)
ival-assert: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

preprocess527.0ms (11.7%)

Memory
28.1MiB live, 262.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
17.4%
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
Compiler

Compiled 12 to 9 computations (25% saved)

simplify392.0ms (8.7%)

Memory
-9.8MiB live, 180.0MiB 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-diff1
(+.f64 (*.f64 x y) z)
cost-diff10
(-.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)

localize44.0ms (1%)

Memory
1.1MiB live, 38.1MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 (*.f64 x y) z)
accuracy0.0
(+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z))
accuracy0.0
(*.f64 x y)
accuracy52.834457230368855
(-.f64 (fma.f64 x y z) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) z)))
Samples
24.0ms220×1valid
14.0ms36×0valid
Compiler

Compiled 39 to 10 computations (74.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
adjust: 5.0ms (34.7% of total)
ival-add: 4.0ms (27.8% of total)
ival-mult: 3.0ms (20.8% of total)
ival-sub: 2.0ms (13.9% 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
7.2MiB live, 7.2MiB 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))

simplify235.0ms (5.2%)

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

rewrite204.0ms (4.5%)

Memory
5.3MiB live, 199.8MiB 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
23.1MiB live, 23.0MiB allocated
Compiler

Compiled 2 697 to 431 computations (84% saved)

prune99.0ms (2.2%)

Memory
-32.3MiB live, 6.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)

simplify620.0ms (13.7%)

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

localize87.0ms (1.9%)

Memory
-3.1MiB live, 72.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
80.0ms220×1valid
2.0ms36×0valid
Compiler

Compiled 16 to 11 computations (31.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 74.0ms
adjust: 64.0ms (87% of total)
ival-add: 4.0ms (5.4% of total)
ival-mult: 3.0ms (4.1% of total)
ival-sub: 2.0ms (2.7% 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
0.8MiB live, 0.9MiB 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
y
@inf
((- (+ (* x y) z) (+ 1 (+ (* x y) z))))

simplify2.0ms (0.1%)

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

rewrite142.0ms (3.1%)

Memory
-2.8MiB live, 155.0MiB 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.6MiB live, 2.6MiB 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
13.4MiB live, 13.4MiB allocated
Accuracy

Total -52.8b remaining (-∞%)

Threshold costs -52.8b (-∞%)

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
x
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)

simplify60.0ms (1.3%)

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

soundness203.0ms (4.5%)

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

preprocess91.0ms (2%)

Memory
2.5MiB live, 111.4MiB 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...