Herbie run

Date:Thursday, August 22nd, 2024
Commit:efa1c98c on faster-localize
Hostname:nightly with Racket 8.11.1
Seed:2024235
Parameters:256 points for 4 iterations
Flags:
localize:costslocalize:errorsreduce:regimesreduce:avg-errorreduce:binary-searchreduce:branch-expressionssetup:simplifysetup:searchrules:arithmeticrules:polynomialsrules:fractionsrules:exponentsrules:trigonometryrules:hyperbolicrules:numericsrules:specialrules:boolsrules:branchesgenerate:rrgenerate:taylorgenerate:simplifygenerate:proofs
default

Time bar (total: 5.9min)

sample1.2min (20.1%)

Memory
38.3MiB live, 81 118.0MiB allocated
Samples
30.6s285 460×0valid
11.9s43 960×1valid
8.0s16 939×2valid
370.0ms4 216×0invalid
188.0ms393×3valid
128.0ms1 005×0exit
114.0ms101×3exit
58.0ms101×4exit
9.0ms49×1exit
Precisions
Click to see histograms. Total time spent on operations: 39.6s
ival-mult: 8.4s (21.1% of total)
ival-add: 5.2s (13.1% of total)
ival-pow: 3.8s (9.6% of total)
ival-div: 3.6s (9% of total)
const: 3.0s (7.5% of total)
ival-sub: 2.8s (7% of total)
ival-<=: 2.5s (6.4% of total)
adjust: 2.5s (6.3% of total)
ival-sin: 2.2s (5.7% of total)
ival-cos: 2.0s (5.1% of total)
ival-sqrt: 615.0ms (1.6% of total)
ival-exp: 575.0ms (1.5% of total)
exact: 424.0ms (1.1% of total)
ival-neg: 404.0ms (1% of total)
ival-and: 359.0ms (0.9% of total)
ival-pow2: 268.0ms (0.7% of total)
ival-==: 199.0ms (0.5% of total)
ival-assert: 147.0ms (0.4% of total)
ival-true: 142.0ms (0.4% of total)
ival-tan: 100.0ms (0.3% of total)
ival-atan: 83.0ms (0.2% of total)
ival-<: 79.0ms (0.2% of total)
ival-log1p: 77.0ms (0.2% of total)
ival-expm1: 71.0ms (0.2% of total)
ival-pi: 55.0ms (0.1% of total)
ival-hypot: 38.0ms (0.1% of total)
ival-fabs: 4.0ms (0% of total)
ival-if: 4.0ms (0% of total)
Bogosity

prune57.4s (16.1%)

Memory
-675.0MiB live, 75 299.4MiB allocated
Counts
140 739 → 2 237
Compiler

Compiled 86 234 to 40 169 computations (53.4% saved)

simplify50.2s (14.1%)

Memory
765.9MiB live, 50 151.1MiB allocated
Algorithm
332×egg-herbie
Rules
2 767 008×lower-fma.f32
2 766 384×lower-fma.f64
923 076×lower-*.f32
921 630×lower-*.f64
590 944×lower-+.f32
Stop Event
421×iter limit
219×node limit
127×saturated
Counts
38 808 → 37 850

soundness43.8s (12.3%)

Memory
72.7MiB live, 26 490.1MiB allocated
Rules
1 528 014×lower-fma.f32
1 527 726×lower-fma.f64
751 784×lower-*.f32
750 914×lower-*.f64
410 968×lower-+.f32
Stop Event
252×iter limit
165×node limit
23×fuel
19×done
saturated
unsound
Compiler

Compiled 20 928 to 7 882 computations (62.3% saved)

rewrite37.6s (10.6%)

Memory
261.3MiB live, 42 557.8MiB allocated
Rules
798 472×lower-fma.f32
797 846×lower-fma.f64
608 250×lower-*.f32
606 824×lower-*.f64
525 290×lower-/.f32
Stop Event
286×iter limit
139×node limit
13×saturated
unsound
Counts
1 893 → 83 562

eval28.5s (8%)

Memory
934.8MiB live, 39 147.8MiB allocated
Compiler

Compiled 4 655 730 to 316 536 computations (93.2% saved)

localize21.4s (6%)

Memory
109.6MiB live, 26 524.1MiB allocated
Samples
7.7s27 845×0valid
5.0s5 870×1valid
3.7s3 045×2valid
114.0ms173×0invalid
95.0ms50×3valid
58.0ms24×5exit
56.0ms58×1exit
31.0ms55×0exit
Compiler

