Herbie run

Date:Tuesday, August 20th, 2024
Commit:fce740b4 on ffi-types
Hostname:nightly with Racket 8.11.1
Seed:2024233
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: 6.4min)

simplify1.3min (20.2%)

Memory
675.7MiB live, 81 916.4MiB allocated
Algorithm
336×egg-herbie
Rules
2 802 266×lower-fma.f32
2 801 634×lower-fma.f64
925 704×lower-*.f32
924 226×lower-*.f64
587 784×lower-+.f32
Stop Event
427×iter limit
216×node limit
134×saturated
Counts
38 640 → 37 589

sample1.2min (18.5%)

Memory
259.0MiB live, 78 936.2MiB allocated
Samples
28.9s285 468×0valid
12.3s43 832×1valid
7.3s17 068×2valid
571.0ms4 318×0invalid
375.0ms384×3valid
121.0ms986×0exit
98.0ms101×4exit
63.0ms101×3exit
8.0ms38×1exit
Precisions
Click to see histograms. Total time spent on operations: 38.0s
ival-mult: 8.4s (22% of total)
ival-add: 3.9s (10.2% of total)
const: 3.4s (9.1% of total)
ival-sub: 3.3s (8.8% of total)
ival-pow: 3.3s (8.6% of total)
ival-div: 3.2s (8.3% of total)
adjust: 2.6s (6.9% of total)
ival-<=: 2.5s (6.6% of total)
ival-sin: 2.1s (5.6% of total)
ival-cos: 1.6s (4.2% of total)
ival-sqrt: 584.0ms (1.5% of total)
ival-exp: 447.0ms (1.2% of total)
exact: 416.0ms (1.1% of total)
ival-==: 384.0ms (1% of total)
ival-and: 352.0ms (0.9% of total)
ival-neg: 333.0ms (0.9% of total)
ival-pow2: 277.0ms (0.7% of total)
ival-atan: 264.0ms (0.7% of total)
ival-true: 139.0ms (0.4% of total)
ival-assert: 130.0ms (0.3% of total)
ival-expm1: 108.0ms (0.3% of total)
ival-log1p: 82.0ms (0.2% of total)
ival-<: 80.0ms (0.2% of total)
ival-tan: 63.0ms (0.2% of total)
ival-pi: 37.0ms (0.1% of total)
ival-hypot: 17.0ms (0% of total)
ival-if: 4.0ms (0% of total)
ival-fabs: 4.0ms (0% of total)
Bogosity

rewrite55.5s (14.5%)

Memory
576.0MiB live, 63 723.5MiB allocated
Rules
832 124×lower-fma.f32
831 496×lower-fma.f64
634 842×lower-*.f32
633 380×lower-*.f64
527 046×lower-/.f32
Stop Event
291×iter limit
142×node limit
13×saturated
Counts
1 912 → 85 500

soundness43.9s (11.4%)

Memory
89.7MiB live, 26 742.3MiB allocated
Rules
1 458 338×lower-fma.f32
1 457 972×lower-fma.f64
739 210×lower-*.f32
738 408×lower-*.f64
405 342×lower-/.f32
Stop Event
246×iter limit
163×node limit
25×fuel
17×done
saturated
Compiler

Compiled 28 026 to 9 668 computations (65.5% saved)

prune38.9s (10.1%)

Memory
-1 145.4MiB live, 55 115.9MiB allocated
Counts
147 036 → 2 304
Compiler

Compiled 101 046 to 43 726 computations (56.7% saved)

eval28.3s (7.4%)

Memory
936.8MiB live, 40 641.1MiB allocated
Compiler

Compiled 4 893 944 to 314 605 computations (93.6% saved)

localize23.2s (6%)

Memory
-187.9MiB live, 28 906.2MiB allocated
Samples
7.5s28 723×0valid
3.7s5 671×1valid
3.5s2 902×2valid
237.0ms144×3valid
44.0ms105×1exit
41.0ms13×5exit
13.0ms57×0exit
6.0ms17×0invalid
Compiler

