Herbie run

Date:Friday, May 31st, 2024
Commit:0c7d3b10 on separate-sampling
Hostname:nightly with Racket 8.11.1
Seed:2024152
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)

sample1.5min (23%)

Results
38.5s275885×0valid
20.3s54480×1valid
8.5s16292×2valid
808.0ms5116×0invalid
406.0ms202×5exit
24.0ms95×3valid
Precisions
Click to see histograms. Total time spent on operations: 51.8s
ival-mult: 12.3s (23.8% of total)
ival-pow: 5.6s (10.8% of total)
ival-add: 5.6s (10.7% of total)
ival-div: 4.4s (8.5% of total)
...c/correct-round.rkt:138:19: 4.2s (8.1% of total)
ival-sub: 4.0s (7.7% of total)
ival-<=: 3.6s (7% of total)
ival-sin: 2.6s (5% of total)
backward-pass: 2.3s (4.4% of total)
ival-log: 1.1s (2.1% of total)
ival-cos: 1.0s (2% of total)
ival-exp: 912.0ms (1.8% of total)
ival-sqrt: 832.0ms (1.6% of total)
ival-neg: 772.0ms (1.5% of total)
const: 562.0ms (1.1% of total)
ival-and: 419.0ms (0.8% of total)
ival-fma: 350.0ms (0.7% of total)
ival-assert: 330.0ms (0.6% of total)
ival-==: 286.0ms (0.6% of total)
ival-true: 229.0ms (0.4% of total)
ival-<: 208.0ms (0.4% of total)
ival-atan: 83.0ms (0.2% of total)
ival-tan: 71.0ms (0.1% of total)
ival-pi: 39.0ms (0.1% of total)
ival-if: 8.0ms (0% of total)
ival-fabs: 6.0ms (0% of total)
Bogosity

simplify1.1min (17.7%)

Algorithm
329×egg-herbie
Rules
107120×fma-define
84287×fmm-def
69029×distribute-lft-in
60517×distribute-rgt-in
58118×times-frac
Stop Event
109×saturated
218×node limit
unsound
Counts
76952 → 73373

soundness47.0s (12.3%)

Rules
38093×fma-define
35642×log1p-expm1-u
33786×fmm-def
29334×expm1-log1p-u
26812×distribute-lft-in
Stop Event
saturated
146×node limit
24×fuel
unsound
18×done
Compiler

Compiled 28898 to 9033 computations (68.7% saved)

localize40.8s (10.7%)

Results
13.5s1309×5exit
10.7s29322×0valid
4.2s1697×2valid
3.7s4066×1valid
551.0ms1172×0invalid
177.0ms57×3valid
68.0ms4valid
5.0ms5valid
Compiler

