Herbie run

Date:Thursday, June 13th, 2024
Commit:63d27371 on web-cleanup
Hostname:nightly with Racket 8.11.1
Seed:2024165
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: 8.6min)

sample2.3min (26.5%)

Samples
54.1s434 328×0valid
40.9s7 686×5exit
12.2s29 088×1valid
2.9s5 420×0invalid
2.8s6 794×2valid
134.0ms419×3valid
Precisions
Click to see histograms. Total time spent on operations: 1.5min
ival-sin: 33.3s (37.4% of total)
ival-mult: 16.2s (18.2% of total)
ival-add: 7.5s (8.4% of total)
...in/eval/compile.rkt:71:19: 5.1s (5.7% of total)
ival-div: 4.5s (5.1% of total)
adjust: 3.3s (3.8% of total)
ival-exp: 2.9s (3.2% of total)
ival-sub: 2.7s (3.1% of total)
ival-log: 2.7s (3% of total)
ival-sqrt: 2.4s (2.7% of total)
ival-atan2: 1.2s (1.4% of total)
ival-cos: 1.1s (1.3% of total)
ival-asin: 1.0s (1.2% of total)
ival-pow: 1.0s (1.1% of total)
ival->: 684.0ms (0.8% of total)
ival-<=: 591.0ms (0.7% of total)
ival-neg: 433.0ms (0.5% of total)
ival-pi: 366.0ms (0.4% of total)
ival-true: 302.0ms (0.3% of total)
ival-acosh: 279.0ms (0.3% of total)
...in/eval/compile.rkt:70:19: 278.0ms (0.3% of total)
ival-assert: 254.0ms (0.3% of total)
ival-asinh: 250.0ms (0.3% of total)
ival-fabs: 198.0ms (0.2% of total)
ival-atanh: 139.0ms (0.2% of total)
ival->=: 92.0ms (0.1% of total)
ival-and: 91.0ms (0.1% of total)
Bogosity

simplify1.6min (18.6%)

Algorithm
427×egg-herbie
Rules
146 565×fma-define
110 166×fmm-def
95 883×distribute-lft-in
87 430×associate-*r*
82 888×distribute-rgt-in
Stop Event
274×node limit
141×saturated
12×unsound
Counts
94 404 → 90 216

soundness56.4s (11%)

Rules
57 794×fma-define
54 053×log1p-expm1-u
45 946×fmm-def
40 255×expm1-log1p-u
40 205×associate-*r*
Stop Event
185×node limit
34×fuel
23×done
19×saturated
12×unsound
Compiler

Compiled 50 101 to 14 294 computations (71.5% saved)

rewrite47.9s (9.3%)

Algorithm
182×batch-egg-rewrite
Rules
123 476×log1p-expm1-u
89 205×expm1-log1p-u
37 758×pow1
36 294×add-exp-log
35 357×add-log-exp
Stop Event
175×node limit
unsound
Counts
2 113 → 58 817

localize40.1s (7.8%)

Samples
13.0s36 585×0valid
5.0s3 771×1valid
4.1s812×5exit
3.2s5 317×0invalid
2.1s1 380×2valid
378.0ms245×1invalid
14.0ms18×3valid
Compiler

