Harley's example

Time bar (total: 14.7s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze293.0ms (2%)

Memory
-2.9MiB live, 84.0MiB 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)

sample875.0ms (5.9%)

Memory
2.1MiB live, 139.3MiB allocated
Samples
603.0ms235×5exit
126.0ms771×0exit
37.0ms254×0valid
2.0ms1valid
1.0ms4valid
Precisions
Click to see histograms. Total time spent on operations: 713.0ms
ival-pow: 524.0ms (73.5% of total)
adjust: 54.0ms (7.6% of total)
ival-div: 37.0ms (5.2% of total)
ival-exp: 23.0ms (3.2% of total)
ival-add: 18.0ms (2.5% of total)
ival-mult: 18.0ms (2.5% of total)
ival-sub: 17.0ms (2.4% of total)
ival-neg: 12.0ms (1.7% of total)
ival-<: 6.0ms (0.8% 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

explain13.4s (91.2%)

Memory
-10.8MiB live, 7 217.2MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
170-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)))
80-0-(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p)
51(171.98416444766434 8.843894197572487e-282 0.013080846283444166 5.196623185909109e-96)0-(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)
30-0-(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))))
10-0-(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))))
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
03(7.2063700493168004e-214 1633.3815340861668 174.85159596993216 6.987423741990859e-120)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)))
05(7.222792374687167e-245 114555.10695421816 -172.74705239903108 3.6040441612942015e+70)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)
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))
01(3.615112556091541e-114 688.9433928329573 1.1239505438777266e-118 1.6058527176505846e-27)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/u170
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)underflow18
(*.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))underflow31
(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))underflow28
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))))underflow7
(pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n)underflow13
(exp.f64 (neg.f64 s))underflow14
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p)underflow10
(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))underflow12
(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))underflow17
pow.f64(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p)uflow-rescue60
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p)underflow10
(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))underflow6
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 s)))) c_p)uflow-rescue50
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)underflow18
(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))underflow14
(exp.f64 (neg.f64 s))underflow7
exp.f64(exp.f64 (neg.f64 t))sensitivity31
-.f64(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))))cancellation30
pow.f64(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p)sensitivity20
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)sensitivity10
pow.f64(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)sensitivity10
-.f64(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))))cancellation10
Confusion
Predicted +Predicted -
+310
-3222
Precision
0.9117647058823529
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+3100
-31221
Precision?
0.8857142857142857
Recall?
1.0
Freqs
test
numberfreq
0222
126
26
32
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
46.693603515625
Average Time
0.18239688873291016
Samples
3.4s21 960×0valid
292.0ms540×1valid
209.0ms450×2valid
67.0ms90×4valid
Compiler

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

Precisions
Click to see histograms. Total time spent on operations: 2.8s
ival-pow: 1.0s (35.7% of total)
ival-div: 424.0ms (15% of total)
ival-exp: 361.0ms (12.8% of total)
ival-mult: 251.0ms (8.9% of total)
ival-add: 226.0ms (8% of total)
ival-sub: 218.0ms (7.7% of total)
ival-neg: 209.0ms (7.4% of total)
adjust: 86.0ms (3% of total)
ival-true: 20.0ms (0.7% of total)
exact: 14.0ms (0.5% of total)
ival-assert: 8.0ms (0.3% of total)

preprocess92.0ms (0.6%)

Memory
0.9MiB live, 8.4MiB 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
88.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.2%)

Memory
-7.2MiB live, 18.7MiB 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
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...