Herbie run

Date:Wednesday, July 3rd, 2024
Commit:276d3a06 on main
Hostname:nightly with Racket 8.11.1
Seed:2024185
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.5min)

sample2.1min (24.4%)

Memory
172.8MiB live, 139 590.4MiB allocated
Samples
53.6s434 153×0valid
32.0s3 885×5exit
10.5s26 443×1valid
4.9s9 080×2valid
880.0ms8 799×0exit
312.0ms940×3valid
107.0ms537×0invalid
Precisions
Click to see histograms. Total time spent on operations: 1.4min
ival-sin: 25.6s (30.5% of total)
ival-mult: 14.6s (17.4% of total)
ival-add: 6.9s (8.3% of total)
ival-div: 4.8s (5.8% of total)
...in/eval/compile.rkt:111:19: 4.8s (5.7% of total)
ival-exp: 4.3s (5.1% of total)
ival-hypot: 3.2s (3.9% of total)
adjust: 3.2s (3.8% of total)
ival-sub: 3.0s (3.6% of total)
ival-log: 2.7s (3.2% of total)
ival-asin: 1.8s (2.1% of total)
ival-cos: 1.6s (1.9% of total)
ival-sqrt: 1.4s (1.7% of total)
ival-atan2: 1.2s (1.5% of total)
ival-pi: 889.0ms (1.1% of total)
ival-pow: 571.0ms (0.7% of total)
ival-acosh: 548.0ms (0.7% of total)
ival-neg: 429.0ms (0.5% of total)
ival-<=: 361.0ms (0.4% of total)
ival-true: 357.0ms (0.4% of total)
ival->: 303.0ms (0.4% of total)
ival-asinh: 292.0ms (0.3% of total)
...in/eval/compile.rkt:110:19: 266.0ms (0.3% of total)
ival-atanh: 229.0ms (0.3% of total)
ival-assert: 187.0ms (0.2% of total)
ival-fabs: 159.0ms (0.2% of total)
ival->=: 81.0ms (0.1% of total)
ival-and: 73.0ms (0.1% of total)
Bogosity

simplify1.7min (19.9%)

Memory
18.6MiB live, 88 286.2MiB allocated
Algorithm
429×egg-herbie
Rules
160 793×fma-define
108 270×associate-*r*
103 299×fmm-def
85 163×distribute-lft-in
74 600×distribute-rgt-in
Stop Event
265×node limit
156×saturated
unsound
Counts
94 263 → 89 604

soundness1.2min (13.8%)

Memory
176.3MiB live, 48 973.8MiB allocated
Rules
57 910×fma-define
56 882×log1p-expm1-u
45 297×fmm-def
40 848×expm1-log1p-u
40 156×associate-*r*
Stop Event
193×node limit
36×fuel
21×done
19×saturated
unsound
Compiler

Compiled 47 058 to 12 871 computations (72.6% saved)

rewrite49.1s (9.6%)

Memory
-59.3MiB live, 41 434.3MiB allocated
Algorithm
184×batch-egg-rewrite
Rules
120 627×log1p-expm1-u
86 948×expm1-log1p-u
40 301×prod-diff
38 920×pow1
36 857×add-exp-log
Stop Event
173×node limit
11×unsound
Counts
2 120 → 58 359

prune32.8s (6.4%)

Memory
-837.7MiB live, 47 419.7MiB allocated
Counts
134 515 → 3 104
Compiler

Compiled 137 075 to 73 172 computations (46.6% saved)

localize30.0s (5.8%)

Memory
-92.6MiB live, 38 800.8MiB allocated
Samples
9.1s37 270×0valid
3.3s3 441×1valid
2.3s4 611×0invalid
2.2s1 536×2valid
477.0ms378×5exit
297.0ms575×1exit
167.0ms100×2exit
62.0ms156×0exit
37.0ms51×3valid
11.0ms10×3exit
Compiler