Compiled 45 821 to 5 277 computations (88.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.9s
ival-mult: 3.3s (18.2% of total)
ival-add: 2.3s (13% of total)
ival-pow: 1.7s (9.7% of total)
ival-div: 1.7s (9.4% of total)
adjust: 1.6s (9% of total)
ival-log: 1.5s (8.3% of total)
...in/eval/compile.rkt:71:19: 1.4s (8% of total)
ival-sub: 638.0ms (3.6% of total)
ival-fma: 621.0ms (3.5% of total)
ival-cos: 524.0ms (2.9% of total)
ival-sqrt: 405.0ms (2.3% of total)
ival-hypot: 394.0ms (2.2% of total)
ival-exp: 296.0ms (1.7% of total)
ival-asin: 228.0ms (1.3% of total)
ival-cbrt: 218.0ms (1.2% of total)
ival-sin: 183.0ms (1% of total)
ival-neg: 148.0ms (0.8% of total)
ival-atan2: 145.0ms (0.8% of total)
ival-copysign: 126.0ms (0.7% of total)
ival-log1p: 79.0ms (0.4% of total)
ival-acos: 79.0ms (0.4% of total)
...in/eval/compile.rkt:70:19: 63.0ms (0.4% of total)
ival-expm1: 57.0ms (0.3% of total)
ival-true: 44.0ms (0.2% of total)
ival-pi: 40.0ms (0.2% of total)
ival-fabs: 36.0ms (0.2% of total)
ival-assert: 28.0ms (0.2% of total)
ival-e: 9.0ms (0.1% of total)

prune34.5s (6.7%)

Counts
134 084 → 3 020
Compiler

Compiled 134 946 to 71 911 computations (46.7% saved)

eval27.4s (5.3%)

Compiler

Compiled 4 111 687 to 528 620 computations (87.1% saved)

series17.7s (3.5%)

Counts
2 113 → 35 587
Calls

9216 calls:

TimeVariablePointExpression
370.0ms
base
@inf
(log (log base))
260.0ms
i
@-inf
(/ (* (+ alpha beta) (- beta alpha)) (* (+ 2 (+ alpha (* 2 i))) (+ alpha (* 2 i))))
203.0ms
base
@0
(/ 1 (log (pow base (/ 1 (atan2 im re)))))
197.0ms
x.im
@0
(- (* y.re (neg (log (/ -1 x.re)))) (* y.im (atan2 x.im x.re)))
187.0ms
base
@0
(log (log base))

explain16.4s (3.2%)

Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue11950
-.f64#fcancellation7301
/.f64#fo/o6670
sqrt.f32#foflow-rescue2160
sin.f64#fsensitivity1952
/.f64#fo/n1950
cos.f64(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))sensitivity1940
+.f64#fcancellation1610
sqrt.f64#fuflow-rescue1340
log.f64(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) #s(literal 1 binary64)))))sensitivity1260
log.f32(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) #s(literal 1 binary32)))))sensitivity1184
-.f64#fnan-rescue1010
/.f64#fn/o860
/.f64#fu/u700
*.f64#fn*u610
/.f64#fu/n550
+.f64#fnan-rescue520
*.f64#fn*o300
/.f64#fn/u140
log.f32#foflow-rescue70
cos.f64(cos.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))oflow-rescue30
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))overflow3
(*.f64 x.re x.re)overflow52
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow108
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow3
(*.f64 x.im x.im)overflow69
sin.f64(sin.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re)))oflow-rescue30
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im) (*.f64 (atan2.f64 x.im x.re) y.re))overflow3
(*.f64 x.re x.re)overflow52
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow108
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow3
(*.f64 x.im x.im)overflow69
exp.f64(exp.f64 (*.f64 (fabs.f64 x) (fabs.f64 x)))sensitivity10
*.f64(*.f64 (*.f64 (sqrt.f64 (*.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64)))) (exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)))))o*u10
(*.f64 (sqrt.f64 (*.f64 (PI.f64) #s(literal 2 binary64))) (pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64))))overflow1
(pow.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64)) (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 1/2 binary64)))overflow1
(exp.f64 (neg.f64 (+.f64 (+.f64 (-.f64 (-.f64 #s(literal 1 binary64) z) #s(literal 1 binary64)) #s(literal 7 binary64)) #s(literal 1/2 binary64))))underflow1
Confusion
Predicted +Predicted -
+366246
-19310691
Precision
0.949935149156939
Recall
0.9875943905070119
Confusion?
Predicted +Predicted MaybePredicted -
+3662640
-193110690
Precision?
0.949766960124288
Recall?
0.9892125134843581
Freqs
test
numberfreq
010737
13296
2558
31
Total Confusion?
Predicted +Predicted MaybePredicted -
+3600
-1020
Precision?
0.972972972972973
Recall?
1.0
Samples
4.5s25 604×0valid
1.6s2 994×1valid
235.0ms560×2valid
10.0ms24×3valid
1.0ms5exit
Compiler

Compiled 15 052 to 2 968 computations (80.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.8s
ival-mult: 1.1s (30.5% of total)
ival-add: 430.0ms (11.4% of total)
ival-log: 354.0ms (9.4% of total)
ival-pi: 257.0ms (6.8% of total)
ival-sub: 209.0ms (5.6% of total)
ival-div: 202.0ms (5.4% of total)
...in/eval/compile.rkt:71:19: 199.0ms (5.3% of total)
ival-exp: 182.0ms (4.8% of total)
ival-cos: 166.0ms (4.4% of total)
adjust: 164.0ms (4.4% of total)
ival-sqrt: 120.0ms (3.2% of total)
ival-asin: 79.0ms (2.1% of total)
ival-sin: 69.0ms (1.8% of total)
ival-atan2: 47.0ms (1.2% of total)
ival-pow: 29.0ms (0.8% of total)
ival-true: 28.0ms (0.7% of total)
ival-fabs: 19.0ms (0.5% of total)
ival-assert: 17.0ms (0.5% of total)
...in/eval/compile.rkt:70:19: 15.0ms (0.4% of total)
ival-copysign: 13.0ms (0.3% of total)
ival-neg: 12.0ms (0.3% of total)
ival-log1p: 8.0ms (0.2% of total)

preprocess12.8s (2.5%)

Algorithm
57×egg-herbie
Rules
20 513×fmm-def
20 193×fma-define
9 595×unsub-neg
9 128×sub-neg
8 864×distribute-lft-in
Stop Event
32×saturated
25×node limit
Compiler

Compiled 30 142 to 12 234 computations (59.4% saved)

regimes12.1s (2.4%)

Counts
8 363 → 791
Calls

132 calls:

965.0ms
x.re
891.0ms
y.re
724.0ms
x
657.0ms
im
559.0ms
x.im
Compiler

Compiled 6 398 to 3 944 computations (38.4% saved)

bsearch11.9s (2.3%)

Algorithm
342×binary-search
38×left-value
Stop Event
337×narrow-enough
predicate-same
Samples
5.7s35 079×0valid
2.0s3 808×1valid
272.0ms476×2valid
24.0ms61×3valid
Compiler

Compiled 70 941 to 48 790 computations (31.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.5s
ival-mult: 2.2s (39.5% of total)
ival-add: 554.0ms (10% of total)
ival-log: 551.0ms (10% of total)
ival-exp: 478.0ms (8.7% of total)
ival-sin: 354.0ms (6.4% of total)
ival-sqrt: 280.0ms (5.1% of total)
...in/eval/compile.rkt:71:19: 214.0ms (3.9% of total)
ival-cos: 170.0ms (3.1% of total)
ival-sub: 166.0ms (3% of total)
ival-div: 165.0ms (3% of total)
ival-atan2: 119.0ms (2.2% of total)
adjust: 104.0ms (1.9% of total)
ival-fabs: 78.0ms (1.4% of total)
ival-true: 32.0ms (0.6% of total)
ival-assert: 21.0ms (0.4% of total)
ival-neg: 19.0ms (0.3% of total)
ival-copysign: 16.0ms (0.3% of total)
...in/eval/compile.rkt:70:19: 11.0ms (0.2% of total)
ival-pi: 2.0ms (0% of total)

analyze4.5s (0.9%)

Algorithm
58×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%86.3%13.7%0%0%0%0
53.4%46.1%40.2%13.7%0%0%0%1
62.8%53.1%31.4%13.7%0%1.7%0%2
71.2%58.4%23.6%13.7%0%4.3%0%3
77.4%62%18.1%13.7%0%6.2%0%4
83.5%66.8%13.2%13.7%0%6.3%0%5
85.8%68.3%11.3%13.7%0%6.6%0%6
88.3%70.3%9.4%13.7%0%6.6%0%7
89.9%71.5%8%13.7%0%6.8%0%8
91.1%72.5%7.1%13.7%0%6.8%0%9
92.6%73.6%5.9%13.7%0%6.8%0%10
94%74.7%4.8%13.7%0%6.8%0%11
94.5%75.1%4.4%13.7%0%6.9%0%12
Compiler

Compiled 1 498 to 848 computations (43.4% saved)

end0.0ms (0%)

Profiling

Loading profile data...