Compiled 27486 to 3545 computations (87.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.3s
ival-mult: 9.6s (43.2% of total)
ival-pow: 2.5s (11.2% of total)
ival-div: 2.2s (9.9% of total)
backward-pass: 1.7s (7.8% of total)
ival-add: 1.5s (6.8% of total)
ival-sub: 852.0ms (3.8% of total)
...c/correct-round.rkt:138:19: 722.0ms (3.2% of total)
ival-log1p: 606.0ms (2.7% of total)
ival-expm1: 507.0ms (2.3% of total)
ival-fma: 407.0ms (1.8% of total)
ival-sqrt: 262.0ms (1.2% of total)
ival-exp: 248.0ms (1.1% of total)
ival-sin: 232.0ms (1% of total)
ival-neg: 189.0ms (0.8% of total)
ival-cbrt: 135.0ms (0.6% of total)
ival-tan: 106.0ms (0.5% of total)
ival-atan: 98.0ms (0.4% of total)
const: 84.0ms (0.4% of total)
ival-hypot: 75.0ms (0.3% of total)
ival-true: 53.0ms (0.2% of total)
ival-cos: 47.0ms (0.2% of total)
ival-assert: 40.0ms (0.2% of total)
ival-log: 27.0ms (0.1% of total)
ival-pi: 5.0ms (0% of total)
ival-fabs: 3.0ms (0% of total)
ival-e: 2.0ms (0% of total)

rewrite36.6s (9.6%)

Algorithm
140×batch-egg-rewrite
Rules
78401×log1p-expm1-u
64145×expm1-log1p-u
30889×pow1
30041×add-exp-log
28322×add-log-exp
Stop Event
139×node limit
unsound
Counts
1539 → 48988

eval22.5s (5.9%)

Compiler

Compiled 2862861 to 406411 computations (85.8% saved)

prune22.2s (5.8%)

Counts
109437 → 2201
Compiler

Compiled 73446 to 40289 computations (45.1% saved)

preprocess17.0s (4.4%)

Algorithm
42×egg-herbie
Rules
18502×fmm-def
16342×fma-define
9180×sub-neg
8997×unsub-neg
7628×distribute-rgt-in
Stop Event
20×saturated
22×node limit
Compiler

Compiled 19636 to 7578 computations (61.4% saved)

explain13.1s (3.4%)

Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64#fcancellation13871
+.f64#fcancellation36895
sqrt.f64#foflow-rescue2180
-.f64(-.f64 (*.f64 #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64) t) #s(literal 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 binary64))oflow-left2110
/.f64#fn/o1810
log.f64(log.f64 (+.f64 #s(literal 1 binary64) x))sensitivity1780
/.f64#fo/o1490
pow.f64(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)sensitivity1070
-.f64#fnan-rescue870
/.f64#fu/n690
/.f64#fu/u560
+.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)overflow450
(*.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)))overflow127
(+.f64 (*.f64 x1 x1) #s(literal 1 binary64))overflow375
(*.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))overflow304
(-.f64 (+.f64 (*.f64 (*.f64 #s(literal 3 binary64) x1) x1) (*.f64 #s(literal 2 binary64) x2)) x1)overflow304
(+.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))))overflow96
(*.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))))overflow76
(*.f64 (*.f64 #s(literal 3 binary64) x1) x1)overflow380
(*.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)))overflow76
(+.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)))))overflow127
(*.f64 x1 x1)overflow75
(*.f64 (*.f64 x1 x1) x1)overflow94
/.f64#fn/u500
*.f64#fn*u500
/.f64#fo/n380
pow.f64(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)oflow-rescue250
(pow.f64 (+.f64 #s(literal 1 binary64) (/.f64 i n)) n)overflow30
(/.f64 i n)overflow25
(+.f64 #s(literal 1 binary64) (/.f64 i n))overflow25
*.f64#fn*o140
sqrt.f64#fuflow-rescue80
Confusion
Predicted +Predicted -
+3697487
-1066462
Precision
0.9721272679463582
Recall
0.8836042065009561
Confusion?
Predicted +Predicted MaybePredicted -
+3697174313
-1061786284
Precision?
0.9316486161251504
Recall?
0.9251912045889101
Freqs
test
numberfreq
06949
13372
2393
338
Total Confusion?
Predicted +Predicted MaybePredicted -
+2911
-209
Precision?
0.9375
Recall?
0.967741935483871
Results
2.8s16092×0valid
2.0s4006×1valid
1.3s1396×2valid
14.0ms10×3valid
Compiler

Compiled 8604 to 1928 computations (77.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.8s
ival-mult: 861.0ms (22.6% of total)
ival-pow: 725.0ms (19% of total)
ival-sub: 617.0ms (16.2% of total)
backward-pass: 418.0ms (11% of total)
ival-add: 301.0ms (7.9% of total)
ival-div: 232.0ms (6.1% of total)
ival-cos: 177.0ms (4.6% of total)
ival-sin: 107.0ms (2.8% of total)
ival-sqrt: 83.0ms (2.2% of total)
ival-exp: 60.0ms (1.6% of total)
...c/correct-round.rkt:138:19: 54.0ms (1.4% of total)
ival-log: 46.0ms (1.2% of total)
ival-true: 30.0ms (0.8% of total)
const: 26.0ms (0.7% of total)
ival-neg: 25.0ms (0.7% of total)
ival-assert: 22.0ms (0.6% of total)
ival-fma: 16.0ms (0.4% of total)
ival-atan: 5.0ms (0.1% of total)
ival-tan: 4.0ms (0.1% of total)
ival-pi: 2.0ms (0.1% of total)

bsearch7.9s (2.1%)

Algorithm
263×binary-search
13×left-value
Stop Event
23×predicate-same
240×narrow-enough
Results
3.6s25918×0valid
1.4s5032×1valid
360.0ms634×2valid
208.0ms2217×0invalid
Compiler

Compiled 58083 to 39306 computations (32.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.2s
ival-mult: 1.2s (27.6% of total)
ival-add: 732.0ms (17.5% of total)
ival-pow: 690.0ms (16.5% of total)
ival-div: 560.0ms (13.4% of total)
ival-sub: 482.0ms (11.5% of total)
ival-exp: 150.0ms (3.6% of total)
backward-pass: 112.0ms (2.7% of total)
ival-neg: 86.0ms (2.1% of total)
const: 71.0ms (1.7% of total)
ival-sqrt: 69.0ms (1.6% of total)
ival-true: 41.0ms (1% of total)
ival-assert: 31.0ms (0.7% of total)
...c/correct-round.rkt:138:19: 5.0ms (0.1% of total)
ival-pi: 1.0ms (0% of total)

series6.9s (1.8%)

Counts
1539 → 27964
Calls

7461 calls:

TimeVariablePointExpression
242.0ms
x
@-inf
(/ x 2)
206.0ms
x
@-inf
(log (+ 1 (cos x)))
172.0ms
c
@0
(* (pow (/ (neg c) a) 1/6) (* (cbrt -1/2) (cbrt 2)))
122.0ms
t
@0
(cbrt (+ (* 170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 t) -170000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))
119.0ms
x1
@0
(* (* 3 x1) x1)

regimes6.3s (1.7%)

Counts
4616 → 564
Calls

96 calls:

1.1s
x
1.0s
n
357.0ms
b
330.0ms
y
289.0ms
a
Compiler

Compiled 4001 to 2494 computations (37.7% saved)

analyze6.0s (1.6%)

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
35.2%19.2%35.3%45.5%0%0%0%2
47.6%25.7%28.3%45.5%0%0.6%0%3
57.1%30.5%22.8%45.5%0%1.2%0%4
70.9%37.5%15.4%45.5%0%1.6%0%5
72.8%38.4%14.4%45.5%0%1.8%0%6
77.8%40.7%11.6%45.5%0%2.2%0%7
81.4%42.5%9.7%45.5%0%2.3%0%8
84.1%43.8%8.3%45.5%0%2.4%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.7%0.1%11
89.1%45.9%5.6%45.5%0%2.9%0.1%12
Compiler

Compiled 1486 to 733 computations (50.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.7s
ival-mult: 902.0ms (24.5% of total)
ival-add: 564.0ms (15.3% of total)
ival-sub: 488.0ms (13.3% of total)
ival-pow: 448.0ms (12.2% of total)
ival-div: 400.0ms (10.9% of total)
ival-<=: 206.0ms (5.6% of total)
ival-sqrt: 131.0ms (3.6% of total)
ival-if: 103.0ms (2.8% of total)
ival-exp: 102.0ms (2.8% of total)
ival-==: 78.0ms (2.1% of total)
ival-fabs: 49.0ms (1.3% of total)
...c/correct-round.rkt:138:19: 45.0ms (1.2% of total)
const: 37.0ms (1% of total)
ival-and: 29.0ms (0.8% of total)
ival-neg: 28.0ms (0.8% of total)
ival-<: 24.0ms (0.7% of total)
ival-assert: 22.0ms (0.6% of total)
ival-true: 12.0ms (0.3% of total)
backward-pass: 7.0ms (0.2% of total)
ival-pi: 4.0ms (0.1% of total)
ival-cos: 2.0ms (0.1% of total)
ival-log: 1.0ms (0% of total)
ival-atan: 0.0ms (0% of total)
ival-tan: 0.0ms (0% of total)
ival-fma: 0.0ms (0% of total)
ival-sin: 0.0ms (0% of total)

end0.0ms (0%)

Profiling

Loading profile data...