Compiled 34 143 to 4 138 computations (87.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.8s
ival-mult: 4.2s (33% of total)
ival-div: 1.9s (15.1% of total)
ival-add: 1.5s (11.4% of total)
adjust: 1.2s (9.6% of total)
ival-sub: 892.0ms (7% of total)
const: 711.0ms (5.6% of total)
ival-pow: 661.0ms (5.2% of total)
ival-exp: 477.0ms (3.7% of total)
ival-cos: 338.0ms (2.6% of total)
ival-sin: 287.0ms (2.2% of total)
ival-neg: 186.0ms (1.5% of total)
ival-sqrt: 162.0ms (1.3% of total)
ival-log1p: 68.0ms (0.5% of total)
exact: 56.0ms (0.4% of total)
ival-true: 29.0ms (0.2% of total)
ival-expm1: 23.0ms (0.2% of total)
ival-pow2: 21.0ms (0.2% of total)
ival-assert: 16.0ms (0.1% of total)
ival-atan: 11.0ms (0.1% of total)
ival-tan: 8.0ms (0.1% of total)
ival-log: 4.0ms (0% of total)
ival-pi: 4.0ms (0% of total)

preprocess12.6s (3.5%)

Memory
-40.6MiB live, 11 252.1MiB allocated
Algorithm
42×egg-herbie
Rules
284 538×lower-fma.f32
284 536×lower-fma.f64
55 266×lower-*.f32
55 078×lower-*.f64
37 652×lower-+.f32
Stop Event
82×iter limit
54×saturated
32×node limit
Compiler

Compiled 27 279 to 7 440 computations (72.7% saved)

explain10.7s (3%)

Memory
17.2MiB live, 13 157.5MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation14001
+.f64#fcancellation37878
-.f64(-.f64 (*.f64 #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64) t) #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64))oflow-left2180
sqrt.f64#foflow-rescue2020
log.f64(log.f64 (+.f64 #s(literal 1 binary64) x))sensitivity1780
/.f64#fo/o1670
/.f64#fn/o1510
pow.f64(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)sensitivity1181
-.f64#fnan-rescue1050
/.f64#fu/n750
+.f64#fnan-rescue480
/.f64#fu/u450
*.f64#fn*u450
/.f64#fn/u420
/.f64#fo/n410
*.f64#fn*o240
pow.f64(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)oflow-rescue200
(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)overflow27
(/.f64 i n)overflow20
(+.f64 #s(literal 1 binary64) (/.f64 i n))overflow20
sqrt.f64#fuflow-rescue100
Confusion
Predicted +Predicted -
+3962242
-1126436
Precision
0.9725085910652921
Recall
0.9424357754519506
Confusion?
Predicted +Predicted MaybePredicted -
+396215686
-1121806256
Precision?
0.9337868480725624
Recall?
0.9795432921027593
Freqs
test
numberfreq
06678
13637
2406
331
Total Confusion?
Predicted +Predicted MaybePredicted -
+3110
-208
Precision?
0.9411764705882353
Recall?
1.0
Samples
1.5s16 276×0valid
1.1s3 788×1valid
794.0ms1 422×2valid
11.0ms18×3valid
Compiler

Compiled 7 615 to 1 486 computations (80.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0s
ival-mult: 529.0ms (25.8% of total)
ival-add: 307.0ms (15% of total)
ival-div: 210.0ms (10.3% of total)
adjust: 199.0ms (9.7% of total)
ival-sub: 193.0ms (9.4% of total)
ival-pow: 187.0ms (9.1% of total)
ival-sin: 148.0ms (7.2% of total)
ival-cos: 78.0ms (3.8% of total)
const: 39.0ms (1.9% of total)
ival-exp: 30.0ms (1.5% of total)
ival-sqrt: 22.0ms (1.1% of total)
ival-neg: 20.0ms (1% of total)
ival-true: 19.0ms (0.9% of total)
exact: 18.0ms (0.9% of total)
ival-pow2: 16.0ms (0.8% of total)
ival-assert: 10.0ms (0.5% of total)
ival-expm1: 6.0ms (0.3% of total)
ival-atan: 5.0ms (0.2% of total)
ival-log1p: 5.0ms (0.2% of total)
ival-tan: 4.0ms (0.2% of total)
ival-pi: 2.0ms (0.1% of total)

regimes8.0s (2.2%)

Memory
122.9MiB live, 11 332.8MiB allocated
Counts
5 844 → 572
Calls

96 calls:

1.0s
x
476.0ms
b
332.0ms
(*.f64 (cos.f64 x) (exp.f64 (*.f64 #s(literal 10 binary64) (*.f64 x x))))
264.0ms
a
255.0ms
d
Compiler

Compiled 11 837 to 6 201 computations (47.6% saved)

series7.0s (2%)

Memory
-638.5MiB live, 7 464.3MiB allocated
Counts
1 893 → 38 808
Calls

834 calls:

TimeVariablePointExpression
276.0ms
x
@0
((+ (* (/ x y) 1/2) (+ (+ (* 1335/4 (pow y 6)) (* (* x x) (- (- (- (* (* (* (* 11 x) x) y) y) (pow y 6)) (* 121 (pow y 4))) 2))) (* 11/2 (pow y 8)))) (/ x y) (+ (+ (* 1335/4 (pow y 6)) (* (* x x) (- (- (- (* (* (* (* 11 x) x) y) y) (pow y 6)) (* 121 (pow y 4))) 2))) (* 11/2 (pow y 8))) (* -2 (* x x)) (* x x))
171.0ms
x
@inf
((/ (- x (sin x)) (tan x)) (* (* (+ (* (+ (* (+ (* -143/604800 (* x x)) -11/15120) (* x x)) -23/360) (* x x)) 1/6) x) x) (* (+ (* (+ (* (+ (* -143/604800 (* x x)) -11/15120) (* x x)) -23/360) (* x x)) 1/6) x) (+ (* (+ (* (+ (* -143/604800 (* x x)) -11/15120) (* x x)) -23/360) (* x x)) 1/6) (/ (- x (sin x)) (tan x)) (* (* x x) 1/6) (* x x) (/ (- x (sin x)) (tan x)) (* (* (+ (* (+ (* -11/15120 (* x x)) -23/360) (* x x)) 1/6) x) x) (* (+ (* (+ (* -11/15120 (* x x)) -23/360) (* x x)) 1/6) x) (+ (* (+ (* -11/15120 (* x x)) -23/360) (* x x)) 1/6) (/ (- x (sin x)) (tan x)) (- x (sin x)) (* (* (+ (* -1/120 (* x x)) 1/6) x) (* x x)) (* (+ (* -1/120 (* x x)) 1/6) x) (/ (- x (sin x)) (tan x)) (- x (sin x)) (* (* (* (+ (* (+ (* (+ (* -1/362880 (* x x)) 1/5040) (* x x)) -1/120) (* x x)) 1/6) x) x) x) (* (* (+ (* (+ (* (+ (* -1/362880 (* x x)) 1/5040) (* x x)) -1/120) (* x x)) 1/6) x) x) (+ (* -143/604800 (* x x)) -11/15120) (* (+ (* (+ (* (+ (* -1/362880 (* x x)) 1/5040) (* x x)) -1/120) (* x x)) 1/6) x))
170.0ms
eps
@inf
((+ (* (+ (* (* (+ x eps) eps) (* 10 eps)) (* (* (* x 5) x) eps)) x) (* (* 5 (* eps eps)) (* eps eps))) (+ (* (* (+ x eps) eps) (* 10 eps)) (* (* (* x 5) x) eps)) (- (pow (+ x eps) 5) (pow x 5)) (* (+ (* 5 (pow x 4)) (* (+ (* (+ (* 10 (* x x)) (* (* 5 x) eps)) eps) (* (* (* x x) x) 10)) eps)) eps) (- (pow (+ x eps) 5) (pow x 5)) (* (* (+ (* (* eps 10) (/ eps x)) (* 5 eps)) (* x x)) (* x x)) (* (+ (* (* eps 10) (/ eps x)) (* 5 eps)) (* x x)) (* (* (* eps eps) x) 10) (- (pow (+ x eps) 5) (pow x 5)) (* (* (* (* eps x) 5) x) (* x x)) (* (* (* eps x) 5) x) (* (* eps x) 5) (+ (* 5 (* (* x x) (* x x))) (* (* (* (* x x) x) 10) eps)) (- (pow (+ x eps) 5) (pow x 5)) (* (+ (* 5 (* (* x x) (* x x))) (* (* (* (* x x) x) 10) eps)) eps) (* (* x x) (* x x)) (+ (* (+ (* (* x x) 10) (* eps (* 5 x))) eps) (* (* (* x x) x) 10)) (+ (* (* (* (* x x) x) x) 5) (* (+ (* (+ (* (* x x) 10) (* eps (* 5 x))) eps) (* (* (* x x) x) 10)) eps)) (+ (* (* x x) 10) (* eps (* 5 x))) (- (pow (+ x eps) 5) (pow x 5)) (* 5 (* eps eps)) (* (* x 5) x) (* (* eps eps) x) (* (* (* x x) x) 10) (* (* x x) x) (* eps (* 5 x)))
82.0ms
c
@inf
((* 2 a) (/ (- (neg b) (sqrt (+ (* (* -4 c) a) (* b b)))) (* 2 a)) (- (neg b) (sqrt (+ (* (* -4 c) a) (* b b)))) (neg b) (/ (- (neg b) (sqrt (- (* b b) (* 4 (* a c))))) (* 2 a)) (/ c (neg b)) (/ (- (neg b) (sqrt (- (* b b) (* 4 (* a c))))) (* 2 a)) (- (neg b) (sqrt (- (* b b) (* 4 (* a c))))) (/ (- (neg (sqrt (+ (* -4 (* c a)) (* b b)))) b) (* 2 a)) (- (neg (sqrt (+ (* -4 (* c a)) (* b b)))) b) (neg (sqrt (+ (* -4 (* c a)) (* b b)))) (+ (* b b) (+ (* (* c a) 4) (* b b))) (* (- b (sqrt (+ (* -4 (* c a)) (* b b)))) (* -2 a)) (/ (+ (* b b) (+ (* (* c a) 4) (* b b))) (* (- b (sqrt (+ (* -4 (* c a)) (* b b)))) (* -2 a))) (+ (* (* c a) 4) (* b b)) (sqrt (+ (* (* -4 c) a) (* b b))) (+ (* (* -4 c) a) (* b b)) (sqrt (- (* b b) (* 4 (* a c)))) (- (* b b) (* 4 (* a c))) (sqrt (+ (* -4 (* c a)) (* b b))) (+ (* -4 (* c a)) (* b b)) (- b (sqrt (+ (* -4 (* c a)) (* b b)))))
59.0ms
t1
@0
((/ (* (neg v) (/ t1 (+ u t1))) (+ u t1)) (* (neg v) (/ t1 (+ u t1))) (neg v) (/ t1 (+ u t1)) (/ (* (neg t1) v) (* (+ t1 u) (+ t1 u))) (/ (neg v) t1) (* (/ (neg t1) (* (+ u t1) (+ u t1))) v) (/ (neg t1) (* (+ u t1) (+ u t1))) (neg t1) (* (+ u t1) (+ u t1)) (+ (* (* u (/ v t1)) 2) (neg v)) (/ (* (neg t1) v) (* (+ t1 u) (+ t1 u))) (/ (+ (* (* u (/ v t1)) 2) (neg v)) t1) (* u (/ v t1)) (* (/ -1 (+ u t1)) (* v (/ t1 (+ u t1)))) (/ -1 (+ u t1)) (+ u t1) (* v (/ t1 (+ u t1))))

analyze4.4s (1.2%)

Memory
-139.7MiB live, 5 805.5MiB allocated
Algorithm
43×search
random
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%54.5%45.5%0%0%0%0
21.4%11.7%42.9%45.5%0%0%0%1
37.4%20.4%34.1%45.5%0%0%0%2
48.7%26.2%27.7%45.5%0%0.6%0%3
57.7%30.7%22.6%45.5%0%1.2%0%4
71.2%37.7%15.3%45.5%0%1.6%0%5
72.9%38.4%14.3%45.5%0%1.8%0%6
77.9%40.7%11.6%45.5%0%2.2%0%7
81.5%42.6%9.7%45.5%0%2.3%0%8
84.1%43.8%8.3%45.5%0%2.5%0%9
86.2%44.6%7.2%45.5%0%2.7%0%10
88.2%45.6%6.1%45.5%0%2.8%0%11
89.1%45.9%5.6%45.5%0%2.9%0%12
Compiler

Compiled 1 402 to 721 computations (48.6% saved)

bsearch3.1s (0.9%)

Memory
-110.7MiB live, 2 964.2MiB allocated
Algorithm
175×binary-search
87×left-value
Stop Event
160×narrow-enough
14×predicate-same
predicate-failed
Samples
1.2s9 121×0valid
324.0ms1 459×1valid
175.0ms367×2valid
56.0ms946×0invalid
21.0ms29×3valid
1.0ms1exit
Compiler

Compiled 45 189 to 26 168 computations (42.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.4s
ival-mult: 596.0ms (42.3% of total)
ival-pow: 209.0ms (14.8% of total)
ival-div: 179.0ms (12.7% of total)
ival-add: 173.0ms (12.3% of total)
ival-sub: 109.0ms (7.7% of total)
adjust: 50.0ms (3.5% of total)
ival-neg: 33.0ms (2.3% of total)
ival-exp: 20.0ms (1.4% of total)
ival-sqrt: 14.0ms (1% of total)
exact: 11.0ms (0.8% of total)
ival-true: 9.0ms (0.6% of total)
ival-assert: 5.0ms (0.4% of total)
ival-pi: 1.0ms (0.1% of total)
ival-expm1: 0.0ms (0% of total)

start1.0ms (0%)

Memory
2.5MiB live, 2.4MiB allocated

end0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated

Profiling

Loading profile data...