Compiled 44 560 to 5 243 computations (88.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.4s
ival-mult: 2.6s (20.6% of total)
ival-div: 2.2s (17.4% of total)
ival-add: 1.3s (10.6% of total)
ival-pow: 730.0ms (5.9% of total)
...in/eval/compile.rkt:111:19: 665.0ms (5.3% of total)
ival-log: 582.0ms (4.7% of total)
adjust: 567.0ms (4.6% of total)
ival-sub: 478.0ms (3.8% of total)
ival-hypot: 415.0ms (3.3% of total)
ival-asin: 384.0ms (3.1% of total)
ival-exp: 351.0ms (2.8% of total)
ival-pow2: 331.0ms (2.7% of total)
ival-sqrt: 261.0ms (2.1% of total)
ival-sin: 238.0ms (1.9% of total)
ival-acos: 222.0ms (1.8% of total)
ival-copysign: 212.0ms (1.7% of total)
ival-neg: 183.0ms (1.5% of total)
ival-cos: 172.0ms (1.4% of total)
ival-cbrt: 117.0ms (0.9% of total)
ival-atan2: 108.0ms (0.9% of total)
ival-log1p: 75.0ms (0.6% of total)
ival-pi: 67.0ms (0.5% of total)
ival-expm1: 59.0ms (0.5% of total)
...in/eval/compile.rkt:110:19: 55.0ms (0.4% of total)
ival-fabs: 51.0ms (0.4% of total)
ival-true: 40.0ms (0.3% of total)
ival-assert: 20.0ms (0.2% of total)
ival-e: 4.0ms (0% of total)

eval29.0s (5.7%)

Memory
606.5MiB live, 38 372.6MiB allocated
Compiler

Compiled 4 230 033 to 534 611 computations (87.4% saved)

series19.2s (3.7%)

Memory
646.0MiB live, 23 666.6MiB allocated
Counts
2 120 → 35 904
Calls

9366 calls:

TimeVariablePointExpression
369.0ms
beta
@inf
(* (- beta alpha) (/ alpha (+ alpha (* 2 i))))
327.0ms
re
@inf
(/ 1 (log (pow base (/ 1 (atan2 im re)))))
282.0ms
x
@0
(log (+ 1 (fabs x)))
254.0ms
x.im
@0
(+ (* -1 (* y.im (atan2 x.im x.re))) (* y.re (log x.re)))
233.0ms
u2
@inf
(* (* (/ 1 6) (pow (* -2 (log u1)) 1/2)) (cos (* (* 2 (PI)) u2)))

explain15.8s (3.1%)

Memory
222.1MiB live, 19 446.8MiB allocated
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64#foflow-rescue11970
-.f64#fcancellation7720
/.f64#fo/o6320
/.f64#fo/n2030
sin.f64#fsensitivity1841
sqrt.f32#foflow-rescue1840
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)))sensitivity1840
+.f64#fcancellation1620
sqrt.f64#fuflow-rescue1410
log.f64(log.f64 (+.f64 (fabs.f64 x) (sqrt.f64 (+.f64 (*.f64 x x) #s(literal 1 binary64)))))sensitivity1270
log.f32(log.f32 (+.f32 (fabs.f32 x) (sqrt.f32 (+.f32 (*.f32 x x) #s(literal 1 binary32)))))sensitivity1223
-.f64#fnan-rescue1040
/.f64#fn/o930
/.f64#fu/u670
*.f64#fn*u640
/.f64#fu/n440
+.f64#fnan-rescue430
*.f64#fn*o320
/.f64#fn/u60
exp.f64#fsensitivity30
log.f32(log.f32 (+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32)))))oflow-rescue20
(+.f32 x (sqrt.f32 (-.f32 (*.f32 x x) #s(literal 1 binary32))))overflow2
(*.f32 x x)overflow117
(-.f32 (*.f32 x x) #s(literal 1 binary32))overflow117
*.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*u20
(*.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))))overflow2
(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)))overflow2
(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))))underflow2
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-rescue10
(+.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))overflow1
(*.f64 x.re x.re)overflow66
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow112
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow59
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-rescue10
(+.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))overflow1
(*.f64 x.re x.re)overflow66
(+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im))overflow112
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 x.re x.re) (*.f64 x.im x.im)))) y.im)overflow1
(*.f64 x.im x.im)overflow59
Confusion
Predicted +Predicted -
+362349
-20010720
Precision
0.9476850640857964
Recall
0.9866557734204793
Confusion?
Predicted +Predicted MaybePredicted -
+3623247
-200210718
Precision?
0.9472171413639927
Recall?
0.9872004357298475
Freqs
test
numberfreq
010769
13279
2541
33
Total Confusion?
Predicted +Predicted MaybePredicted -
+3600
-1020
Precision?
0.972972972972973
Recall?
1.0
Samples
3.0s25 540×0valid
1.2s2 692×1valid
599.0ms878×2valid
105.0ms5exit
24.0ms66×3valid
Compiler

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

