Harley's example

Time bar (total: 4.5s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze276.0ms (6.1%)

Memory
4.4MiB live, 84.8MiB 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)

sample1.7s (37.2%)

Memory
2.1MiB live, 131.5MiB allocated
Samples
1.4s217×5exit
107.0ms708×0exit
34.0ms250×0valid
7.0ms10×1valid
Precisions
Click to see histograms. Total time spent on operations: 1.5s
ival-pow: 1.3s (86.8% of total)
adjust: 79.0ms (5.1% of total)
ival-div: 37.0ms (2.4% of total)
ival-exp: 21.0ms (1.4% of total)
ival-add: 17.0ms (1.1% of total)
ival-sub: 16.0ms (1% of total)
ival-mult: 15.0ms (1% of total)
ival-neg: 10.0ms (0.7% of total)
ival-<: 5.0ms (0.3% of total)
ival-and: 2.0ms (0.1% of total)
exact: 1.0ms (0.1% of total)
ival-assert: 0.0ms (0% of total)
Bogosity

explain2.4s (53.9%)

Memory
9.0MiB live, 1 936.1MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
81(1.1295250495039622e+226 1.284052824947181e-145 913.8062869486046 9.037656278548291e-282)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)))
61(316.27507105909075 5.6666639646663844e-288 5.54929892746014e-168 1.558659142568279e-230)0-(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)
42(1.1295250495039622e+226 1.284052824947181e-145 913.8062869486046 9.037656278548291e-282)0-(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p)
11(1.1295250495039622e+226 1.284052824947181e-145 913.8062869486046 9.037656278548291e-282)0-(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))))
14(9.00450077156858e-83 2.233368847595249e+185 -19531259.332227133 2.3957633456493355e+255)1(1.1295250495039622e+226 1.284052824947181e-145 913.8062869486046 9.037656278548291e-282)(pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))) c_n)
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
02(9.00450077156858e-83 2.233368847595249e+185 -19531259.332227133 2.3957633456493355e+255)0-(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))))
02(6.140780312164921e-61 2.8283894083291184e-255 356.69015172462355 -8.553185329336664e-67)0-(exp.f64 (neg.f64 t))
01(8.944786501966745e-11 9.06014107297269e-150 -7.2648869640388006e-9 -326.9972363311078)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))
00-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/u90
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)underflow9
(*.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))underflow16
(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))underflow20
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))))underflow1
(pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n)underflow7
(exp.f64 (neg.f64 s))underflow2
(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)underflow4
(*.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))underflow9
(-.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)underflow5
pow.f64(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)uflow-rescue60
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)underflow9
(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))underflow10
(exp.f64 (neg.f64 s))underflow1
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)sensitivity40
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)underflow5
(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) (exp.f64 (neg.f64 t)))) c_p)sensitivity21
exp.f64(exp.f64 (neg.f64 t))sensitivity21
-.f64(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))))cancellation20
-.f64(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))))cancellation20
pow.f64(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)sensitivity10
exp.f64(exp.f64 (neg.f64 s))sensitivity10
Confusion
Predicted +Predicted -
+200
-4232
Precision
0.8333333333333334
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+2000
-42230
Precision?
0.7692307692307693
Recall?
1.0
2:
4:
8:
16:
32:
64:
128:
256:
512:
1024:
2048:
Freqs
test
numberfreq
0232
117
25
32
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
14.979248046875
Average Time
0.05851268768310547
Samples
418.0ms2 940×0valid
75.0ms120×1valid
13.0ms12×2valid
Compiler

Compiled 7 092 to 1 080 computations (84.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 366.0ms
ival-pow: 142.0ms (38.8% of total)
ival-div: 51.0ms (13.9% of total)
ival-exp: 43.0ms (11.8% of total)
ival-mult: 31.0ms (8.5% of total)
ival-add: 28.0ms (7.7% of total)
ival-sub: 27.0ms (7.4% of total)
ival-neg: 26.0ms (7.1% of total)
adjust: 11.0ms (3% of total)
ival-true: 2.0ms (0.5% of total)
exact: 2.0ms (0.5% of total)
ival-assert: 1.0ms (0.3% of total)

preprocess91.0ms (2%)

Memory
0.9MiB live, 8.3MiB 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)

prune5.0ms (0.1%)

Memory
-7.3MiB live, 0.6MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
92.3%
(/.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)

simplify25.0ms (0.6%)

Memory
0.6MiB 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.1%)

Memory
2.2MiB 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...