Harley's example

Time bar (total: 15.8s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze284.0ms (1.8%)

Memory
-2.8MiB live, 84.1MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%25%75%0%0%0%0
0%0%25%75%0%0%0%1
0%0%25%75%0%0%0%2
0%0%25%75%0%0%0%3
0%0%25%75%0%0%0%4
0%0%25%75%0%0%0%5
0%0%21.8%75%0%3.1%0%6
0%0%18.7%75%0%6.2%0%7
19%3.1%13.3%75%0%8.6%0%8
19%3.1%13.3%75%0%8.6%0%9
21.6%3.1%11.3%75%0%10.5%0%10
24.6%3.1%9.6%75%0%12.3%0%11
35.6%3.1%5.7%75%0%16.2%0%12
Compiler

Compiled 51 to 27 computations (47.1% saved)

sample878.0ms (5.5%)

Memory
1.6MiB live, 138.8MiB allocated
Samples
590.0ms241×5exit
120.0ms750×0exit
36.0ms255×0valid
27.0ms4valid
2.0ms2valid
1.0ms1valid
1.0ms1exit
Precisions
Click to see histograms. Total time spent on operations: 723.0ms
ival-pow: 539.0ms (74.5% of total)
adjust: 55.0ms (7.6% of total)
ival-div: 35.0ms (4.8% of total)
ival-exp: 22.0ms (3% of total)
ival-add: 18.0ms (2.5% of total)
ival-sub: 16.0ms (2.2% of total)
ival-mult: 16.0ms (2.2% of total)
ival-neg: 13.0ms (1.8% of total)
ival-<: 5.0ms (0.7% of total)
ival-and: 2.0ms (0.3% of total)
exact: 2.0ms (0.3% of total)
ival-assert: 0.0ms (0% of total)
Bogosity

explain14.5s (91.9%)

Memory
63.3MiB live, 7 134.2MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
130-0-(/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n)) (*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n)))
42(227.31423198217496 4.769359439355357e-175 -5.65890593293344e-121 -1.1763555291191455e-265)0-(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p)
20-0-(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))))
21(227.31423198217496 4.769359439355357e-175 -5.65890593293344e-121 -1.1763555291191455e-265)0-(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)
24(1.5974670224380818e-274 717.5531246921238 -5.0680819185871465e-241 -9.25348543424346e-174)0-(pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n)
10-0-(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))))
00-0-(neg.f64 s)
00-0-#s(literal 1 binary64)
00-0-t
00-0-(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))
00-0-s
00-0-(*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n))
00-0-(neg.f64 t)
00-0-(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))
00-0-c_p
00-0-(exp.f64 (neg.f64 t))
00-0-(exp.f64 (neg.f64 s))
00-0-c_n
00-0-(+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))
00-0-(+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))
00-0-(*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n))
03(2.013813857978285e-106 402.6727199596003 8.048153381368697e-6 -1.6223813380162818e-264)0-(pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n)) (*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n)))u/u130
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)underflow10
(*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n))underflow19
(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))underflow14
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))))underflow5
(pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n)underflow10
(exp.f64 (neg.f64 s))underflow10
(exp.f64 (neg.f64 t))underflow2
(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))underflow8
(pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n)underflow7
(*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n))underflow13
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))))underflow1
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p)underflow7
pow.f64(pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n)sensitivity51
pow.f64(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p)uflow-rescue40
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p)underflow7
(exp.f64 (neg.f64 t))underflow1
(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))underflow4
pow.f64(pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n)sensitivity31
pow.f64(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p)sensitivity20
-.f64(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))))cancellation20
pow.f64(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)uflow-rescue20
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)underflow10
(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))underflow7
(exp.f64 (neg.f64 s))underflow5
pow.f64(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)sensitivity10
pow.f64(pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n)uflow-rescue10
(pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n)underflow7
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))))underflow1
(exp.f64 (neg.f64 t))underflow1
(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))underflow4
-.f64(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))))cancellation10
Confusion
Predicted +Predicted -
+201
-5230
Precision
0.8
Recall
0.9523809523809523
Confusion?
Predicted +Predicted MaybePredicted -
+2001
-51229
Precision?
0.7692307692307693
Recall?
0.9523809523809523
Freqs
test
numberfreq
0231
118
26
41
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
64.693115234375
Average Time
0.25270748138427734
Samples
3.3s22 230×0valid
1.9s90×4valid
390.0ms450×2valid
125.0ms270×1valid
Compiler

Compiled 26 685 to 4 140 computations (84.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.6s
ival-pow: 2.8s (62.2% of total)
ival-div: 407.0ms (8.9% of total)
ival-exp: 336.0ms (7.4% of total)
ival-mult: 245.0ms (5.4% of total)
ival-add: 224.0ms (4.9% of total)
ival-sub: 205.0ms (4.5% of total)
ival-neg: 195.0ms (4.3% of total)
adjust: 70.0ms (1.5% of total)
ival-true: 20.0ms (0.4% of total)
exact: 15.0ms (0.3% of total)
ival-assert: 8.0ms (0.2% of total)

preprocess90.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
093606
1250606
2673606
31430606
42139606
52759606
63172606
73532606
84111606
94200606
104216606
114216606
02243
03943
16543
210343
314143
418743
523643
629143
733943
835543
936543
1036943
036943
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n)) (*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n)))
Outputs
(/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n)) (*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n)))
(*.f64 (/.f64 (/.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 (exp.f64 (neg.f64 s)) #s(literal -1 binary64))) c_p) (pow.f64 (-.f64 (/.f64 #s(literal -1 binary64) (-.f64 (exp.f64 (neg.f64 t)) #s(literal -1 binary64))) #s(literal -1 binary64)) c_n)) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 (exp.f64 (neg.f64 t)) #s(literal -1 binary64))) c_p)) (pow.f64 (-.f64 (/.f64 #s(literal -1 binary64) (-.f64 (exp.f64 (neg.f64 s)) #s(literal -1 binary64))) #s(literal -1 binary64)) c_n))
Compiler

Compiled 43 to 22 computations (48.8% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 4 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.5%
(/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n)) (*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n)))
Compiler

Compiled 86 to 44 computations (48.8% saved)

simplify22.0ms (0.1%)

Memory
2.9MiB live, 18.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02243
13843
25543
37343
49843
513543
619343
719943
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n)) (*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n)))
Outputs
(/.f64 (*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n)) (*.f64 (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p) (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n)))
(/.f64 (*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 (neg.f64 s)) #s(literal 1 binary64)))) c_n) (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 (neg.f64 s)) #s(literal 1 binary64))) c_p)) (*.f64 (pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 (neg.f64 t)) #s(literal 1 binary64)))) c_n) (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 (neg.f64 t)) #s(literal 1 binary64))) c_p)))

soundness0.0ms (0%)

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

Compiled 43 to 22 computations (48.8% saved)

preprocess3.0ms (0%)

Memory
-5.7MiB live, 2.2MiB allocated
Compiler

Compiled 222 to 128 computations (42.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...