Harley's example

Time bar (total: 5.6s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze292.0ms (5.2%)

Memory
3.5MiB live, 84.7MiB 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.5s (26.5%)

Memory
0.8MiB live, 138.5MiB allocated
Samples
1.2s214×5exit
129.0ms791×0exit
35.0ms246×0valid
5.0ms11×1valid
2.0ms1exit
1.0ms4valid
1.0ms2valid
1.0ms3valid
Precisions
Click to see histograms. Total time spent on operations: 1.3s
ival-pow: 1.1s (83.1% of total)
adjust: 86.0ms (6.5% of total)
ival-div: 41.0ms (3.1% of total)
ival-exp: 24.0ms (1.8% of total)
ival-add: 18.0ms (1.4% of total)
ival-sub: 17.0ms (1.3% of total)
ival-mult: 16.0ms (1.2% of total)
ival-neg: 11.0ms (0.8% of total)
ival-<: 6.0ms (0.5% of total)
ival-and: 2.0ms (0.2% of total)
exact: 2.0ms (0.2% of total)
ival-assert: 0.0ms (0% of total)
Bogosity

explain3.7s (66.2%)

Memory
15.4MiB live, 1 932.6MiB 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)))
23(3.8683283143886876e+40 1.3944886295751347e-210 1061.3499190217121 -9.526063071980757e+167)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 t)))))
20-1(2.0871973108011836e-216 2.760652637932066e-5 -1.4622083812457595e-307 738.3656646187429)(pow.f64 (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))) c_n)
10-0-(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))))
11(105.69044341615074 2.167001784009138e-49 -8.581365315552992e-113 -6.836705682152725e-126)0-(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)
14(1.2983673968639596e-275 1.042133963396798e+112 -3998600.9286015066 2.650298133074849e+133)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-(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
01(6048326166564362.0 4.933100392155962e-265 230.0814938345437 -1.1277189682907001e-280)0-(exp.f64 (neg.f64 t))
02(2.0871973108011836e-216 2.760652637932066e-5 -1.4622083812457595e-307 738.3656646187429)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))
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))underflow22
(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))underflow12
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))))underflow11
(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))underflow22
(exp.f64 (neg.f64 t))underflow2
(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t))))underflow4
(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)sensitivity40
pow.f64(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p)sensitivity30
pow.f64(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))) c_p)uflow-rescue20
(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))))underflow2
exp.f64(exp.f64 (neg.f64 s))sensitivity20
-.f64(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 t)))))cancellation20
exp.f64(exp.f64 (neg.f64 t))sensitivity11
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
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)uflow-rescue10
(/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s))))underflow6
(-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))))underflow11
(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))underflow11
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))))underflow2
pow.f64(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) (exp.f64 (neg.f64 s)))) c_p)uflow-rescue10
(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))))underflow6
(exp.f64 (neg.f64 s))underflow11
Confusion
Predicted +Predicted -
+210
-4231
Precision
0.84
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+2100
-40231
Precision?
0.84
Recall?
1.0
Freqs
test
numberfreq
0231
119
25
31
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Total Time
49.77734375
Average Time
0.1944427490234375
Samples
864.0ms5 664×0valid
141.0ms336×1valid
91.0ms96×2valid
30.0ms24×4valid
17.0ms24×3valid
Compiler

Compiled 7 116 to 1 104 computations (84.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 819.0ms
ival-pow: 281.0ms (34.3% of total)
ival-div: 119.0ms (14.5% of total)
ival-exp: 103.0ms (12.6% of total)
ival-mult: 71.0ms (8.7% of total)
ival-add: 64.0ms (7.8% of total)
ival-sub: 59.0ms (7.2% of total)
adjust: 55.0ms (6.7% of total)
ival-neg: 55.0ms (6.7% of total)
ival-true: 6.0ms (0.7% of total)
exact: 4.0ms (0.5% of total)
ival-assert: 2.0ms (0.2% of total)

preprocess96.0ms (1.7%)

Memory
0.5MiB 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)

prune1.0ms (0%)

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

simplify23.0ms (0.4%)

Memory
0.4MiB 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.3MiB live, 0.3MiB 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...