Precisions
Click to see histograms. Total time spent on operations: 3.4s
ival-mult: 992.0ms (28.8% of total)
...in/eval/compile.rkt:111:19: 371.0ms (10.8% of total)
ival-hypot: 315.0ms (9.2% of total)
ival-add: 306.0ms (8.9% of total)
ival-div: 229.0ms (6.7% of total)
ival-sub: 204.0ms (5.9% of total)
ival-exp: 174.0ms (5.1% of total)
ival-log: 172.0ms (5% of total)
adjust: 120.0ms (3.5% of total)
ival-cos: 113.0ms (3.3% of total)
ival-pi: 90.0ms (2.6% of total)
ival-sin: 70.0ms (2% of total)
ival-asin: 64.0ms (1.9% of total)
ival-sqrt: 51.0ms (1.5% of total)
ival-atan2: 43.0ms (1.2% of total)
ival-true: 30.0ms (0.9% of total)
ival-pow: 22.0ms (0.6% of total)
ival-fabs: 19.0ms (0.6% of total)
...in/eval/compile.rkt:110:19: 14.0ms (0.4% of total)
ival-neg: 12.0ms (0.3% of total)
ival-assert: 12.0ms (0.3% of total)
ival-copysign: 11.0ms (0.3% of total)
ival-log1p: 8.0ms (0.2% of total)

preprocess13.3s (2.6%)

Memory
-173.2MiB live, 12 981.0MiB allocated
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 28 450 to 10 924 computations (61.6% saved)

regimes12.8s (2.5%)

Memory
97.5MiB live, 17 045.7MiB allocated
Counts
8 914 → 766
Calls

132 calls:

1.0s
y.re
1.0s
y.im
935.0ms
im
794.0ms
x.im
793.0ms
x.re
Compiler

Compiled 7 112 to 4 234 computations (40.5% saved)

bsearch10.4s (2%)

Memory
-6.7MiB live, 11 962.6MiB allocated
Algorithm
308×binary-search
51×left-value
Stop Event
301×narrow-enough
predicate-same
Samples
5.1s33 982×0valid
1.6s3 374×1valid
191.0ms536×2valid
130.0ms188×3valid
Compiler

Compiled 68 267 to 47 279 computations (30.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.3s
ival-mult: 1.4s (27.1% of total)
ival-hypot: 805.0ms (15.2% of total)
ival-exp: 621.0ms (11.7% of total)
ival-add: 468.0ms (8.9% of total)
ival-log: 429.0ms (8.1% of total)
ival-sin: 349.0ms (6.6% of total)
ival-sub: 269.0ms (5.1% of total)
ival-cos: 200.0ms (3.8% of total)
ival-div: 179.0ms (3.4% of total)
...in/eval/compile.rkt:111:19: 142.0ms (2.7% of total)
ival-atan2: 105.0ms (2% of total)
adjust: 84.0ms (1.6% of total)
ival-fabs: 46.0ms (0.9% of total)
ival-sqrt: 36.0ms (0.7% of total)
ival-asin: 33.0ms (0.6% of total)
ival-true: 27.0ms (0.5% of total)
ival-assert: 15.0ms (0.3% of total)
ival-neg: 15.0ms (0.3% of total)
ival-copysign: 14.0ms (0.3% of total)
...in/eval/compile.rkt:110:19: 11.0ms (0.2% of total)
ival-pi: 4.0ms (0.1% of total)

analyze2.6s (0.5%)

Memory
34.7MiB live, 3 413.3MiB allocated
Algorithm
58×search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%86.3%13.7%0%0%0%0
55.4%47.8%38.5%13.7%0%0%0%1
65.9%55.7%28.9%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 821 computations (45.2% saved)

end0.0ms (0%)

Memory
1.0MiB live, 0.9MiB allocated

Profiling

Loading profile data...