Compiled 34 374 to 4 086 computations (88.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.7s
ival-mult: 3.2s (29.4% of total)
ival-add: 2.0s (18.7% of total)
ival-div: 1.5s (13.9% of total)
adjust: 994.0ms (9.3% of total)
ival-pow: 719.0ms (6.7% of total)
const: 536.0ms (5% of total)
ival-sub: 522.0ms (4.9% of total)
ival-sin: 413.0ms (3.8% of total)
ival-cos: 248.0ms (2.3% of total)
ival-sqrt: 155.0ms (1.4% of total)
ival-neg: 136.0ms (1.3% of total)
ival-exp: 135.0ms (1.3% of total)
ival-log1p: 57.0ms (0.5% of total)
exact: 55.0ms (0.5% of total)
ival-true: 31.0ms (0.3% of total)
ival-pow2: 21.0ms (0.2% of total)
ival-expm1: 16.0ms (0.1% of total)
ival-assert: 15.0ms (0.1% of total)
ival-atan: 13.0ms (0.1% of total)
ival-tan: 6.0ms (0.1% of total)
ival-pi: 6.0ms (0.1% of total)

preprocess14.2s (3.7%)

Memory
-108.0MiB live, 13 648.7MiB 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 33 153 to 7 474 computations (77.5% saved)

explain9.3s (2.4%)

Memory
-311.9MiB live, 13 203.1MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation12764
+.f64#fcancellation38185
sqrt.f64#foflow-rescue2080
-.f64(-.f64 (*.f64 #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64) t) #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64))oflow-left2080
log.f64(log.f64 (+.f64 #s(literal 1 binary64) x))sensitivity1810
/.f64#fn/o1590
/.f64#fo/o1540
pow.f64(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)sensitivity1240
-.f64#fnan-rescue1130
/.f64#fu/n750
+.f64(+.f64 (+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) #s(literal 3 binary64))) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) #s(literal 6 binary64)))) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))))) (*.f64 (*.f64 x1 x1) x1))nan-rescue560
(*.f64 x1 x1)overflow420
(+.f64 (*.f64 x1 x1) #s(literal 1 binary64))overflow350
(*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))))overflow1
(*.f64 (+.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) #s(literal 3 binary64))) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) #s(literal 6 binary64)))) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))overflow128
(*.f64 #s(literal 3 binary64) x1)overflow5
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) #s(literal 3 binary64)))overflow20
(+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2))overflow280
(-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1)overflow280
(+.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) #s(literal 3 binary64))) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) #s(literal 6 binary64))))overflow90
(*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))))overflow70
(*.f64 (*.f64 #s(literal 3 binary64) x1) x1)overflow350
(*.f64 (*.f64 x1 x1) (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) #s(literal 6 binary64)))overflow70
(+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) #s(literal 3 binary64))) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))) #s(literal 6 binary64)))) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64))) (*.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1) (+.f64 (*.f64 x1 x1) #s(literal 1 binary64)))))overflow128
(*.f64 x1 x1)overflow70
(*.f64 (*.f64 x1 x1) x1)overflow97
/.f64#fn/u540
/.f64#fu/u430
/.f64#fo/n410
*.f64#fn*u410
*.f64#fn*o310
pow.f64(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)oflow-rescue170
(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)overflow47
(/.f64 i n)overflow17
(+.f64 #s(literal 1 binary64) (/.f64 i n))overflow17
sqrt.f64#fuflow-rescue80
exp.f64#fsensitivity20
Confusion
Predicted +Predicted -
+3858240
-1206534
Precision
0.9698340874811463
Recall
0.9414348462664714
Confusion?
Predicted +Predicted MaybePredicted -
+385815882
-1201866348
Precision?
0.929199444701527
Recall?
0.9799902391410444
Freqs
test
numberfreq
06774
13548
2391
339
Total Confusion?
Predicted +Predicted MaybePredicted -
+3010
-209
Precision?
0.9393939393939394
Recall?
1.0
Samples
1.7s16 424×0valid
1.3s3 728×1valid
505.0ms1 316×2valid
26.0ms36×3valid
Compiler

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

Precisions
Click to see histograms. Total time spent on operations: 2.3s
ival-mult: 564.0ms (24.4% of total)
ival-add: 411.0ms (17.8% of total)
ival-div: 338.0ms (14.6% of total)
adjust: 204.0ms (8.8% of total)
ival-pow: 160.0ms (6.9% of total)
ival-sub: 151.0ms (6.5% of total)
ival-sin: 145.0ms (6.3% of total)
const: 110.0ms (4.8% of total)
ival-cos: 67.0ms (2.9% of total)
ival-exp: 44.0ms (1.9% of total)
ival-sqrt: 22.0ms (1% of total)
ival-true: 19.0ms (0.8% of total)
exact: 18.0ms (0.8% of total)
ival-neg: 15.0ms (0.6% of total)
ival-pow2: 14.0ms (0.6% of total)
ival-assert: 9.0ms (0.4% of total)
ival-atan: 5.0ms (0.2% of total)
ival-log1p: 5.0ms (0.2% of total)
ival-expm1: 5.0ms (0.2% of total)
ival-tan: 3.0ms (0.1% of total)
ival-pi: 2.0ms (0.1% of total)

regimes9.0s (2.4%)

Memory
-45.1MiB live, 12 872.7MiB allocated
Counts
6 744 → 634
Calls

96 calls:

1.2s
x
614.0ms
x1
326.0ms
b
325.0ms
(-.f64 (*.f64 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) eps)) (exp.f64 (neg.f64 (*.f64 (-.f64 #s(literal 1 binary64) eps) x)))) (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) eps) #s(literal 1 binary64)) (exp.f64 (neg.f64 (*.f64 (+.f64 #s(literal 1 binary64) eps) x)))))
320.0ms
c
Compiler

Compiled 11 825 to 6 129 computations (48.2% saved)

series5.4s (1.4%)

Memory
-159.2MiB live, 6 600.1MiB allocated
Counts
1 912 → 38 640
Calls

5256 calls:

TimeVariablePointExpression
403.0ms
x
@inf
(* eps (+ (* eps (/ 1/8 (* x x))) 1/2))
200.0ms
t
@-inf
(pow (+ (* t 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) 15/16)
93.0ms
t
@0
(* (pow (+ (* t 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) 7/8) (pow (+ (* t 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) -170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) 1/8))
78.0ms
b
@-inf
(- (neg b) (sqrt (- (* b b) (* 4 (* a c)))))
67.0ms
x
@inf
(/ (- (* (+ 1 (/ 1 eps)) (exp (neg (* (- 1 eps) x)))) (* (- (/ 1 eps) 1) (exp (neg (* (+ 1 eps) x))))) 2)

analyze4.6s (1.2%)

Memory
137.3MiB live, 4 856.8MiB 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.8%)

Memory
44.5MiB live, 3 227.0MiB allocated
Algorithm
204×binary-search
117×left-value
Stop Event
197×narrow-enough
predicate-same
Samples
1.4s11 001×0valid
280.0ms951×1valid
100.0ms265×2valid
100.0ms722×0invalid
5.0ms3valid
2.0ms17×0exit
Compiler

Compiled 71 511 to 40 225 computations (43.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.5s
ival-mult: 539.0ms (36.5% of total)
ival-div: 253.0ms (17.2% of total)
ival-sub: 209.0ms (14.2% of total)
ival-add: 173.0ms (11.7% of total)
adjust: 97.0ms (6.6% of total)
ival-pow: 79.0ms (5.4% of total)
ival-exp: 44.0ms (3% of total)
ival-neg: 27.0ms (1.8% of total)
ival-sqrt: 16.0ms (1.1% of total)
ival-expm1: 13.0ms (0.9% of total)
exact: 10.0ms (0.7% of total)
ival-true: 9.0ms (0.6% of total)
ival-assert: 5.0ms (0.3% of total)
ival-log1p: 1.0ms (0.1% of total)
ival-pi: 0.0ms (0% of total)

start1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated

end0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated

Profiling

Loading profile data...