Kahan p13 Example 3

Time bar (total: 2.0s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze153.0ms (7.6%)

Memory
2.8MiB live, 51.2MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
50%50%50%0%0%0%0%3
50%50%50%0%0%0%0%4
50%50%50%0%0%0%0%5
50%50%50%0%0%0%0%6
50%50%50%0%0%0%0%7
50%50%50%0%0%0%0%8
50%50%50%0%0%0%0%9
50%50%50%0%0%0%0%10
50%50%50%0%0%0%0%11
50%50%49.9%0%0%0%0%12
Compiler

Compiled 31 to 14 computations (54.8% saved)

sample25.0ms (1.2%)

Memory
1.9MiB live, 9.4MiB allocated
Samples
17.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-div: 6.0ms (46.8% of total)
ival-sub: 2.0ms (15.6% of total)
ival-add: 2.0ms (15.6% of total)
ival-mult: 2.0ms (15.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
Bogosity

explain1.6s (80%)

Memory
9.9MiB live, 1 267.4MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1190-0-(-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))
10-0-(/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))
00-0-(/.f64 #s(literal 2 binary64) t)
00-0-(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))))))
00-0-t
00-0-#s(literal 1 binary64)
00-0-(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))))))
00-0-(+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))
00-0-#s(literal 2 binary64)
00-0-(+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))))
00-0-(/.f64 #s(literal 1 binary64) t)
00-0-(*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))))
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))cancellation40
Confusion
Predicted +Predicted -
+01
-4251
Precision
0.0
Recall
0.0
Confusion?
Predicted +Predicted MaybePredicted -
+001
-40251
Precision?
0.0
Recall?
0.0
2:
4:
8:
16:
32:
64:
128:
256:
512:
1024:
2048:
Freqs
test
numberfreq
0252
14
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
9.41943359375
Average Time
0.03679466247558594
Samples
153.0ms900×1valid
128.0ms480×2valid
123.0ms1 692×0valid
Compiler

Compiled 5 340 to 600 computations (88.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 290.0ms
ival-div: 119.0ms (41% of total)
adjust: 47.0ms (16.2% of total)
ival-add: 40.0ms (13.8% of total)
ival-mult: 40.0ms (13.8% of total)
ival-sub: 39.0ms (13.4% of total)
exact: 3.0ms (1% of total)
ival-true: 2.0ms (0.7% of total)
ival-assert: 1.0ms (0.3% of total)

preprocess199.0ms (9.9%)

Memory
0.0MiB live, 37.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01467
13358
29158
326042
483642
5286538
6537238
7700338
8797238
01229
02129
13129
26029
315321
449421
5205319
6524019
7791819
0806618
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))))))
Outputs
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))))))
(-.f64 (/.f64 #s(literal -1 binary64) (fma.f64 (/.f64 #s(literal -4 binary64) (-.f64 #s(literal -1 binary64) t)) (-.f64 #s(literal -2 binary64) (/.f64 #s(literal -1 binary64) (-.f64 t #s(literal -1 binary64)))) #s(literal 6 binary64))) #s(literal -1 binary64))
Compiler

Compiled 29 to 12 computations (58.6% 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
99.6%
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))))))
Compiler

Compiled 58 to 24 computations (58.6% saved)

simplify24.0ms (1.2%)

Memory
0.3MiB live, 18.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01229
12129
23629
35829
49029
513729
622529
727029
831229
934129
1036529
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))))))
Outputs
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 2 binary64) (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) t))))))))
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 (/.f64 #s(literal 1 binary64) t) #s(literal 1 binary64)))) (-.f64 #s(literal 2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) t) (+.f64 (/.f64 #s(literal 1 binary64) t) #s(literal 1 binary64))))) #s(literal 2 binary64))))

soundness0.0ms (0%)

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

Compiled 29 to 12 computations (58.6% saved)

preprocess1.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Compiler

Compiled 116 to 48 computations (58.6% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...