Kahan p9 Example

Time bar (total: 1.3s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze5.0ms (0.4%)

Memory
1.8MiB live, 1.8MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%18.7%81.3%0%0%0%0
0%0%18.7%81.3%0%0%0%1
0%0%18.7%81.3%0%0%0%2
50%9.4%9.4%81.3%0%0%0%3
50%9.4%9.4%81.3%0%0%0%4
87.5%16.4%2.3%81.3%0%0%0%5
87.5%16.4%2.3%81.3%0%0%0%6
96.9%18.1%0.6%81.3%0%0%0%7
96.9%18.1%0.6%81.3%0%0%0%8
99.2%18.6%0.1%81.3%0%0%0%9
99.2%18.6%0.1%81.3%0%0%0%10
99.8%18.7%0%81.3%0%0%0%11
99.8%18.7%0%81.3%0%0%0%12
Compiler

Compiled 27 to 17 computations (37% saved)

sample24.0ms (1.9%)

Memory
1.4MiB live, 10.2MiB allocated
Samples
16.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-mult: 5.0ms (43.4% of total)
ival-add: 2.0ms (17.4% of total)
ival-<: 2.0ms (17.4% of total)
ival-div: 1.0ms (8.7% of total)
ival-sub: 1.0ms (8.7% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-and: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
Bogosity

explain849.0ms (65.1%)

Memory
7.8MiB live, 715.0MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
750-0-(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))
00-0-(*.f64 (-.f64 x y) (+.f64 x y))
00-0-(*.f64 x x)
00-0-(+.f64 (*.f64 x x) (*.f64 y y))
00-0-y
00-0-(+.f64 x y)
00-0-(-.f64 x y)
00-0-(*.f64 y y)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))o/o430
(*.f64 (-.f64 x y) (+.f64 x y))overflow43
(*.f64 y y)overflow43
(+.f64 (*.f64 x x) (*.f64 y y))overflow43
/.f64(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))u/u320
(*.f64 (-.f64 x y) (+.f64 x y))underflow32
(*.f64 y y)underflow83
(*.f64 x x)underflow105
(+.f64 (*.f64 x x) (*.f64 y y))underflow32
Confusion
Predicted +Predicted -
+750
-0181
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+7500
-00181
Precision?
1.0
Recall?
1.0
2:
4:
8:
16:
32:
64:
128:
256:
512:
1024:
2048:
Freqs
test
numberfreq
0181
175
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
7.288818359375
Average Time
0.028471946716308594
Samples
184.0ms3 072×0valid
Compiler

Compiled 1 752 to 456 computations (74% saved)

Precisions
Click to see histograms. Total time spent on operations: 108.0ms
ival-mult: 49.0ms (45.4% of total)
ival-add: 24.0ms (22.3% of total)
ival-div: 16.0ms (14.8% of total)
ival-sub: 15.0ms (13.9% of total)
ival-true: 2.0ms (1.9% of total)
adjust: 1.0ms (0.9% of total)
ival-assert: 1.0ms (0.9% of total)

preprocess385.0ms (29.5%)

Memory
1.9MiB live, 39.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02583
19483
230175
379975
4223975
5487675
6551275
7594775
8628275
9635575
10688375
0915
01615
12915
25515
312015
424515
553215
6127815
7298915
8519315
9673615
10728915
11752015
12761615
13762515
14762515
15768315
16768715
17768715
18768715
19794615
0800614
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))
Outputs
(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (fma.f64 (neg.f64 y) y (*.f64 x x)) (fma.f64 y y (*.f64 x x)))
Symmetry

(abs y)

(abs x)

Compiler

Compiled 15 to 9 computations (40% saved)

eval0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0%)

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

Compiled 30 to 18 computations (40% saved)

simplify33.0ms (2.6%)

Memory
-10.5MiB live, 18.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0915
11415
21915
32115
42215
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))
Outputs
(/.f64 (*.f64 (-.f64 x y) (+.f64 x y)) (+.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (+.f64 (*.f64 y y) (*.f64 x x)))

soundness0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Stop Event
fuel
Compiler

Compiled 15 to 9 computations (40% saved)

preprocess6.0ms (0.5%)

Memory
4.8MiB live, 4.8MiB allocated
Remove

(abs x)

(abs y)

Compiler

Compiled 264 to 152 computations (42.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...