Bouland and Aaronson, Equation (24)

Time bar (total: 2.3s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.1MiB live, 0.1MiB 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 31 to 19 computations (38.7% saved)

sample30.0ms (1.3%)

Memory
3.7MiB live, 12.4MiB allocated
Samples
21.0ms260×0valid
Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-mult: 7.0ms (42.8% of total)
ival-add: 4.0ms (24.5% of total)
ival-sub: 2.0ms (12.2% of total)
ival-pow2: 2.0ms (12.2% 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

explain2.0s (87.2%)

Memory
7.9MiB live, 1 510.8MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
4068(-5.0430507849477084e+222 2.3658430440952264e+181)34(-3.793392825354808e+162 2.6395911952150703e+231)(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))
300-0-(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))
170-1(-5.184920450734953e+187 -1.74358469149441e-159)(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))
00-0-(*.f64 a a)
00-0-a
00-0-#s(literal 3 binary64)
00-0-#s(literal 1 binary64)
00-0-(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))
00-0-(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
00-0-(*.f64 b b)
00-0-(-.f64 #s(literal 1 binary64) a)
00-0-(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))
00-0-(+.f64 (*.f64 a a) (*.f64 b b))
00-0-(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))
00-0-#s(literal 4 binary64)
00-0-#s(literal 2 binary64)
00-0-(+.f64 #s(literal 3 binary64) a)
00-0-b
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
+.f64(+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))))nan-rescue740
(*.f64 b b)overflow59
(pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64))overflow142
(*.f64 a a)overflow61
(+.f64 (*.f64 a a) (*.f64 b b))overflow102
(*.f64 b b)overflow59
(*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))overflow123
(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))overflow123
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))overflow67
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))overflow86
(*.f64 a a)overflow61
+.f64(+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a)))nan-rescue300
(*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a))overflow86
(*.f64 a a)overflow61
(*.f64 b b)overflow59
(*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))overflow67
Confusion
Predicted +Predicted -
+3621
-52147
Precision
0.4090909090909091
Recall
0.631578947368421
Confusion?
Predicted +Predicted MaybePredicted -
+36021
-520147
Precision?
0.4090909090909091
Recall?
0.631578947368421
2:
4:
8:
16:
32:
64:
128:
256:
512:
1024:
2048:
Freqs
test
numberfreq
0168
172
216
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
12.732666015625
Average Time
0.049736976623535156
Samples
294.0ms3 072×0valid
Compiler

Compiled 5 268 to 888 computations (83.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 189.0ms
ival-mult: 82.0ms (43.5% of total)
ival-add: 45.0ms (23.9% of total)
ival-sub: 26.0ms (13.8% of total)
ival-pow2: 26.0ms (13.8% of total)
exact: 5.0ms (2.7% of total)
ival-true: 2.0ms (1.1% of total)
adjust: 1.0ms (0.5% of total)
ival-assert: 1.0ms (0.5% of total)

preprocess236.0ms (10.4%)

Memory
-0.1MiB live, 60.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044149
1154147
2653145
32940145
46883145
01829
03029
16329
217829
355229
4155829
5283629
6670329
0809126
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Outputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 4 binary64) a #s(literal 12 binary64)) b) b (fma.f64 (*.f64 (fma.f64 #s(literal -4 binary64) a #s(literal 4 binary64)) a) a (-.f64 (pow.f64 (fma.f64 b b (*.f64 a a)) #s(literal 2 binary64)) #s(literal 1 binary64))))
Symmetry

(abs b)

Compiler

Compiled 29 to 18 computations (37.9% saved)

eval0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.6%
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Compiler

Compiled 58 to 36 computations (37.9% saved)

simplify21.0ms (0.9%)

Memory
-7.3MiB live, 18.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01829
13229
23929
34529
45329
56429
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
Outputs
(-.f64 (+.f64 (pow.f64 (+.f64 (*.f64 a a) (*.f64 b b)) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (+.f64 (*.f64 (*.f64 a a) (-.f64 #s(literal 1 binary64) a)) (*.f64 (*.f64 b b) (+.f64 #s(literal 3 binary64) a))))) #s(literal 1 binary64))
(-.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 #s(literal 3 binary64) a) (*.f64 b b)) (*.f64 (-.f64 #s(literal 1 binary64) a) (*.f64 a a))) #s(literal 4 binary64)) (pow.f64 (+.f64 (*.f64 b b) (*.f64 a a)) #s(literal 2 binary64))) #s(literal 1 binary64))

soundness0.0ms (0%)

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

Compiled 29 to 18 computations (37.9% saved)

preprocess2.0ms (0.1%)

Memory
1.6MiB live, 1.6MiB allocated
Remove

(abs b)

Compiler

Compiled 232 to 144 computations (37.9% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...