Kahan p13 Example 1

Time bar (total: 1.3s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze2.0ms (0.1%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
50%50%50%0%0%0%0%2
75%75%25%0%0%0%0%3
87.5%87.5%12.5%0%0%0%0%4
93.8%93.7%6.2%0%0%0%0%5
96.9%96.8%3.1%0%0%0%0%6
98.4%98.4%1.6%0%0%0%0%7
99.2%99.2%0.8%0%0%0%0%8
99.6%99.6%0.4%0%0%0%0%9
99.8%99.8%0.2%0%0%0%0%10
99.9%99.9%0.1%0%0%0%0%11
100%99.9%0%0%0%0%0%12
Compiler

Compiled 37 to 12 computations (67.6% saved)

sample20.0ms (1.5%)

Memory
-0.5MiB live, 8.2MiB allocated
Samples
13.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-div: 3.0ms (33.5% of total)
ival-add: 3.0ms (33.5% of total)
ival-mult: 3.0ms (33.5% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
Bogosity

explain1.0s (77.2%)

Memory
6.4MiB live, 864.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t))
00-0-t
00-0-#s(literal 1 binary64)
00-0-(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)))) (+.f64 #s(literal 2 binary64) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)))))
00-0-(*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)))
00-0-(+.f64 #s(literal 2 binary64) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t))))
00-0-#s(literal 2 binary64)
00-0-(+.f64 #s(literal 1 binary64) t)
00-0-(*.f64 #s(literal 2 binary64) t)
00-0-(+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t))))
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
2:
4:
8:
16:
32:
64:
128:
256:
512:
1024:
2048:
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Total Time
7.52001953125
Average Time
0.029375076293945313
Samples
177.0ms3 072×0valid
Compiler

Compiled 4 044 to 504 computations (87.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 107.0ms
ival-add: 35.0ms (32.7% of total)
ival-mult: 34.0ms (31.8% of total)
ival-div: 32.0ms (29.9% of total)
ival-true: 2.0ms (1.9% of total)
exact: 2.0ms (1.9% of total)
adjust: 1.0ms (0.9% of total)
ival-assert: 1.0ms (0.9% of total)

preprocess254.0ms (19.5%)

Memory
8.4MiB live, 45.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01279
13671
29962
338662
4155662
5381262
6550462
7711762
8758862
9783862
10793662
01035
01735
12931
25531
312631
420831
524831
639331
755131
869231
975631
1083931
11119731
12204829
13338629
14548729
15592629
16597129
17597829
18598429
19706829
0814426
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)))) (+.f64 #s(literal 2 binary64) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)))))
Outputs
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)))) (+.f64 #s(literal 2 binary64) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)))))
(+.f64 (/.f64 (/.f64 (*.f64 t t) (fma.f64 (/.f64 #s(literal 2 binary64) (fma.f64 (+.f64 t #s(literal 2 binary64)) t #s(literal 1 binary64))) (*.f64 t t) #s(literal 1 binary64))) (fma.f64 (+.f64 t #s(literal 2 binary64)) t #s(literal 1 binary64))) #s(literal 1/2 binary64))
Compiler

Compiled 35 to 10 computations (71.4% saved)

eval0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)))) (+.f64 #s(literal 2 binary64) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)))))
Compiler

Compiled 70 to 20 computations (71.4% saved)

simplify20.0ms (1.5%)

Memory
-8.2MiB live, 18.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01035
11735
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)))) (+.f64 #s(literal 2 binary64) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)))))
Outputs
(/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)))) (+.f64 #s(literal 2 binary64) (*.f64 (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)) (/.f64 (*.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) t)))))
(/.f64 (+.f64 (*.f64 (/.f64 (*.f64 t #s(literal 2 binary64)) (+.f64 t #s(literal 1 binary64))) (/.f64 (*.f64 t #s(literal 2 binary64)) (+.f64 t #s(literal 1 binary64)))) #s(literal 1 binary64)) (+.f64 (*.f64 (/.f64 (*.f64 t #s(literal 2 binary64)) (+.f64 t #s(literal 1 binary64))) (/.f64 (*.f64 t #s(literal 2 binary64)) (+.f64 t #s(literal 1 binary64)))) #s(literal 2 binary64)))

soundness0.0ms (0%)

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

Compiled 35 to 10 computations (71.4% saved)

preprocess1.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 140 to 40 computations (71.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...