primal_sieve/wheel/wheel210.rs
1// automatically generated
2#![allow(clippy::all)]
3use crate::wheel::{WheelInit, Wheel, WheelElem};
4
5#[derive(Debug, Clone)]
6pub struct Wheel210;
7impl Wheel for Wheel210 {
8 #[inline(always)]
9 fn modulo(&self) -> usize { MODULO }
10
11 #[inline(always)]
12 fn size(&self) -> usize { SIZE }
13
14 #[inline(always)]
15 fn wheel(&self) -> &'static [WheelElem] { WHEEL }
16
17 #[inline(always)]
18 fn init(&self) -> &'static [WheelInit] { INIT }
19
20 #[inline(always)]
21 unsafe fn hardcoded_sieve(&self,
22 bytes: &mut [u8], si_: &mut usize, wi_: &mut usize, prime: usize) {
23 hardcoded_sieve(bytes, si_, wi_, prime)
24 }
25}
26
27pub const SIZE: usize = 48;
28
29pub const MODULO: usize = 210;
30
31#[allow(dead_code)]
32pub const SMALL_BITS: usize = 2288;
33#[allow(dead_code)]
34pub const SMALL: &[u8; SMALL_BITS / 8] = &[
35 0b11111110, 0b11011111, 0b11101111, 0b01111110, 0b10110110, 0b11011011, 0b00111101, 0b11111001,
36 0b11010101, 0b01001111, 0b00011110, 0b11110011, 0b11101010, 0b10100110, 0b11101101, 0b10011110,
37 0b11100110, 0b00001100, 0b11010011, 0b11010011, 0b00111011, 0b11011101, 0b01011001, 0b10100101,
38 0b01101010, 0b01100111, 0b10010010, 0b10111101, 0b01111000, 0b00011110, 0b10100110, 0b01010110,
39 0b01010110, 0b11100011, 0b10101101, 0b00101101, 0b11011110, 0b00101010, 0b01001100, 0b01010101,
40 0b11011001, 0b10100011, 0b11110000, 0b10011111, 0b00000011, 0b01010100, 0b10100001, 0b11111000,
41 0b00101110, 0b11111101, 0b01000100, 0b11101001, 0b01100110, 0b11110110, 0b00010011, 0b00111010,
42 0b10111000, 0b01001100, 0b00101011, 0b00111010, 0b01000101, 0b00010001, 0b10111111, 0b01010100,
43 0b10001100, 0b11000001, 0b01111010, 0b10110011, 0b11001000, 0b10111100, 0b10001100, 0b01001111,
44 0b00100001, 0b01011000, 0b01110001, 0b01110001, 0b10011011, 0b11000001, 0b00010111, 0b11101111,
45 0b01010100, 0b10010110, 0b00011010, 0b00001000, 0b11100101, 0b10000011, 0b10001100, 0b01000110,
46 0b01110010, 0b11111011, 0b10101110, 0b01100101, 0b10010010, 0b10001111, 0b01011000, 0b10000111,
47 0b11010010, 0b10010010, 0b11011000, 0b10000001, 0b01100101, 0b00100110, 0b11100011, 0b10100000,
48 0b00010001, 0b00111000, 0b11000111, 0b00100110, 0b00111100, 0b10000001, 0b11101011, 0b10011001,
49 0b10001101, 0b01010001, 0b10001000, 0b00111110, 0b00100100, 0b11110011, 0b00110011, 0b01001101,
50 0b01011010, 0b10001011, 0b00011100, 0b10100111, 0b00101010, 0b10110100, 0b01011000, 0b01001100,
51 0b01001110, 0b00100110, 0b11110110, 0b00011001, 0b10000010, 0b11011100, 0b10000011, 0b11000011,
52 0b00101100, 0b11110001, 0b00111000, 0b00000010, 0b10110101, 0b11001101, 0b11001101, 0b00000010,
53 0b10110010, 0b01001010, 0b10010100, 0b00001100, 0b01010111, 0b01001100, 0b01111010, 0b00110000,
54 0b01000011, 0b00001011, 0b11110001, 0b11001011, 0b01000100, 0b01101100, 0b00100100, 0b11111000,
55 0b00011001, 0b00000001, 0b10010101, 0b10101000, 0b01011100, 0b01110011, 0b11101010, 0b10001101,
56 0b00100100, 0b10010110, 0b00101011, 0b01010000, 0b10100110, 0b00100010, 0b00011110, 0b11000100,
57 0b11010001, 0b01001000, 0b00000110, 0b11010100, 0b00111010, 0b00101111, 0b01110100, 0b10011100,
58 0b00000111, 0b01101010, 0b00000101, 0b10001000, 0b10111111, 0b01101000, 0b00010101, 0b00101110,
59 0b01100000, 0b01010101, 0b11100011, 0b10110111, 0b01010001, 0b10011000, 0b00001000, 0b00010100,
60 0b10000110, 0b01011010, 0b10101010, 0b01000101, 0b01001101, 0b01001001, 0b01110000, 0b00100111,
61 0b11010010, 0b10010011, 0b11010101, 0b11001010, 0b10101011, 0b00000010, 0b10000011, 0b01100001,
62 0b00000101, 0b00100100, 0b11001110, 0b10000111, 0b00100010, 0b11000010, 0b10101001, 0b10101101,
63 0b00011000, 0b10001100, 0b01001101, 0b01111000, 0b11010001, 0b10001001, 0b00010110, 0b10110000,
64 0b01010111, 0b11000111, 0b01100010, 0b10100010, 0b11000000, 0b00110100, 0b00100100, 0b01010010,
65 0b10101110, 0b01011010, 0b01000000, 0b00110010, 0b10001101, 0b00100001, 0b00001000, 0b01000011,
66 0b00110100, 0b10110110, 0b11010010, 0b10110110, 0b11011001, 0b00011001, 0b11100001, 0b01100000,
67 0b01100111, 0b00011010, 0b00111001, 0b01100000, 0b11010000, 0b01000100, 0b01111010, 0b10010100,
68 0b10011010, 0b00001001, 0b10001000, 0b10000011, 0b10101000, 0b01110100, 0b01010101, 0b00010000,
69 0b00100111, 0b10100001, 0b01011101, 0b01101000, 0b00011110, 0b00100011, 0b11001000, 0b00110010,
70 0b11100000, 0b00011001, 0b00000011, 0b01000100, 0b01110011, 0b01001000,
71];
72const INIT: &[WheelInit; 210] = &[
73 WheelInit { next_mult_factor: 1, wheel_index: 0 }, // 0
74 WheelInit { next_mult_factor: 0, wheel_index: 0 }, // 1
75 WheelInit { next_mult_factor: 9, wheel_index: 1 }, // 2
76 WheelInit { next_mult_factor: 8, wheel_index: 1 }, // 3
77 WheelInit { next_mult_factor: 7, wheel_index: 1 }, // 4
78 WheelInit { next_mult_factor: 6, wheel_index: 1 }, // 5
79 WheelInit { next_mult_factor: 5, wheel_index: 1 }, // 6
80 WheelInit { next_mult_factor: 4, wheel_index: 1 }, // 7
81 WheelInit { next_mult_factor: 3, wheel_index: 1 }, // 8
82 WheelInit { next_mult_factor: 2, wheel_index: 1 }, // 9
83 WheelInit { next_mult_factor: 1, wheel_index: 1 }, // 10
84 WheelInit { next_mult_factor: 0, wheel_index: 1 }, // 11
85 WheelInit { next_mult_factor: 1, wheel_index: 2 }, // 12
86 WheelInit { next_mult_factor: 0, wheel_index: 2 }, // 13
87 WheelInit { next_mult_factor: 3, wheel_index: 3 }, // 14
88 WheelInit { next_mult_factor: 2, wheel_index: 3 }, // 15
89 WheelInit { next_mult_factor: 1, wheel_index: 3 }, // 16
90 WheelInit { next_mult_factor: 0, wheel_index: 3 }, // 17
91 WheelInit { next_mult_factor: 1, wheel_index: 4 }, // 18
92 WheelInit { next_mult_factor: 0, wheel_index: 4 }, // 19
93 WheelInit { next_mult_factor: 3, wheel_index: 5 }, // 20
94 WheelInit { next_mult_factor: 2, wheel_index: 5 }, // 21
95 WheelInit { next_mult_factor: 1, wheel_index: 5 }, // 22
96 WheelInit { next_mult_factor: 0, wheel_index: 5 }, // 23
97 WheelInit { next_mult_factor: 5, wheel_index: 6 }, // 24
98 WheelInit { next_mult_factor: 4, wheel_index: 6 }, // 25
99 WheelInit { next_mult_factor: 3, wheel_index: 6 }, // 26
100 WheelInit { next_mult_factor: 2, wheel_index: 6 }, // 27
101 WheelInit { next_mult_factor: 1, wheel_index: 6 }, // 28
102 WheelInit { next_mult_factor: 0, wheel_index: 6 }, // 29
103 WheelInit { next_mult_factor: 1, wheel_index: 7 }, // 30
104 WheelInit { next_mult_factor: 0, wheel_index: 7 }, // 31
105 WheelInit { next_mult_factor: 5, wheel_index: 8 }, // 32
106 WheelInit { next_mult_factor: 4, wheel_index: 8 }, // 33
107 WheelInit { next_mult_factor: 3, wheel_index: 8 }, // 34
108 WheelInit { next_mult_factor: 2, wheel_index: 8 }, // 35
109 WheelInit { next_mult_factor: 1, wheel_index: 8 }, // 36
110 WheelInit { next_mult_factor: 0, wheel_index: 8 }, // 37
111 WheelInit { next_mult_factor: 3, wheel_index: 9 }, // 38
112 WheelInit { next_mult_factor: 2, wheel_index: 9 }, // 39
113 WheelInit { next_mult_factor: 1, wheel_index: 9 }, // 40
114 WheelInit { next_mult_factor: 0, wheel_index: 9 }, // 41
115 WheelInit { next_mult_factor: 1, wheel_index: 10 }, // 42
116 WheelInit { next_mult_factor: 0, wheel_index: 10 }, // 43
117 WheelInit { next_mult_factor: 3, wheel_index: 11 }, // 44
118 WheelInit { next_mult_factor: 2, wheel_index: 11 }, // 45
119 WheelInit { next_mult_factor: 1, wheel_index: 11 }, // 46
120 WheelInit { next_mult_factor: 0, wheel_index: 11 }, // 47
121 WheelInit { next_mult_factor: 5, wheel_index: 12 }, // 48
122 WheelInit { next_mult_factor: 4, wheel_index: 12 }, // 49
123 WheelInit { next_mult_factor: 3, wheel_index: 12 }, // 50
124 WheelInit { next_mult_factor: 2, wheel_index: 12 }, // 51
125 WheelInit { next_mult_factor: 1, wheel_index: 12 }, // 52
126 WheelInit { next_mult_factor: 0, wheel_index: 12 }, // 53
127 WheelInit { next_mult_factor: 5, wheel_index: 13 }, // 54
128 WheelInit { next_mult_factor: 4, wheel_index: 13 }, // 55
129 WheelInit { next_mult_factor: 3, wheel_index: 13 }, // 56
130 WheelInit { next_mult_factor: 2, wheel_index: 13 }, // 57
131 WheelInit { next_mult_factor: 1, wheel_index: 13 }, // 58
132 WheelInit { next_mult_factor: 0, wheel_index: 13 }, // 59
133 WheelInit { next_mult_factor: 1, wheel_index: 14 }, // 60
134 WheelInit { next_mult_factor: 0, wheel_index: 14 }, // 61
135 WheelInit { next_mult_factor: 5, wheel_index: 15 }, // 62
136 WheelInit { next_mult_factor: 4, wheel_index: 15 }, // 63
137 WheelInit { next_mult_factor: 3, wheel_index: 15 }, // 64
138 WheelInit { next_mult_factor: 2, wheel_index: 15 }, // 65
139 WheelInit { next_mult_factor: 1, wheel_index: 15 }, // 66
140 WheelInit { next_mult_factor: 0, wheel_index: 15 }, // 67
141 WheelInit { next_mult_factor: 3, wheel_index: 16 }, // 68
142 WheelInit { next_mult_factor: 2, wheel_index: 16 }, // 69
143 WheelInit { next_mult_factor: 1, wheel_index: 16 }, // 70
144 WheelInit { next_mult_factor: 0, wheel_index: 16 }, // 71
145 WheelInit { next_mult_factor: 1, wheel_index: 17 }, // 72
146 WheelInit { next_mult_factor: 0, wheel_index: 17 }, // 73
147 WheelInit { next_mult_factor: 5, wheel_index: 18 }, // 74
148 WheelInit { next_mult_factor: 4, wheel_index: 18 }, // 75
149 WheelInit { next_mult_factor: 3, wheel_index: 18 }, // 76
150 WheelInit { next_mult_factor: 2, wheel_index: 18 }, // 77
151 WheelInit { next_mult_factor: 1, wheel_index: 18 }, // 78
152 WheelInit { next_mult_factor: 0, wheel_index: 18 }, // 79
153 WheelInit { next_mult_factor: 3, wheel_index: 19 }, // 80
154 WheelInit { next_mult_factor: 2, wheel_index: 19 }, // 81
155 WheelInit { next_mult_factor: 1, wheel_index: 19 }, // 82
156 WheelInit { next_mult_factor: 0, wheel_index: 19 }, // 83
157 WheelInit { next_mult_factor: 5, wheel_index: 20 }, // 84
158 WheelInit { next_mult_factor: 4, wheel_index: 20 }, // 85
159 WheelInit { next_mult_factor: 3, wheel_index: 20 }, // 86
160 WheelInit { next_mult_factor: 2, wheel_index: 20 }, // 87
161 WheelInit { next_mult_factor: 1, wheel_index: 20 }, // 88
162 WheelInit { next_mult_factor: 0, wheel_index: 20 }, // 89
163 WheelInit { next_mult_factor: 7, wheel_index: 21 }, // 90
164 WheelInit { next_mult_factor: 6, wheel_index: 21 }, // 91
165 WheelInit { next_mult_factor: 5, wheel_index: 21 }, // 92
166 WheelInit { next_mult_factor: 4, wheel_index: 21 }, // 93
167 WheelInit { next_mult_factor: 3, wheel_index: 21 }, // 94
168 WheelInit { next_mult_factor: 2, wheel_index: 21 }, // 95
169 WheelInit { next_mult_factor: 1, wheel_index: 21 }, // 96
170 WheelInit { next_mult_factor: 0, wheel_index: 21 }, // 97
171 WheelInit { next_mult_factor: 3, wheel_index: 22 }, // 98
172 WheelInit { next_mult_factor: 2, wheel_index: 22 }, // 99
173 WheelInit { next_mult_factor: 1, wheel_index: 22 }, // 100
174 WheelInit { next_mult_factor: 0, wheel_index: 22 }, // 101
175 WheelInit { next_mult_factor: 1, wheel_index: 23 }, // 102
176 WheelInit { next_mult_factor: 0, wheel_index: 23 }, // 103
177 WheelInit { next_mult_factor: 3, wheel_index: 24 }, // 104
178 WheelInit { next_mult_factor: 2, wheel_index: 24 }, // 105
179 WheelInit { next_mult_factor: 1, wheel_index: 24 }, // 106
180 WheelInit { next_mult_factor: 0, wheel_index: 24 }, // 107
181 WheelInit { next_mult_factor: 1, wheel_index: 25 }, // 108
182 WheelInit { next_mult_factor: 0, wheel_index: 25 }, // 109
183 WheelInit { next_mult_factor: 3, wheel_index: 26 }, // 110
184 WheelInit { next_mult_factor: 2, wheel_index: 26 }, // 111
185 WheelInit { next_mult_factor: 1, wheel_index: 26 }, // 112
186 WheelInit { next_mult_factor: 0, wheel_index: 26 }, // 113
187 WheelInit { next_mult_factor: 7, wheel_index: 27 }, // 114
188 WheelInit { next_mult_factor: 6, wheel_index: 27 }, // 115
189 WheelInit { next_mult_factor: 5, wheel_index: 27 }, // 116
190 WheelInit { next_mult_factor: 4, wheel_index: 27 }, // 117
191 WheelInit { next_mult_factor: 3, wheel_index: 27 }, // 118
192 WheelInit { next_mult_factor: 2, wheel_index: 27 }, // 119
193 WheelInit { next_mult_factor: 1, wheel_index: 27 }, // 120
194 WheelInit { next_mult_factor: 0, wheel_index: 27 }, // 121
195 WheelInit { next_mult_factor: 5, wheel_index: 28 }, // 122
196 WheelInit { next_mult_factor: 4, wheel_index: 28 }, // 123
197 WheelInit { next_mult_factor: 3, wheel_index: 28 }, // 124
198 WheelInit { next_mult_factor: 2, wheel_index: 28 }, // 125
199 WheelInit { next_mult_factor: 1, wheel_index: 28 }, // 126
200 WheelInit { next_mult_factor: 0, wheel_index: 28 }, // 127
201 WheelInit { next_mult_factor: 3, wheel_index: 29 }, // 128
202 WheelInit { next_mult_factor: 2, wheel_index: 29 }, // 129
203 WheelInit { next_mult_factor: 1, wheel_index: 29 }, // 130
204 WheelInit { next_mult_factor: 0, wheel_index: 29 }, // 131
205 WheelInit { next_mult_factor: 5, wheel_index: 30 }, // 132
206 WheelInit { next_mult_factor: 4, wheel_index: 30 }, // 133
207 WheelInit { next_mult_factor: 3, wheel_index: 30 }, // 134
208 WheelInit { next_mult_factor: 2, wheel_index: 30 }, // 135
209 WheelInit { next_mult_factor: 1, wheel_index: 30 }, // 136
210 WheelInit { next_mult_factor: 0, wheel_index: 30 }, // 137
211 WheelInit { next_mult_factor: 1, wheel_index: 31 }, // 138
212 WheelInit { next_mult_factor: 0, wheel_index: 31 }, // 139
213 WheelInit { next_mult_factor: 3, wheel_index: 32 }, // 140
214 WheelInit { next_mult_factor: 2, wheel_index: 32 }, // 141
215 WheelInit { next_mult_factor: 1, wheel_index: 32 }, // 142
216 WheelInit { next_mult_factor: 0, wheel_index: 32 }, // 143
217 WheelInit { next_mult_factor: 5, wheel_index: 33 }, // 144
218 WheelInit { next_mult_factor: 4, wheel_index: 33 }, // 145
219 WheelInit { next_mult_factor: 3, wheel_index: 33 }, // 146
220 WheelInit { next_mult_factor: 2, wheel_index: 33 }, // 147
221 WheelInit { next_mult_factor: 1, wheel_index: 33 }, // 148
222 WheelInit { next_mult_factor: 0, wheel_index: 33 }, // 149
223 WheelInit { next_mult_factor: 1, wheel_index: 34 }, // 150
224 WheelInit { next_mult_factor: 0, wheel_index: 34 }, // 151
225 WheelInit { next_mult_factor: 5, wheel_index: 35 }, // 152
226 WheelInit { next_mult_factor: 4, wheel_index: 35 }, // 153
227 WheelInit { next_mult_factor: 3, wheel_index: 35 }, // 154
228 WheelInit { next_mult_factor: 2, wheel_index: 35 }, // 155
229 WheelInit { next_mult_factor: 1, wheel_index: 35 }, // 156
230 WheelInit { next_mult_factor: 0, wheel_index: 35 }, // 157
231 WheelInit { next_mult_factor: 5, wheel_index: 36 }, // 158
232 WheelInit { next_mult_factor: 4, wheel_index: 36 }, // 159
233 WheelInit { next_mult_factor: 3, wheel_index: 36 }, // 160
234 WheelInit { next_mult_factor: 2, wheel_index: 36 }, // 161
235 WheelInit { next_mult_factor: 1, wheel_index: 36 }, // 162
236 WheelInit { next_mult_factor: 0, wheel_index: 36 }, // 163
237 WheelInit { next_mult_factor: 3, wheel_index: 37 }, // 164
238 WheelInit { next_mult_factor: 2, wheel_index: 37 }, // 165
239 WheelInit { next_mult_factor: 1, wheel_index: 37 }, // 166
240 WheelInit { next_mult_factor: 0, wheel_index: 37 }, // 167
241 WheelInit { next_mult_factor: 1, wheel_index: 38 }, // 168
242 WheelInit { next_mult_factor: 0, wheel_index: 38 }, // 169
243 WheelInit { next_mult_factor: 3, wheel_index: 39 }, // 170
244 WheelInit { next_mult_factor: 2, wheel_index: 39 }, // 171
245 WheelInit { next_mult_factor: 1, wheel_index: 39 }, // 172
246 WheelInit { next_mult_factor: 0, wheel_index: 39 }, // 173
247 WheelInit { next_mult_factor: 5, wheel_index: 40 }, // 174
248 WheelInit { next_mult_factor: 4, wheel_index: 40 }, // 175
249 WheelInit { next_mult_factor: 3, wheel_index: 40 }, // 176
250 WheelInit { next_mult_factor: 2, wheel_index: 40 }, // 177
251 WheelInit { next_mult_factor: 1, wheel_index: 40 }, // 178
252 WheelInit { next_mult_factor: 0, wheel_index: 40 }, // 179
253 WheelInit { next_mult_factor: 1, wheel_index: 41 }, // 180
254 WheelInit { next_mult_factor: 0, wheel_index: 41 }, // 181
255 WheelInit { next_mult_factor: 5, wheel_index: 42 }, // 182
256 WheelInit { next_mult_factor: 4, wheel_index: 42 }, // 183
257 WheelInit { next_mult_factor: 3, wheel_index: 42 }, // 184
258 WheelInit { next_mult_factor: 2, wheel_index: 42 }, // 185
259 WheelInit { next_mult_factor: 1, wheel_index: 42 }, // 186
260 WheelInit { next_mult_factor: 0, wheel_index: 42 }, // 187
261 WheelInit { next_mult_factor: 3, wheel_index: 43 }, // 188
262 WheelInit { next_mult_factor: 2, wheel_index: 43 }, // 189
263 WheelInit { next_mult_factor: 1, wheel_index: 43 }, // 190
264 WheelInit { next_mult_factor: 0, wheel_index: 43 }, // 191
265 WheelInit { next_mult_factor: 1, wheel_index: 44 }, // 192
266 WheelInit { next_mult_factor: 0, wheel_index: 44 }, // 193
267 WheelInit { next_mult_factor: 3, wheel_index: 45 }, // 194
268 WheelInit { next_mult_factor: 2, wheel_index: 45 }, // 195
269 WheelInit { next_mult_factor: 1, wheel_index: 45 }, // 196
270 WheelInit { next_mult_factor: 0, wheel_index: 45 }, // 197
271 WheelInit { next_mult_factor: 1, wheel_index: 46 }, // 198
272 WheelInit { next_mult_factor: 0, wheel_index: 46 }, // 199
273 WheelInit { next_mult_factor: 9, wheel_index: 47 }, // 200
274 WheelInit { next_mult_factor: 8, wheel_index: 47 }, // 201
275 WheelInit { next_mult_factor: 7, wheel_index: 47 }, // 202
276 WheelInit { next_mult_factor: 6, wheel_index: 47 }, // 203
277 WheelInit { next_mult_factor: 5, wheel_index: 47 }, // 204
278 WheelInit { next_mult_factor: 4, wheel_index: 47 }, // 205
279 WheelInit { next_mult_factor: 3, wheel_index: 47 }, // 206
280 WheelInit { next_mult_factor: 2, wheel_index: 47 }, // 207
281 WheelInit { next_mult_factor: 1, wheel_index: 47 }, // 208
282 WheelInit { next_mult_factor: 0, wheel_index: 47 }, // 209
283];
284const WHEEL: &[WheelElem; 384] = &[
285 // remainder 1
286 WheelElem { unset_bit: 254, next_mult_factor: 10, correction: 0, next: 1 },
287 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 0, next: 1 },
288 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 0, next: 1 },
289 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 0, next: 1 },
290 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 0, next: 1 },
291 WheelElem { unset_bit: 191, next_mult_factor: 6, correction: 0, next: 1 },
292 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 1, next: 1 },
293 WheelElem { unset_bit: 254, next_mult_factor: 6, correction: 0, next: 1 },
294 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 0, next: 1 },
295 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 0, next: 1 },
296 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 0, next: 1 },
297 WheelElem { unset_bit: 239, next_mult_factor: 6, correction: 0, next: 1 },
298 WheelElem { unset_bit: 191, next_mult_factor: 6, correction: 0, next: 1 },
299 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 1, next: 1 },
300 WheelElem { unset_bit: 254, next_mult_factor: 6, correction: 0, next: 1 },
301 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 0, next: 1 },
302 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 0, next: 1 },
303 WheelElem { unset_bit: 247, next_mult_factor: 6, correction: 0, next: 1 },
304 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 0, next: 1 },
305 WheelElem { unset_bit: 191, next_mult_factor: 6, correction: 0, next: 1 },
306 WheelElem { unset_bit: 127, next_mult_factor: 8, correction: 1, next: 1 },
307 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 0, next: 1 },
308 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 0, next: 1 },
309 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 0, next: 1 },
310 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 0, next: 1 },
311 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 0, next: 1 },
312 WheelElem { unset_bit: 191, next_mult_factor: 8, correction: 1, next: 1 },
313 WheelElem { unset_bit: 254, next_mult_factor: 6, correction: 0, next: 1 },
314 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 0, next: 1 },
315 WheelElem { unset_bit: 251, next_mult_factor: 6, correction: 0, next: 1 },
316 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 0, next: 1 },
317 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 0, next: 1 },
318 WheelElem { unset_bit: 191, next_mult_factor: 6, correction: 0, next: 1 },
319 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 1, next: 1 },
320 WheelElem { unset_bit: 254, next_mult_factor: 6, correction: 0, next: 1 },
321 WheelElem { unset_bit: 253, next_mult_factor: 6, correction: 0, next: 1 },
322 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 0, next: 1 },
323 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 0, next: 1 },
324 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 0, next: 1 },
325 WheelElem { unset_bit: 191, next_mult_factor: 6, correction: 0, next: 1 },
326 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 1, next: 1 },
327 WheelElem { unset_bit: 254, next_mult_factor: 6, correction: 0, next: 1 },
328 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 0, next: 1 },
329 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 0, next: 1 },
330 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 0, next: 1 },
331 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 0, next: 1 },
332 WheelElem { unset_bit: 223, next_mult_factor: 10, correction: 0, next: 1 },
333 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 1, next: -47 },
334 // remainder 7
335 WheelElem { unset_bit: 253, next_mult_factor: 10, correction: 2, next: 1 },
336 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 1, next: 1 },
337 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 0, next: 1 },
338 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 1, next: 1 },
339 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 1, next: 1 },
340 WheelElem { unset_bit: 251, next_mult_factor: 6, correction: 1, next: 1 },
341 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 1, next: 1 },
342 WheelElem { unset_bit: 253, next_mult_factor: 6, correction: 1, next: 1 },
343 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 1, next: 1 },
344 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 1, next: 1 },
345 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 0, next: 1 },
346 WheelElem { unset_bit: 127, next_mult_factor: 6, correction: 2, next: 1 },
347 WheelElem { unset_bit: 251, next_mult_factor: 6, correction: 1, next: 1 },
348 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 1, next: 1 },
349 WheelElem { unset_bit: 253, next_mult_factor: 6, correction: 1, next: 1 },
350 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 1, next: 1 },
351 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 1, next: 1 },
352 WheelElem { unset_bit: 254, next_mult_factor: 6, correction: 1, next: 1 },
353 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 1, next: 1 },
354 WheelElem { unset_bit: 251, next_mult_factor: 6, correction: 1, next: 1 },
355 WheelElem { unset_bit: 191, next_mult_factor: 8, correction: 2, next: 1 },
356 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 1, next: 1 },
357 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 1, next: 1 },
358 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 0, next: 1 },
359 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 1, next: 1 },
360 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 1, next: 1 },
361 WheelElem { unset_bit: 251, next_mult_factor: 8, correction: 2, next: 1 },
362 WheelElem { unset_bit: 253, next_mult_factor: 6, correction: 1, next: 1 },
363 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 1, next: 1 },
364 WheelElem { unset_bit: 239, next_mult_factor: 6, correction: 1, next: 1 },
365 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 1, next: 1 },
366 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 1, next: 1 },
367 WheelElem { unset_bit: 251, next_mult_factor: 6, correction: 1, next: 1 },
368 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 1, next: 1 },
369 WheelElem { unset_bit: 253, next_mult_factor: 6, correction: 1, next: 1 },
370 WheelElem { unset_bit: 223, next_mult_factor: 6, correction: 2, next: 1 },
371 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 0, next: 1 },
372 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 1, next: 1 },
373 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 1, next: 1 },
374 WheelElem { unset_bit: 251, next_mult_factor: 6, correction: 1, next: 1 },
375 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 1, next: 1 },
376 WheelElem { unset_bit: 253, next_mult_factor: 6, correction: 1, next: 1 },
377 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 1, next: 1 },
378 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 1, next: 1 },
379 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 0, next: 1 },
380 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 1, next: 1 },
381 WheelElem { unset_bit: 247, next_mult_factor: 10, correction: 2, next: 1 },
382 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 1, next: -47 },
383 // remainder 11
384 WheelElem { unset_bit: 251, next_mult_factor: 10, correction: 4, next: 1 },
385 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 0, next: 1 },
386 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 2, next: 1 },
387 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 0, next: 1 },
388 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 2, next: 1 },
389 WheelElem { unset_bit: 247, next_mult_factor: 6, correction: 2, next: 1 },
390 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 1, next: 1 },
391 WheelElem { unset_bit: 251, next_mult_factor: 6, correction: 2, next: 1 },
392 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 2, next: 1 },
393 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 0, next: 1 },
394 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 2, next: 1 },
395 WheelElem { unset_bit: 253, next_mult_factor: 6, correction: 2, next: 1 },
396 WheelElem { unset_bit: 247, next_mult_factor: 6, correction: 2, next: 1 },
397 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 1, next: 1 },
398 WheelElem { unset_bit: 251, next_mult_factor: 6, correction: 2, next: 1 },
399 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 2, next: 1 },
400 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 0, next: 1 },
401 WheelElem { unset_bit: 191, next_mult_factor: 6, correction: 2, next: 1 },
402 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 2, next: 1 },
403 WheelElem { unset_bit: 247, next_mult_factor: 6, correction: 2, next: 1 },
404 WheelElem { unset_bit: 223, next_mult_factor: 8, correction: 3, next: 1 },
405 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 2, next: 1 },
406 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 0, next: 1 },
407 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 2, next: 1 },
408 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 0, next: 1 },
409 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 2, next: 1 },
410 WheelElem { unset_bit: 247, next_mult_factor: 8, correction: 3, next: 1 },
411 WheelElem { unset_bit: 251, next_mult_factor: 6, correction: 2, next: 1 },
412 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 2, next: 1 },
413 WheelElem { unset_bit: 254, next_mult_factor: 6, correction: 2, next: 1 },
414 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 0, next: 1 },
415 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 2, next: 1 },
416 WheelElem { unset_bit: 247, next_mult_factor: 6, correction: 2, next: 1 },
417 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 1, next: 1 },
418 WheelElem { unset_bit: 251, next_mult_factor: 6, correction: 2, next: 1 },
419 WheelElem { unset_bit: 239, next_mult_factor: 6, correction: 2, next: 1 },
420 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 2, next: 1 },
421 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 0, next: 1 },
422 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 2, next: 1 },
423 WheelElem { unset_bit: 247, next_mult_factor: 6, correction: 2, next: 1 },
424 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 1, next: 1 },
425 WheelElem { unset_bit: 251, next_mult_factor: 6, correction: 2, next: 1 },
426 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 2, next: 1 },
427 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 0, next: 1 },
428 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 2, next: 1 },
429 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 0, next: 1 },
430 WheelElem { unset_bit: 127, next_mult_factor: 10, correction: 4, next: 1 },
431 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 1, next: -47 },
432 // remainder 13
433 WheelElem { unset_bit: 247, next_mult_factor: 10, correction: 4, next: 1 },
434 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 1, next: 1 },
435 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 2, next: 1 },
436 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 1, next: 1 },
437 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 1, next: 1 },
438 WheelElem { unset_bit: 127, next_mult_factor: 6, correction: 3, next: 1 },
439 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 1, next: 1 },
440 WheelElem { unset_bit: 247, next_mult_factor: 6, correction: 3, next: 1 },
441 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 1, next: 1 },
442 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 1, next: 1 },
443 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 2, next: 1 },
444 WheelElem { unset_bit: 251, next_mult_factor: 6, correction: 2, next: 1 },
445 WheelElem { unset_bit: 127, next_mult_factor: 6, correction: 3, next: 1 },
446 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 1, next: 1 },
447 WheelElem { unset_bit: 247, next_mult_factor: 6, correction: 3, next: 1 },
448 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 1, next: 1 },
449 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 1, next: 1 },
450 WheelElem { unset_bit: 223, next_mult_factor: 6, correction: 3, next: 1 },
451 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 1, next: 1 },
452 WheelElem { unset_bit: 127, next_mult_factor: 6, correction: 3, next: 1 },
453 WheelElem { unset_bit: 239, next_mult_factor: 8, correction: 4, next: 1 },
454 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 1, next: 1 },
455 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 1, next: 1 },
456 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 2, next: 1 },
457 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 1, next: 1 },
458 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 1, next: 1 },
459 WheelElem { unset_bit: 127, next_mult_factor: 8, correction: 4, next: 1 },
460 WheelElem { unset_bit: 247, next_mult_factor: 6, correction: 3, next: 1 },
461 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 1, next: 1 },
462 WheelElem { unset_bit: 191, next_mult_factor: 6, correction: 3, next: 1 },
463 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 1, next: 1 },
464 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 1, next: 1 },
465 WheelElem { unset_bit: 127, next_mult_factor: 6, correction: 3, next: 1 },
466 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 1, next: 1 },
467 WheelElem { unset_bit: 247, next_mult_factor: 6, correction: 3, next: 1 },
468 WheelElem { unset_bit: 254, next_mult_factor: 6, correction: 2, next: 1 },
469 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 2, next: 1 },
470 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 1, next: 1 },
471 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 1, next: 1 },
472 WheelElem { unset_bit: 127, next_mult_factor: 6, correction: 3, next: 1 },
473 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 1, next: 1 },
474 WheelElem { unset_bit: 247, next_mult_factor: 6, correction: 3, next: 1 },
475 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 1, next: 1 },
476 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 1, next: 1 },
477 WheelElem { unset_bit: 223, next_mult_factor: 4, correction: 2, next: 1 },
478 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 1, next: 1 },
479 WheelElem { unset_bit: 253, next_mult_factor: 10, correction: 4, next: 1 },
480 WheelElem { unset_bit: 239, next_mult_factor: 2, correction: 1, next: -47 },
481 // remainder 17
482 WheelElem { unset_bit: 239, next_mult_factor: 10, correction: 6, next: 1 },
483 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 1, next: 1 },
484 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 2, next: 1 },
485 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 1, next: 1 },
486 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 3, next: 1 },
487 WheelElem { unset_bit: 254, next_mult_factor: 6, correction: 3, next: 1 },
488 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 1, next: 1 },
489 WheelElem { unset_bit: 239, next_mult_factor: 6, correction: 3, next: 1 },
490 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 3, next: 1 },
491 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 1, next: 1 },
492 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 2, next: 1 },
493 WheelElem { unset_bit: 223, next_mult_factor: 6, correction: 4, next: 1 },
494 WheelElem { unset_bit: 254, next_mult_factor: 6, correction: 3, next: 1 },
495 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 1, next: 1 },
496 WheelElem { unset_bit: 239, next_mult_factor: 6, correction: 3, next: 1 },
497 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 3, next: 1 },
498 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 1, next: 1 },
499 WheelElem { unset_bit: 251, next_mult_factor: 6, correction: 3, next: 1 },
500 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 3, next: 1 },
501 WheelElem { unset_bit: 254, next_mult_factor: 6, correction: 3, next: 1 },
502 WheelElem { unset_bit: 247, next_mult_factor: 8, correction: 4, next: 1 },
503 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 3, next: 1 },
504 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 1, next: 1 },
505 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 2, next: 1 },
506 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 1, next: 1 },
507 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 3, next: 1 },
508 WheelElem { unset_bit: 254, next_mult_factor: 8, correction: 4, next: 1 },
509 WheelElem { unset_bit: 239, next_mult_factor: 6, correction: 3, next: 1 },
510 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 3, next: 1 },
511 WheelElem { unset_bit: 253, next_mult_factor: 6, correction: 3, next: 1 },
512 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 1, next: 1 },
513 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 3, next: 1 },
514 WheelElem { unset_bit: 254, next_mult_factor: 6, correction: 3, next: 1 },
515 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 1, next: 1 },
516 WheelElem { unset_bit: 239, next_mult_factor: 6, correction: 3, next: 1 },
517 WheelElem { unset_bit: 127, next_mult_factor: 6, correction: 4, next: 1 },
518 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 2, next: 1 },
519 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 1, next: 1 },
520 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 3, next: 1 },
521 WheelElem { unset_bit: 254, next_mult_factor: 6, correction: 3, next: 1 },
522 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 1, next: 1 },
523 WheelElem { unset_bit: 239, next_mult_factor: 6, correction: 3, next: 1 },
524 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 3, next: 1 },
525 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 1, next: 1 },
526 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 2, next: 1 },
527 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 1, next: 1 },
528 WheelElem { unset_bit: 191, next_mult_factor: 10, correction: 6, next: 1 },
529 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 1, next: -47 },
530 // remainder 19
531 WheelElem { unset_bit: 223, next_mult_factor: 10, correction: 6, next: 1 },
532 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 2, next: 1 },
533 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 2, next: 1 },
534 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 2, next: 1 },
535 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 2, next: 1 },
536 WheelElem { unset_bit: 239, next_mult_factor: 6, correction: 4, next: 1 },
537 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 1, next: 1 },
538 WheelElem { unset_bit: 223, next_mult_factor: 6, correction: 4, next: 1 },
539 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 2, next: 1 },
540 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 2, next: 1 },
541 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 2, next: 1 },
542 WheelElem { unset_bit: 191, next_mult_factor: 6, correction: 4, next: 1 },
543 WheelElem { unset_bit: 239, next_mult_factor: 6, correction: 4, next: 1 },
544 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 1, next: 1 },
545 WheelElem { unset_bit: 223, next_mult_factor: 6, correction: 4, next: 1 },
546 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 2, next: 1 },
547 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 2, next: 1 },
548 WheelElem { unset_bit: 253, next_mult_factor: 6, correction: 4, next: 1 },
549 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 2, next: 1 },
550 WheelElem { unset_bit: 239, next_mult_factor: 6, correction: 4, next: 1 },
551 WheelElem { unset_bit: 251, next_mult_factor: 8, correction: 5, next: 1 },
552 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 2, next: 1 },
553 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 2, next: 1 },
554 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 2, next: 1 },
555 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 2, next: 1 },
556 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 2, next: 1 },
557 WheelElem { unset_bit: 239, next_mult_factor: 8, correction: 5, next: 1 },
558 WheelElem { unset_bit: 223, next_mult_factor: 6, correction: 4, next: 1 },
559 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 2, next: 1 },
560 WheelElem { unset_bit: 127, next_mult_factor: 6, correction: 4, next: 1 },
561 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 2, next: 1 },
562 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 2, next: 1 },
563 WheelElem { unset_bit: 239, next_mult_factor: 6, correction: 4, next: 1 },
564 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 1, next: 1 },
565 WheelElem { unset_bit: 223, next_mult_factor: 6, correction: 4, next: 1 },
566 WheelElem { unset_bit: 247, next_mult_factor: 6, correction: 4, next: 1 },
567 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 2, next: 1 },
568 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 2, next: 1 },
569 WheelElem { unset_bit: 254, next_mult_factor: 4, correction: 2, next: 1 },
570 WheelElem { unset_bit: 239, next_mult_factor: 6, correction: 4, next: 1 },
571 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 1, next: 1 },
572 WheelElem { unset_bit: 223, next_mult_factor: 6, correction: 4, next: 1 },
573 WheelElem { unset_bit: 247, next_mult_factor: 4, correction: 2, next: 1 },
574 WheelElem { unset_bit: 127, next_mult_factor: 2, correction: 2, next: 1 },
575 WheelElem { unset_bit: 253, next_mult_factor: 4, correction: 2, next: 1 },
576 WheelElem { unset_bit: 191, next_mult_factor: 2, correction: 2, next: 1 },
577 WheelElem { unset_bit: 254, next_mult_factor: 10, correction: 6, next: 1 },
578 WheelElem { unset_bit: 251, next_mult_factor: 2, correction: 1, next: -47 },
579 // remainder 23
580 WheelElem { unset_bit: 191, next_mult_factor: 10, correction: 8, next: 1 },
581 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 1, next: 1 },
582 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 4, next: 1 },
583 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 1, next: 1 },
584 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 3, next: 1 },
585 WheelElem { unset_bit: 223, next_mult_factor: 6, correction: 5, next: 1 },
586 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 1, next: 1 },
587 WheelElem { unset_bit: 191, next_mult_factor: 6, correction: 5, next: 1 },
588 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 3, next: 1 },
589 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 1, next: 1 },
590 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 4, next: 1 },
591 WheelElem { unset_bit: 254, next_mult_factor: 6, correction: 4, next: 1 },
592 WheelElem { unset_bit: 223, next_mult_factor: 6, correction: 5, next: 1 },
593 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 1, next: 1 },
594 WheelElem { unset_bit: 191, next_mult_factor: 6, correction: 5, next: 1 },
595 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 3, next: 1 },
596 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 1, next: 1 },
597 WheelElem { unset_bit: 127, next_mult_factor: 6, correction: 5, next: 1 },
598 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 3, next: 1 },
599 WheelElem { unset_bit: 223, next_mult_factor: 6, correction: 5, next: 1 },
600 WheelElem { unset_bit: 253, next_mult_factor: 8, correction: 6, next: 1 },
601 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 3, next: 1 },
602 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 1, next: 1 },
603 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 4, next: 1 },
604 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 1, next: 1 },
605 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 3, next: 1 },
606 WheelElem { unset_bit: 223, next_mult_factor: 8, correction: 6, next: 1 },
607 WheelElem { unset_bit: 191, next_mult_factor: 6, correction: 5, next: 1 },
608 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 3, next: 1 },
609 WheelElem { unset_bit: 247, next_mult_factor: 6, correction: 5, next: 1 },
610 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 1, next: 1 },
611 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 3, next: 1 },
612 WheelElem { unset_bit: 223, next_mult_factor: 6, correction: 5, next: 1 },
613 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 1, next: 1 },
614 WheelElem { unset_bit: 191, next_mult_factor: 6, correction: 5, next: 1 },
615 WheelElem { unset_bit: 251, next_mult_factor: 6, correction: 4, next: 1 },
616 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 4, next: 1 },
617 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 1, next: 1 },
618 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 3, next: 1 },
619 WheelElem { unset_bit: 223, next_mult_factor: 6, correction: 5, next: 1 },
620 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 1, next: 1 },
621 WheelElem { unset_bit: 191, next_mult_factor: 6, correction: 5, next: 1 },
622 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 3, next: 1 },
623 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 1, next: 1 },
624 WheelElem { unset_bit: 127, next_mult_factor: 4, correction: 4, next: 1 },
625 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 1, next: 1 },
626 WheelElem { unset_bit: 239, next_mult_factor: 10, correction: 8, next: 1 },
627 WheelElem { unset_bit: 253, next_mult_factor: 2, correction: 1, next: -47 },
628 // remainder 29
629 WheelElem { unset_bit: 127, next_mult_factor: 10, correction: 10, next: 1 },
630 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 2, next: 1 },
631 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 4, next: 1 },
632 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 2, next: 1 },
633 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 4, next: 1 },
634 WheelElem { unset_bit: 253, next_mult_factor: 6, correction: 6, next: 1 },
635 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 1, next: 1 },
636 WheelElem { unset_bit: 127, next_mult_factor: 6, correction: 6, next: 1 },
637 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 4, next: 1 },
638 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 2, next: 1 },
639 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 4, next: 1 },
640 WheelElem { unset_bit: 247, next_mult_factor: 6, correction: 6, next: 1 },
641 WheelElem { unset_bit: 253, next_mult_factor: 6, correction: 6, next: 1 },
642 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 1, next: 1 },
643 WheelElem { unset_bit: 127, next_mult_factor: 6, correction: 6, next: 1 },
644 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 4, next: 1 },
645 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 2, next: 1 },
646 WheelElem { unset_bit: 239, next_mult_factor: 6, correction: 6, next: 1 },
647 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 4, next: 1 },
648 WheelElem { unset_bit: 253, next_mult_factor: 6, correction: 6, next: 1 },
649 WheelElem { unset_bit: 254, next_mult_factor: 8, correction: 7, next: 1 },
650 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 4, next: 1 },
651 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 2, next: 1 },
652 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 4, next: 1 },
653 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 2, next: 1 },
654 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 4, next: 1 },
655 WheelElem { unset_bit: 253, next_mult_factor: 8, correction: 7, next: 1 },
656 WheelElem { unset_bit: 127, next_mult_factor: 6, correction: 6, next: 1 },
657 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 4, next: 1 },
658 WheelElem { unset_bit: 223, next_mult_factor: 6, correction: 6, next: 1 },
659 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 2, next: 1 },
660 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 4, next: 1 },
661 WheelElem { unset_bit: 253, next_mult_factor: 6, correction: 6, next: 1 },
662 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 1, next: 1 },
663 WheelElem { unset_bit: 127, next_mult_factor: 6, correction: 6, next: 1 },
664 WheelElem { unset_bit: 191, next_mult_factor: 6, correction: 6, next: 1 },
665 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 4, next: 1 },
666 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 2, next: 1 },
667 WheelElem { unset_bit: 251, next_mult_factor: 4, correction: 4, next: 1 },
668 WheelElem { unset_bit: 253, next_mult_factor: 6, correction: 6, next: 1 },
669 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 1, next: 1 },
670 WheelElem { unset_bit: 127, next_mult_factor: 6, correction: 6, next: 1 },
671 WheelElem { unset_bit: 191, next_mult_factor: 4, correction: 4, next: 1 },
672 WheelElem { unset_bit: 223, next_mult_factor: 2, correction: 2, next: 1 },
673 WheelElem { unset_bit: 239, next_mult_factor: 4, correction: 4, next: 1 },
674 WheelElem { unset_bit: 247, next_mult_factor: 2, correction: 2, next: 1 },
675 WheelElem { unset_bit: 251, next_mult_factor: 10, correction: 10, next: 1 },
676 WheelElem { unset_bit: 254, next_mult_factor: 2, correction: 1, next: -47 },
677];
678pub unsafe fn hardcoded_sieve(bytes: &mut [u8], si_: &mut usize, wi_: &mut usize, prime: usize) {
679 let bytes = bytes;
680 let start = bytes.as_mut_ptr();
681 let len = bytes.len() as isize;
682 let largest_step = ::std::cmp::min(len, 210 * (prime as isize + 1) - 1);
683 let loop_len = len - largest_step;
684 let loop_end = start.offset(loop_len);
685 let end = start.offset(len);
686 let si = *si_ as isize;
687 let mut p = start.offset(si);
688 let mut wi = *wi_;
689 let prime_ = prime as isize;
690
691 'outer: loop {
692 match wi {
693 0..=47 => { // 30 * x + 1
694 loop {
695 'label47: loop {
696 'label46: loop {
697 'label45: loop {
698 'label44: loop {
699 'label43: loop {
700 'label42: loop {
701 'label41: loop {
702 'label40: loop {
703 'label39: loop {
704 'label38: loop {
705 'label37: loop {
706 'label36: loop {
707 'label35: loop {
708 'label34: loop {
709 'label33: loop {
710 'label32: loop {
711 'label31: loop {
712 'label30: loop {
713 'label29: loop {
714 'label28: loop {
715 'label27: loop {
716 'label26: loop {
717 'label25: loop {
718 'label24: loop {
719 'label23: loop {
720 'label22: loop {
721 'label21: loop {
722 'label20: loop {
723 'label19: loop {
724 'label18: loop {
725 'label17: loop {
726 'label16: loop {
727 'label15: loop {
728 'label14: loop {
729 'label13: loop {
730 'label12: loop {
731 'label11: loop {
732 'label10: loop {
733 'label9: loop {
734 'label8: loop {
735 'label7: loop {
736 'label6: loop {
737 'label5: loop {
738 'label4: loop {
739 'label3: loop {
740 'label2: loop {
741 'label1: loop {
742 'label0: loop {
743 match wi {
744 0 => break 'label0,
745 1 => break 'label1,
746 2 => break 'label2,
747 3 => break 'label3,
748 4 => break 'label4,
749 5 => break 'label5,
750 6 => break 'label6,
751 7 => break 'label7,
752 8 => break 'label8,
753 9 => break 'label9,
754 10 => break 'label10,
755 11 => break 'label11,
756 12 => break 'label12,
757 13 => break 'label13,
758 14 => break 'label14,
759 15 => break 'label15,
760 16 => break 'label16,
761 17 => break 'label17,
762 18 => break 'label18,
763 19 => break 'label19,
764 20 => break 'label20,
765 21 => break 'label21,
766 22 => break 'label22,
767 23 => break 'label23,
768 24 => break 'label24,
769 25 => break 'label25,
770 26 => break 'label26,
771 27 => break 'label27,
772 28 => break 'label28,
773 29 => break 'label29,
774 30 => break 'label30,
775 31 => break 'label31,
776 32 => break 'label32,
777 33 => break 'label33,
778 34 => break 'label34,
779 35 => break 'label35,
780 36 => break 'label36,
781 37 => break 'label37,
782 38 => break 'label38,
783 39 => break 'label39,
784 40 => break 'label40,
785 41 => break 'label41,
786 42 => break 'label42,
787 43 => break 'label43,
788 44 => break 'label44,
789 45 => break 'label45,
790 46 => break 'label46,
791 _ => break 'label47,
792 }
793 }
794 while p < loop_end {
795 p = crate::b(p);
796 safe_assert!(start <= p.wrapping_offset(prime_ * 0 + 0) &&
797 p.wrapping_offset(prime_ * 0 + 0) < end);
798 *p.offset(prime_ * 0 + 0) &= 254;
799 safe_assert!(start <= p.wrapping_offset(prime_ * 10 + 0) &&
800 p.wrapping_offset(prime_ * 10 + 0) < end);
801 *p.offset(prime_ * 10 + 0) &= 251;
802 safe_assert!(start <= p.wrapping_offset(prime_ * 12 + 0) &&
803 p.wrapping_offset(prime_ * 12 + 0) < end);
804 *p.offset(prime_ * 12 + 0) &= 247;
805 safe_assert!(start <= p.wrapping_offset(prime_ * 16 + 0) &&
806 p.wrapping_offset(prime_ * 16 + 0) < end);
807 *p.offset(prime_ * 16 + 0) &= 239;
808 safe_assert!(start <= p.wrapping_offset(prime_ * 18 + 0) &&
809 p.wrapping_offset(prime_ * 18 + 0) < end);
810 *p.offset(prime_ * 18 + 0) &= 223;
811 safe_assert!(start <= p.wrapping_offset(prime_ * 22 + 0) &&
812 p.wrapping_offset(prime_ * 22 + 0) < end);
813 *p.offset(prime_ * 22 + 0) &= 191;
814 safe_assert!(start <= p.wrapping_offset(prime_ * 28 + 0) &&
815 p.wrapping_offset(prime_ * 28 + 0) < end);
816 *p.offset(prime_ * 28 + 0) &= 127;
817 safe_assert!(start <= p.wrapping_offset(prime_ * 30 + 0) &&
818 p.wrapping_offset(prime_ * 30 + 0) < end);
819 *p.offset(prime_ * 30 + 0) &= 254;
820 safe_assert!(start <= p.wrapping_offset(prime_ * 36 + 0) &&
821 p.wrapping_offset(prime_ * 36 + 0) < end);
822 *p.offset(prime_ * 36 + 0) &= 253;
823 safe_assert!(start <= p.wrapping_offset(prime_ * 40 + 0) &&
824 p.wrapping_offset(prime_ * 40 + 0) < end);
825 *p.offset(prime_ * 40 + 0) &= 251;
826 safe_assert!(start <= p.wrapping_offset(prime_ * 42 + 0) &&
827 p.wrapping_offset(prime_ * 42 + 0) < end);
828 *p.offset(prime_ * 42 + 0) &= 247;
829 safe_assert!(start <= p.wrapping_offset(prime_ * 46 + 0) &&
830 p.wrapping_offset(prime_ * 46 + 0) < end);
831 *p.offset(prime_ * 46 + 0) &= 239;
832 safe_assert!(start <= p.wrapping_offset(prime_ * 52 + 0) &&
833 p.wrapping_offset(prime_ * 52 + 0) < end);
834 *p.offset(prime_ * 52 + 0) &= 191;
835 safe_assert!(start <= p.wrapping_offset(prime_ * 58 + 0) &&
836 p.wrapping_offset(prime_ * 58 + 0) < end);
837 *p.offset(prime_ * 58 + 0) &= 127;
838 safe_assert!(start <= p.wrapping_offset(prime_ * 60 + 0) &&
839 p.wrapping_offset(prime_ * 60 + 0) < end);
840 *p.offset(prime_ * 60 + 0) &= 254;
841 safe_assert!(start <= p.wrapping_offset(prime_ * 66 + 0) &&
842 p.wrapping_offset(prime_ * 66 + 0) < end);
843 *p.offset(prime_ * 66 + 0) &= 253;
844 safe_assert!(start <= p.wrapping_offset(prime_ * 70 + 0) &&
845 p.wrapping_offset(prime_ * 70 + 0) < end);
846 *p.offset(prime_ * 70 + 0) &= 251;
847 safe_assert!(start <= p.wrapping_offset(prime_ * 72 + 0) &&
848 p.wrapping_offset(prime_ * 72 + 0) < end);
849 *p.offset(prime_ * 72 + 0) &= 247;
850 safe_assert!(start <= p.wrapping_offset(prime_ * 78 + 0) &&
851 p.wrapping_offset(prime_ * 78 + 0) < end);
852 *p.offset(prime_ * 78 + 0) &= 223;
853 safe_assert!(start <= p.wrapping_offset(prime_ * 82 + 0) &&
854 p.wrapping_offset(prime_ * 82 + 0) < end);
855 *p.offset(prime_ * 82 + 0) &= 191;
856 safe_assert!(start <= p.wrapping_offset(prime_ * 88 + 0) &&
857 p.wrapping_offset(prime_ * 88 + 0) < end);
858 *p.offset(prime_ * 88 + 0) &= 127;
859 safe_assert!(start <= p.wrapping_offset(prime_ * 96 + 0) &&
860 p.wrapping_offset(prime_ * 96 + 0) < end);
861 *p.offset(prime_ * 96 + 0) &= 253;
862 safe_assert!(start <= p.wrapping_offset(prime_ * 100 + 0) &&
863 p.wrapping_offset(prime_ * 100 + 0) < end);
864 *p.offset(prime_ * 100 + 0) &= 251;
865 safe_assert!(start <= p.wrapping_offset(prime_ * 102 + 0) &&
866 p.wrapping_offset(prime_ * 102 + 0) < end);
867 *p.offset(prime_ * 102 + 0) &= 247;
868 safe_assert!(start <= p.wrapping_offset(prime_ * 106 + 0) &&
869 p.wrapping_offset(prime_ * 106 + 0) < end);
870 *p.offset(prime_ * 106 + 0) &= 239;
871 safe_assert!(start <= p.wrapping_offset(prime_ * 108 + 0) &&
872 p.wrapping_offset(prime_ * 108 + 0) < end);
873 *p.offset(prime_ * 108 + 0) &= 223;
874 safe_assert!(start <= p.wrapping_offset(prime_ * 112 + 0) &&
875 p.wrapping_offset(prime_ * 112 + 0) < end);
876 *p.offset(prime_ * 112 + 0) &= 191;
877 safe_assert!(start <= p.wrapping_offset(prime_ * 120 + 0) &&
878 p.wrapping_offset(prime_ * 120 + 0) < end);
879 *p.offset(prime_ * 120 + 0) &= 254;
880 safe_assert!(start <= p.wrapping_offset(prime_ * 126 + 0) &&
881 p.wrapping_offset(prime_ * 126 + 0) < end);
882 *p.offset(prime_ * 126 + 0) &= 253;
883 safe_assert!(start <= p.wrapping_offset(prime_ * 130 + 0) &&
884 p.wrapping_offset(prime_ * 130 + 0) < end);
885 *p.offset(prime_ * 130 + 0) &= 251;
886 safe_assert!(start <= p.wrapping_offset(prime_ * 136 + 0) &&
887 p.wrapping_offset(prime_ * 136 + 0) < end);
888 *p.offset(prime_ * 136 + 0) &= 239;
889 safe_assert!(start <= p.wrapping_offset(prime_ * 138 + 0) &&
890 p.wrapping_offset(prime_ * 138 + 0) < end);
891 *p.offset(prime_ * 138 + 0) &= 223;
892 safe_assert!(start <= p.wrapping_offset(prime_ * 142 + 0) &&
893 p.wrapping_offset(prime_ * 142 + 0) < end);
894 *p.offset(prime_ * 142 + 0) &= 191;
895 safe_assert!(start <= p.wrapping_offset(prime_ * 148 + 0) &&
896 p.wrapping_offset(prime_ * 148 + 0) < end);
897 *p.offset(prime_ * 148 + 0) &= 127;
898 safe_assert!(start <= p.wrapping_offset(prime_ * 150 + 0) &&
899 p.wrapping_offset(prime_ * 150 + 0) < end);
900 *p.offset(prime_ * 150 + 0) &= 254;
901 safe_assert!(start <= p.wrapping_offset(prime_ * 156 + 0) &&
902 p.wrapping_offset(prime_ * 156 + 0) < end);
903 *p.offset(prime_ * 156 + 0) &= 253;
904 safe_assert!(start <= p.wrapping_offset(prime_ * 162 + 0) &&
905 p.wrapping_offset(prime_ * 162 + 0) < end);
906 *p.offset(prime_ * 162 + 0) &= 247;
907 safe_assert!(start <= p.wrapping_offset(prime_ * 166 + 0) &&
908 p.wrapping_offset(prime_ * 166 + 0) < end);
909 *p.offset(prime_ * 166 + 0) &= 239;
910 safe_assert!(start <= p.wrapping_offset(prime_ * 168 + 0) &&
911 p.wrapping_offset(prime_ * 168 + 0) < end);
912 *p.offset(prime_ * 168 + 0) &= 223;
913 safe_assert!(start <= p.wrapping_offset(prime_ * 172 + 0) &&
914 p.wrapping_offset(prime_ * 172 + 0) < end);
915 *p.offset(prime_ * 172 + 0) &= 191;
916 safe_assert!(start <= p.wrapping_offset(prime_ * 178 + 0) &&
917 p.wrapping_offset(prime_ * 178 + 0) < end);
918 *p.offset(prime_ * 178 + 0) &= 127;
919 safe_assert!(start <= p.wrapping_offset(prime_ * 180 + 0) &&
920 p.wrapping_offset(prime_ * 180 + 0) < end);
921 *p.offset(prime_ * 180 + 0) &= 254;
922 safe_assert!(start <= p.wrapping_offset(prime_ * 186 + 0) &&
923 p.wrapping_offset(prime_ * 186 + 0) < end);
924 *p.offset(prime_ * 186 + 0) &= 253;
925 safe_assert!(start <= p.wrapping_offset(prime_ * 190 + 0) &&
926 p.wrapping_offset(prime_ * 190 + 0) < end);
927 *p.offset(prime_ * 190 + 0) &= 251;
928 safe_assert!(start <= p.wrapping_offset(prime_ * 192 + 0) &&
929 p.wrapping_offset(prime_ * 192 + 0) < end);
930 *p.offset(prime_ * 192 + 0) &= 247;
931 safe_assert!(start <= p.wrapping_offset(prime_ * 196 + 0) &&
932 p.wrapping_offset(prime_ * 196 + 0) < end);
933 *p.offset(prime_ * 196 + 0) &= 239;
934 safe_assert!(start <= p.wrapping_offset(prime_ * 198 + 0) &&
935 p.wrapping_offset(prime_ * 198 + 0) < end);
936 *p.offset(prime_ * 198 + 0) &= 223;
937 safe_assert!(start <= p.wrapping_offset(prime_ * 208 + 0) &&
938 p.wrapping_offset(prime_ * 208 + 0) < end);
939 *p.offset(prime_ * 208 + 0) &= 127;
940
941 let p2 = p.wrapping_offset(prime_ * 210 + 1);
942 p = if p <= p2 { p2 } else { end };
943 }
944 if p >= end { wi = 0; break 'outer; }
945 safe_assert!(start <= p && p < end);
946 *p &= 254;
947 let p2 = p.wrapping_offset(prime_ * 10 + 0);
948 p = if p <= p2 { p2 } else { end };
949 break 'label1
950 }
951 if p >= end { wi = 1; break 'outer; }
952 safe_assert!(start <= p && p < end);
953 *p &= 251;
954 let p2 = p.wrapping_offset(prime_ * 2 + 0);
955 p = if p <= p2 { p2 } else { end };
956 break 'label2
957 }
958 if p >= end { wi = 2; break 'outer; }
959 safe_assert!(start <= p && p < end);
960 *p &= 247;
961 let p2 = p.wrapping_offset(prime_ * 4 + 0);
962 p = if p <= p2 { p2 } else { end };
963 break 'label3
964 }
965 if p >= end { wi = 3; break 'outer; }
966 safe_assert!(start <= p && p < end);
967 *p &= 239;
968 let p2 = p.wrapping_offset(prime_ * 2 + 0);
969 p = if p <= p2 { p2 } else { end };
970 break 'label4
971 }
972 if p >= end { wi = 4; break 'outer; }
973 safe_assert!(start <= p && p < end);
974 *p &= 223;
975 let p2 = p.wrapping_offset(prime_ * 4 + 0);
976 p = if p <= p2 { p2 } else { end };
977 break 'label5
978 }
979 if p >= end { wi = 5; break 'outer; }
980 safe_assert!(start <= p && p < end);
981 *p &= 191;
982 let p2 = p.wrapping_offset(prime_ * 6 + 0);
983 p = if p <= p2 { p2 } else { end };
984 break 'label6
985 }
986 if p >= end { wi = 6; break 'outer; }
987 safe_assert!(start <= p && p < end);
988 *p &= 127;
989 let p2 = p.wrapping_offset(prime_ * 2 + 1);
990 p = if p <= p2 { p2 } else { end };
991 break 'label7
992 }
993 if p >= end { wi = 7; break 'outer; }
994 safe_assert!(start <= p && p < end);
995 *p &= 254;
996 let p2 = p.wrapping_offset(prime_ * 6 + 0);
997 p = if p <= p2 { p2 } else { end };
998 break 'label8
999 }
1000 if p >= end { wi = 8; break 'outer; }
1001 safe_assert!(start <= p && p < end);
1002 *p &= 253;
1003 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1004 p = if p <= p2 { p2 } else { end };
1005 break 'label9
1006 }
1007 if p >= end { wi = 9; break 'outer; }
1008 safe_assert!(start <= p && p < end);
1009 *p &= 251;
1010 let p2 = p.wrapping_offset(prime_ * 2 + 0);
1011 p = if p <= p2 { p2 } else { end };
1012 break 'label10
1013 }
1014 if p >= end { wi = 10; break 'outer; }
1015 safe_assert!(start <= p && p < end);
1016 *p &= 247;
1017 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1018 p = if p <= p2 { p2 } else { end };
1019 break 'label11
1020 }
1021 if p >= end { wi = 11; break 'outer; }
1022 safe_assert!(start <= p && p < end);
1023 *p &= 239;
1024 let p2 = p.wrapping_offset(prime_ * 6 + 0);
1025 p = if p <= p2 { p2 } else { end };
1026 break 'label12
1027 }
1028 if p >= end { wi = 12; break 'outer; }
1029 safe_assert!(start <= p && p < end);
1030 *p &= 191;
1031 let p2 = p.wrapping_offset(prime_ * 6 + 0);
1032 p = if p <= p2 { p2 } else { end };
1033 break 'label13
1034 }
1035 if p >= end { wi = 13; break 'outer; }
1036 safe_assert!(start <= p && p < end);
1037 *p &= 127;
1038 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1039 p = if p <= p2 { p2 } else { end };
1040 break 'label14
1041 }
1042 if p >= end { wi = 14; break 'outer; }
1043 safe_assert!(start <= p && p < end);
1044 *p &= 254;
1045 let p2 = p.wrapping_offset(prime_ * 6 + 0);
1046 p = if p <= p2 { p2 } else { end };
1047 break 'label15
1048 }
1049 if p >= end { wi = 15; break 'outer; }
1050 safe_assert!(start <= p && p < end);
1051 *p &= 253;
1052 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1053 p = if p <= p2 { p2 } else { end };
1054 break 'label16
1055 }
1056 if p >= end { wi = 16; break 'outer; }
1057 safe_assert!(start <= p && p < end);
1058 *p &= 251;
1059 let p2 = p.wrapping_offset(prime_ * 2 + 0);
1060 p = if p <= p2 { p2 } else { end };
1061 break 'label17
1062 }
1063 if p >= end { wi = 17; break 'outer; }
1064 safe_assert!(start <= p && p < end);
1065 *p &= 247;
1066 let p2 = p.wrapping_offset(prime_ * 6 + 0);
1067 p = if p <= p2 { p2 } else { end };
1068 break 'label18
1069 }
1070 if p >= end { wi = 18; break 'outer; }
1071 safe_assert!(start <= p && p < end);
1072 *p &= 223;
1073 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1074 p = if p <= p2 { p2 } else { end };
1075 break 'label19
1076 }
1077 if p >= end { wi = 19; break 'outer; }
1078 safe_assert!(start <= p && p < end);
1079 *p &= 191;
1080 let p2 = p.wrapping_offset(prime_ * 6 + 0);
1081 p = if p <= p2 { p2 } else { end };
1082 break 'label20
1083 }
1084 if p >= end { wi = 20; break 'outer; }
1085 safe_assert!(start <= p && p < end);
1086 *p &= 127;
1087 let p2 = p.wrapping_offset(prime_ * 8 + 1);
1088 p = if p <= p2 { p2 } else { end };
1089 break 'label21
1090 }
1091 if p >= end { wi = 21; break 'outer; }
1092 safe_assert!(start <= p && p < end);
1093 *p &= 253;
1094 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1095 p = if p <= p2 { p2 } else { end };
1096 break 'label22
1097 }
1098 if p >= end { wi = 22; break 'outer; }
1099 safe_assert!(start <= p && p < end);
1100 *p &= 251;
1101 let p2 = p.wrapping_offset(prime_ * 2 + 0);
1102 p = if p <= p2 { p2 } else { end };
1103 break 'label23
1104 }
1105 if p >= end { wi = 23; break 'outer; }
1106 safe_assert!(start <= p && p < end);
1107 *p &= 247;
1108 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1109 p = if p <= p2 { p2 } else { end };
1110 break 'label24
1111 }
1112 if p >= end { wi = 24; break 'outer; }
1113 safe_assert!(start <= p && p < end);
1114 *p &= 239;
1115 let p2 = p.wrapping_offset(prime_ * 2 + 0);
1116 p = if p <= p2 { p2 } else { end };
1117 break 'label25
1118 }
1119 if p >= end { wi = 25; break 'outer; }
1120 safe_assert!(start <= p && p < end);
1121 *p &= 223;
1122 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1123 p = if p <= p2 { p2 } else { end };
1124 break 'label26
1125 }
1126 if p >= end { wi = 26; break 'outer; }
1127 safe_assert!(start <= p && p < end);
1128 *p &= 191;
1129 let p2 = p.wrapping_offset(prime_ * 8 + 1);
1130 p = if p <= p2 { p2 } else { end };
1131 break 'label27
1132 }
1133 if p >= end { wi = 27; break 'outer; }
1134 safe_assert!(start <= p && p < end);
1135 *p &= 254;
1136 let p2 = p.wrapping_offset(prime_ * 6 + 0);
1137 p = if p <= p2 { p2 } else { end };
1138 break 'label28
1139 }
1140 if p >= end { wi = 28; break 'outer; }
1141 safe_assert!(start <= p && p < end);
1142 *p &= 253;
1143 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1144 p = if p <= p2 { p2 } else { end };
1145 break 'label29
1146 }
1147 if p >= end { wi = 29; break 'outer; }
1148 safe_assert!(start <= p && p < end);
1149 *p &= 251;
1150 let p2 = p.wrapping_offset(prime_ * 6 + 0);
1151 p = if p <= p2 { p2 } else { end };
1152 break 'label30
1153 }
1154 if p >= end { wi = 30; break 'outer; }
1155 safe_assert!(start <= p && p < end);
1156 *p &= 239;
1157 let p2 = p.wrapping_offset(prime_ * 2 + 0);
1158 p = if p <= p2 { p2 } else { end };
1159 break 'label31
1160 }
1161 if p >= end { wi = 31; break 'outer; }
1162 safe_assert!(start <= p && p < end);
1163 *p &= 223;
1164 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1165 p = if p <= p2 { p2 } else { end };
1166 break 'label32
1167 }
1168 if p >= end { wi = 32; break 'outer; }
1169 safe_assert!(start <= p && p < end);
1170 *p &= 191;
1171 let p2 = p.wrapping_offset(prime_ * 6 + 0);
1172 p = if p <= p2 { p2 } else { end };
1173 break 'label33
1174 }
1175 if p >= end { wi = 33; break 'outer; }
1176 safe_assert!(start <= p && p < end);
1177 *p &= 127;
1178 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1179 p = if p <= p2 { p2 } else { end };
1180 break 'label34
1181 }
1182 if p >= end { wi = 34; break 'outer; }
1183 safe_assert!(start <= p && p < end);
1184 *p &= 254;
1185 let p2 = p.wrapping_offset(prime_ * 6 + 0);
1186 p = if p <= p2 { p2 } else { end };
1187 break 'label35
1188 }
1189 if p >= end { wi = 35; break 'outer; }
1190 safe_assert!(start <= p && p < end);
1191 *p &= 253;
1192 let p2 = p.wrapping_offset(prime_ * 6 + 0);
1193 p = if p <= p2 { p2 } else { end };
1194 break 'label36
1195 }
1196 if p >= end { wi = 36; break 'outer; }
1197 safe_assert!(start <= p && p < end);
1198 *p &= 247;
1199 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1200 p = if p <= p2 { p2 } else { end };
1201 break 'label37
1202 }
1203 if p >= end { wi = 37; break 'outer; }
1204 safe_assert!(start <= p && p < end);
1205 *p &= 239;
1206 let p2 = p.wrapping_offset(prime_ * 2 + 0);
1207 p = if p <= p2 { p2 } else { end };
1208 break 'label38
1209 }
1210 if p >= end { wi = 38; break 'outer; }
1211 safe_assert!(start <= p && p < end);
1212 *p &= 223;
1213 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1214 p = if p <= p2 { p2 } else { end };
1215 break 'label39
1216 }
1217 if p >= end { wi = 39; break 'outer; }
1218 safe_assert!(start <= p && p < end);
1219 *p &= 191;
1220 let p2 = p.wrapping_offset(prime_ * 6 + 0);
1221 p = if p <= p2 { p2 } else { end };
1222 break 'label40
1223 }
1224 if p >= end { wi = 40; break 'outer; }
1225 safe_assert!(start <= p && p < end);
1226 *p &= 127;
1227 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1228 p = if p <= p2 { p2 } else { end };
1229 break 'label41
1230 }
1231 if p >= end { wi = 41; break 'outer; }
1232 safe_assert!(start <= p && p < end);
1233 *p &= 254;
1234 let p2 = p.wrapping_offset(prime_ * 6 + 0);
1235 p = if p <= p2 { p2 } else { end };
1236 break 'label42
1237 }
1238 if p >= end { wi = 42; break 'outer; }
1239 safe_assert!(start <= p && p < end);
1240 *p &= 253;
1241 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1242 p = if p <= p2 { p2 } else { end };
1243 break 'label43
1244 }
1245 if p >= end { wi = 43; break 'outer; }
1246 safe_assert!(start <= p && p < end);
1247 *p &= 251;
1248 let p2 = p.wrapping_offset(prime_ * 2 + 0);
1249 p = if p <= p2 { p2 } else { end };
1250 break 'label44
1251 }
1252 if p >= end { wi = 44; break 'outer; }
1253 safe_assert!(start <= p && p < end);
1254 *p &= 247;
1255 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1256 p = if p <= p2 { p2 } else { end };
1257 break 'label45
1258 }
1259 if p >= end { wi = 45; break 'outer; }
1260 safe_assert!(start <= p && p < end);
1261 *p &= 239;
1262 let p2 = p.wrapping_offset(prime_ * 2 + 0);
1263 p = if p <= p2 { p2 } else { end };
1264 break 'label46
1265 }
1266 if p >= end { wi = 46; break 'outer; }
1267 safe_assert!(start <= p && p < end);
1268 *p &= 223;
1269 let p2 = p.wrapping_offset(prime_ * 10 + 0);
1270 p = if p <= p2 { p2 } else { end };
1271 break 'label47
1272 }
1273 if p >= end { wi = 47; break 'outer; }
1274 safe_assert!(start <= p && p < end);
1275 *p &= 127;
1276 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1277 p = if p <= p2 { p2 } else { end };
1278 wi = 0
1279 }
1280 }
1281 48..=95 => { // 30 * x + 11
1282 loop {
1283 'label95: loop {
1284 'label94: loop {
1285 'label93: loop {
1286 'label92: loop {
1287 'label91: loop {
1288 'label90: loop {
1289 'label89: loop {
1290 'label88: loop {
1291 'label87: loop {
1292 'label86: loop {
1293 'label85: loop {
1294 'label84: loop {
1295 'label83: loop {
1296 'label82: loop {
1297 'label81: loop {
1298 'label80: loop {
1299 'label79: loop {
1300 'label78: loop {
1301 'label77: loop {
1302 'label76: loop {
1303 'label75: loop {
1304 'label74: loop {
1305 'label73: loop {
1306 'label72: loop {
1307 'label71: loop {
1308 'label70: loop {
1309 'label69: loop {
1310 'label68: loop {
1311 'label67: loop {
1312 'label66: loop {
1313 'label65: loop {
1314 'label64: loop {
1315 'label63: loop {
1316 'label62: loop {
1317 'label61: loop {
1318 'label60: loop {
1319 'label59: loop {
1320 'label58: loop {
1321 'label57: loop {
1322 'label56: loop {
1323 'label55: loop {
1324 'label54: loop {
1325 'label53: loop {
1326 'label52: loop {
1327 'label51: loop {
1328 'label50: loop {
1329 'label49: loop {
1330 'label48: loop {
1331 match wi {
1332 48 => break 'label48,
1333 49 => break 'label49,
1334 50 => break 'label50,
1335 51 => break 'label51,
1336 52 => break 'label52,
1337 53 => break 'label53,
1338 54 => break 'label54,
1339 55 => break 'label55,
1340 56 => break 'label56,
1341 57 => break 'label57,
1342 58 => break 'label58,
1343 59 => break 'label59,
1344 60 => break 'label60,
1345 61 => break 'label61,
1346 62 => break 'label62,
1347 63 => break 'label63,
1348 64 => break 'label64,
1349 65 => break 'label65,
1350 66 => break 'label66,
1351 67 => break 'label67,
1352 68 => break 'label68,
1353 69 => break 'label69,
1354 70 => break 'label70,
1355 71 => break 'label71,
1356 72 => break 'label72,
1357 73 => break 'label73,
1358 74 => break 'label74,
1359 75 => break 'label75,
1360 76 => break 'label76,
1361 77 => break 'label77,
1362 78 => break 'label78,
1363 79 => break 'label79,
1364 80 => break 'label80,
1365 81 => break 'label81,
1366 82 => break 'label82,
1367 83 => break 'label83,
1368 84 => break 'label84,
1369 85 => break 'label85,
1370 86 => break 'label86,
1371 87 => break 'label87,
1372 88 => break 'label88,
1373 89 => break 'label89,
1374 90 => break 'label90,
1375 91 => break 'label91,
1376 92 => break 'label92,
1377 93 => break 'label93,
1378 94 => break 'label94,
1379 _ => break 'label95,
1380 }
1381 }
1382 while p < loop_end {
1383 p = crate::b(p);
1384 safe_assert!(start <= p.wrapping_offset(prime_ * 0 + 0) &&
1385 p.wrapping_offset(prime_ * 0 + 0) < end);
1386 *p.offset(prime_ * 0 + 0) &= 253;
1387 safe_assert!(start <= p.wrapping_offset(prime_ * 10 + 0) &&
1388 p.wrapping_offset(prime_ * 10 + 0) < end);
1389 *p.offset(prime_ * 10 + 0) &= 239;
1390 safe_assert!(start <= p.wrapping_offset(prime_ * 12 + 0) &&
1391 p.wrapping_offset(prime_ * 12 + 0) < end);
1392 *p.offset(prime_ * 12 + 0) &= 254;
1393 safe_assert!(start <= p.wrapping_offset(prime_ * 16 + 0) &&
1394 p.wrapping_offset(prime_ * 16 + 0) < end);
1395 *p.offset(prime_ * 16 + 0) &= 127;
1396 safe_assert!(start <= p.wrapping_offset(prime_ * 18 + 0) &&
1397 p.wrapping_offset(prime_ * 18 + 0) < end);
1398 *p.offset(prime_ * 18 + 0) &= 247;
1399 safe_assert!(start <= p.wrapping_offset(prime_ * 22 + 0) &&
1400 p.wrapping_offset(prime_ * 22 + 0) < end);
1401 *p.offset(prime_ * 22 + 0) &= 251;
1402 safe_assert!(start <= p.wrapping_offset(prime_ * 28 + 0) &&
1403 p.wrapping_offset(prime_ * 28 + 0) < end);
1404 *p.offset(prime_ * 28 + 0) &= 191;
1405 safe_assert!(start <= p.wrapping_offset(prime_ * 30 + 1) &&
1406 p.wrapping_offset(prime_ * 30 + 1) < end);
1407 *p.offset(prime_ * 30 + 1) &= 253;
1408 safe_assert!(start <= p.wrapping_offset(prime_ * 36 + 1) &&
1409 p.wrapping_offset(prime_ * 36 + 1) < end);
1410 *p.offset(prime_ * 36 + 1) &= 223;
1411 safe_assert!(start <= p.wrapping_offset(prime_ * 40 + 1) &&
1412 p.wrapping_offset(prime_ * 40 + 1) < end);
1413 *p.offset(prime_ * 40 + 1) &= 239;
1414 safe_assert!(start <= p.wrapping_offset(prime_ * 42 + 1) &&
1415 p.wrapping_offset(prime_ * 42 + 1) < end);
1416 *p.offset(prime_ * 42 + 1) &= 254;
1417 safe_assert!(start <= p.wrapping_offset(prime_ * 46 + 1) &&
1418 p.wrapping_offset(prime_ * 46 + 1) < end);
1419 *p.offset(prime_ * 46 + 1) &= 127;
1420 safe_assert!(start <= p.wrapping_offset(prime_ * 52 + 1) &&
1421 p.wrapping_offset(prime_ * 52 + 1) < end);
1422 *p.offset(prime_ * 52 + 1) &= 251;
1423 safe_assert!(start <= p.wrapping_offset(prime_ * 58 + 1) &&
1424 p.wrapping_offset(prime_ * 58 + 1) < end);
1425 *p.offset(prime_ * 58 + 1) &= 191;
1426 safe_assert!(start <= p.wrapping_offset(prime_ * 60 + 2) &&
1427 p.wrapping_offset(prime_ * 60 + 2) < end);
1428 *p.offset(prime_ * 60 + 2) &= 253;
1429 safe_assert!(start <= p.wrapping_offset(prime_ * 66 + 2) &&
1430 p.wrapping_offset(prime_ * 66 + 2) < end);
1431 *p.offset(prime_ * 66 + 2) &= 223;
1432 safe_assert!(start <= p.wrapping_offset(prime_ * 70 + 2) &&
1433 p.wrapping_offset(prime_ * 70 + 2) < end);
1434 *p.offset(prime_ * 70 + 2) &= 239;
1435 safe_assert!(start <= p.wrapping_offset(prime_ * 72 + 2) &&
1436 p.wrapping_offset(prime_ * 72 + 2) < end);
1437 *p.offset(prime_ * 72 + 2) &= 254;
1438 safe_assert!(start <= p.wrapping_offset(prime_ * 78 + 2) &&
1439 p.wrapping_offset(prime_ * 78 + 2) < end);
1440 *p.offset(prime_ * 78 + 2) &= 247;
1441 safe_assert!(start <= p.wrapping_offset(prime_ * 82 + 2) &&
1442 p.wrapping_offset(prime_ * 82 + 2) < end);
1443 *p.offset(prime_ * 82 + 2) &= 251;
1444 safe_assert!(start <= p.wrapping_offset(prime_ * 88 + 2) &&
1445 p.wrapping_offset(prime_ * 88 + 2) < end);
1446 *p.offset(prime_ * 88 + 2) &= 191;
1447 safe_assert!(start <= p.wrapping_offset(prime_ * 96 + 3) &&
1448 p.wrapping_offset(prime_ * 96 + 3) < end);
1449 *p.offset(prime_ * 96 + 3) &= 223;
1450 safe_assert!(start <= p.wrapping_offset(prime_ * 100 + 3) &&
1451 p.wrapping_offset(prime_ * 100 + 3) < end);
1452 *p.offset(prime_ * 100 + 3) &= 239;
1453 safe_assert!(start <= p.wrapping_offset(prime_ * 102 + 3) &&
1454 p.wrapping_offset(prime_ * 102 + 3) < end);
1455 *p.offset(prime_ * 102 + 3) &= 254;
1456 safe_assert!(start <= p.wrapping_offset(prime_ * 106 + 3) &&
1457 p.wrapping_offset(prime_ * 106 + 3) < end);
1458 *p.offset(prime_ * 106 + 3) &= 127;
1459 safe_assert!(start <= p.wrapping_offset(prime_ * 108 + 3) &&
1460 p.wrapping_offset(prime_ * 108 + 3) < end);
1461 *p.offset(prime_ * 108 + 3) &= 247;
1462 safe_assert!(start <= p.wrapping_offset(prime_ * 112 + 3) &&
1463 p.wrapping_offset(prime_ * 112 + 3) < end);
1464 *p.offset(prime_ * 112 + 3) &= 251;
1465 safe_assert!(start <= p.wrapping_offset(prime_ * 120 + 4) &&
1466 p.wrapping_offset(prime_ * 120 + 4) < end);
1467 *p.offset(prime_ * 120 + 4) &= 253;
1468 safe_assert!(start <= p.wrapping_offset(prime_ * 126 + 4) &&
1469 p.wrapping_offset(prime_ * 126 + 4) < end);
1470 *p.offset(prime_ * 126 + 4) &= 223;
1471 safe_assert!(start <= p.wrapping_offset(prime_ * 130 + 4) &&
1472 p.wrapping_offset(prime_ * 130 + 4) < end);
1473 *p.offset(prime_ * 130 + 4) &= 239;
1474 safe_assert!(start <= p.wrapping_offset(prime_ * 136 + 4) &&
1475 p.wrapping_offset(prime_ * 136 + 4) < end);
1476 *p.offset(prime_ * 136 + 4) &= 127;
1477 safe_assert!(start <= p.wrapping_offset(prime_ * 138 + 4) &&
1478 p.wrapping_offset(prime_ * 138 + 4) < end);
1479 *p.offset(prime_ * 138 + 4) &= 247;
1480 safe_assert!(start <= p.wrapping_offset(prime_ * 142 + 4) &&
1481 p.wrapping_offset(prime_ * 142 + 4) < end);
1482 *p.offset(prime_ * 142 + 4) &= 251;
1483 safe_assert!(start <= p.wrapping_offset(prime_ * 148 + 4) &&
1484 p.wrapping_offset(prime_ * 148 + 4) < end);
1485 *p.offset(prime_ * 148 + 4) &= 191;
1486 safe_assert!(start <= p.wrapping_offset(prime_ * 150 + 5) &&
1487 p.wrapping_offset(prime_ * 150 + 5) < end);
1488 *p.offset(prime_ * 150 + 5) &= 253;
1489 safe_assert!(start <= p.wrapping_offset(prime_ * 156 + 5) &&
1490 p.wrapping_offset(prime_ * 156 + 5) < end);
1491 *p.offset(prime_ * 156 + 5) &= 223;
1492 safe_assert!(start <= p.wrapping_offset(prime_ * 162 + 5) &&
1493 p.wrapping_offset(prime_ * 162 + 5) < end);
1494 *p.offset(prime_ * 162 + 5) &= 254;
1495 safe_assert!(start <= p.wrapping_offset(prime_ * 166 + 5) &&
1496 p.wrapping_offset(prime_ * 166 + 5) < end);
1497 *p.offset(prime_ * 166 + 5) &= 127;
1498 safe_assert!(start <= p.wrapping_offset(prime_ * 168 + 5) &&
1499 p.wrapping_offset(prime_ * 168 + 5) < end);
1500 *p.offset(prime_ * 168 + 5) &= 247;
1501 safe_assert!(start <= p.wrapping_offset(prime_ * 172 + 5) &&
1502 p.wrapping_offset(prime_ * 172 + 5) < end);
1503 *p.offset(prime_ * 172 + 5) &= 251;
1504 safe_assert!(start <= p.wrapping_offset(prime_ * 178 + 5) &&
1505 p.wrapping_offset(prime_ * 178 + 5) < end);
1506 *p.offset(prime_ * 178 + 5) &= 191;
1507 safe_assert!(start <= p.wrapping_offset(prime_ * 180 + 6) &&
1508 p.wrapping_offset(prime_ * 180 + 6) < end);
1509 *p.offset(prime_ * 180 + 6) &= 253;
1510 safe_assert!(start <= p.wrapping_offset(prime_ * 186 + 6) &&
1511 p.wrapping_offset(prime_ * 186 + 6) < end);
1512 *p.offset(prime_ * 186 + 6) &= 223;
1513 safe_assert!(start <= p.wrapping_offset(prime_ * 190 + 6) &&
1514 p.wrapping_offset(prime_ * 190 + 6) < end);
1515 *p.offset(prime_ * 190 + 6) &= 239;
1516 safe_assert!(start <= p.wrapping_offset(prime_ * 192 + 6) &&
1517 p.wrapping_offset(prime_ * 192 + 6) < end);
1518 *p.offset(prime_ * 192 + 6) &= 254;
1519 safe_assert!(start <= p.wrapping_offset(prime_ * 196 + 6) &&
1520 p.wrapping_offset(prime_ * 196 + 6) < end);
1521 *p.offset(prime_ * 196 + 6) &= 127;
1522 safe_assert!(start <= p.wrapping_offset(prime_ * 198 + 6) &&
1523 p.wrapping_offset(prime_ * 198 + 6) < end);
1524 *p.offset(prime_ * 198 + 6) &= 247;
1525 safe_assert!(start <= p.wrapping_offset(prime_ * 208 + 6) &&
1526 p.wrapping_offset(prime_ * 208 + 6) < end);
1527 *p.offset(prime_ * 208 + 6) &= 191;
1528
1529 let p2 = p.wrapping_offset(prime_ * 210 + 11);
1530 p = if p <= p2 { p2 } else { end };
1531 }
1532 if p >= end { wi = 48; break 'outer; }
1533 safe_assert!(start <= p && p < end);
1534 *p &= 253;
1535 let p2 = p.wrapping_offset(prime_ * 10 + 2);
1536 p = if p <= p2 { p2 } else { end };
1537 break 'label49
1538 }
1539 if p >= end { wi = 49; break 'outer; }
1540 safe_assert!(start <= p && p < end);
1541 *p &= 239;
1542 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1543 p = if p <= p2 { p2 } else { end };
1544 break 'label50
1545 }
1546 if p >= end { wi = 50; break 'outer; }
1547 safe_assert!(start <= p && p < end);
1548 *p &= 254;
1549 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1550 p = if p <= p2 { p2 } else { end };
1551 break 'label51
1552 }
1553 if p >= end { wi = 51; break 'outer; }
1554 safe_assert!(start <= p && p < end);
1555 *p &= 127;
1556 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1557 p = if p <= p2 { p2 } else { end };
1558 break 'label52
1559 }
1560 if p >= end { wi = 52; break 'outer; }
1561 safe_assert!(start <= p && p < end);
1562 *p &= 247;
1563 let p2 = p.wrapping_offset(prime_ * 4 + 1);
1564 p = if p <= p2 { p2 } else { end };
1565 break 'label53
1566 }
1567 if p >= end { wi = 53; break 'outer; }
1568 safe_assert!(start <= p && p < end);
1569 *p &= 251;
1570 let p2 = p.wrapping_offset(prime_ * 6 + 1);
1571 p = if p <= p2 { p2 } else { end };
1572 break 'label54
1573 }
1574 if p >= end { wi = 54; break 'outer; }
1575 safe_assert!(start <= p && p < end);
1576 *p &= 191;
1577 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1578 p = if p <= p2 { p2 } else { end };
1579 break 'label55
1580 }
1581 if p >= end { wi = 55; break 'outer; }
1582 safe_assert!(start <= p && p < end);
1583 *p &= 253;
1584 let p2 = p.wrapping_offset(prime_ * 6 + 1);
1585 p = if p <= p2 { p2 } else { end };
1586 break 'label56
1587 }
1588 if p >= end { wi = 56; break 'outer; }
1589 safe_assert!(start <= p && p < end);
1590 *p &= 223;
1591 let p2 = p.wrapping_offset(prime_ * 4 + 1);
1592 p = if p <= p2 { p2 } else { end };
1593 break 'label57
1594 }
1595 if p >= end { wi = 57; break 'outer; }
1596 safe_assert!(start <= p && p < end);
1597 *p &= 239;
1598 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1599 p = if p <= p2 { p2 } else { end };
1600 break 'label58
1601 }
1602 if p >= end { wi = 58; break 'outer; }
1603 safe_assert!(start <= p && p < end);
1604 *p &= 254;
1605 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1606 p = if p <= p2 { p2 } else { end };
1607 break 'label59
1608 }
1609 if p >= end { wi = 59; break 'outer; }
1610 safe_assert!(start <= p && p < end);
1611 *p &= 127;
1612 let p2 = p.wrapping_offset(prime_ * 6 + 2);
1613 p = if p <= p2 { p2 } else { end };
1614 break 'label60
1615 }
1616 if p >= end { wi = 60; break 'outer; }
1617 safe_assert!(start <= p && p < end);
1618 *p &= 251;
1619 let p2 = p.wrapping_offset(prime_ * 6 + 1);
1620 p = if p <= p2 { p2 } else { end };
1621 break 'label61
1622 }
1623 if p >= end { wi = 61; break 'outer; }
1624 safe_assert!(start <= p && p < end);
1625 *p &= 191;
1626 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1627 p = if p <= p2 { p2 } else { end };
1628 break 'label62
1629 }
1630 if p >= end { wi = 62; break 'outer; }
1631 safe_assert!(start <= p && p < end);
1632 *p &= 253;
1633 let p2 = p.wrapping_offset(prime_ * 6 + 1);
1634 p = if p <= p2 { p2 } else { end };
1635 break 'label63
1636 }
1637 if p >= end { wi = 63; break 'outer; }
1638 safe_assert!(start <= p && p < end);
1639 *p &= 223;
1640 let p2 = p.wrapping_offset(prime_ * 4 + 1);
1641 p = if p <= p2 { p2 } else { end };
1642 break 'label64
1643 }
1644 if p >= end { wi = 64; break 'outer; }
1645 safe_assert!(start <= p && p < end);
1646 *p &= 239;
1647 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1648 p = if p <= p2 { p2 } else { end };
1649 break 'label65
1650 }
1651 if p >= end { wi = 65; break 'outer; }
1652 safe_assert!(start <= p && p < end);
1653 *p &= 254;
1654 let p2 = p.wrapping_offset(prime_ * 6 + 1);
1655 p = if p <= p2 { p2 } else { end };
1656 break 'label66
1657 }
1658 if p >= end { wi = 66; break 'outer; }
1659 safe_assert!(start <= p && p < end);
1660 *p &= 247;
1661 let p2 = p.wrapping_offset(prime_ * 4 + 1);
1662 p = if p <= p2 { p2 } else { end };
1663 break 'label67
1664 }
1665 if p >= end { wi = 67; break 'outer; }
1666 safe_assert!(start <= p && p < end);
1667 *p &= 251;
1668 let p2 = p.wrapping_offset(prime_ * 6 + 1);
1669 p = if p <= p2 { p2 } else { end };
1670 break 'label68
1671 }
1672 if p >= end { wi = 68; break 'outer; }
1673 safe_assert!(start <= p && p < end);
1674 *p &= 191;
1675 let p2 = p.wrapping_offset(prime_ * 8 + 2);
1676 p = if p <= p2 { p2 } else { end };
1677 break 'label69
1678 }
1679 if p >= end { wi = 69; break 'outer; }
1680 safe_assert!(start <= p && p < end);
1681 *p &= 223;
1682 let p2 = p.wrapping_offset(prime_ * 4 + 1);
1683 p = if p <= p2 { p2 } else { end };
1684 break 'label70
1685 }
1686 if p >= end { wi = 70; break 'outer; }
1687 safe_assert!(start <= p && p < end);
1688 *p &= 239;
1689 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1690 p = if p <= p2 { p2 } else { end };
1691 break 'label71
1692 }
1693 if p >= end { wi = 71; break 'outer; }
1694 safe_assert!(start <= p && p < end);
1695 *p &= 254;
1696 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1697 p = if p <= p2 { p2 } else { end };
1698 break 'label72
1699 }
1700 if p >= end { wi = 72; break 'outer; }
1701 safe_assert!(start <= p && p < end);
1702 *p &= 127;
1703 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1704 p = if p <= p2 { p2 } else { end };
1705 break 'label73
1706 }
1707 if p >= end { wi = 73; break 'outer; }
1708 safe_assert!(start <= p && p < end);
1709 *p &= 247;
1710 let p2 = p.wrapping_offset(prime_ * 4 + 1);
1711 p = if p <= p2 { p2 } else { end };
1712 break 'label74
1713 }
1714 if p >= end { wi = 74; break 'outer; }
1715 safe_assert!(start <= p && p < end);
1716 *p &= 251;
1717 let p2 = p.wrapping_offset(prime_ * 8 + 2);
1718 p = if p <= p2 { p2 } else { end };
1719 break 'label75
1720 }
1721 if p >= end { wi = 75; break 'outer; }
1722 safe_assert!(start <= p && p < end);
1723 *p &= 253;
1724 let p2 = p.wrapping_offset(prime_ * 6 + 1);
1725 p = if p <= p2 { p2 } else { end };
1726 break 'label76
1727 }
1728 if p >= end { wi = 76; break 'outer; }
1729 safe_assert!(start <= p && p < end);
1730 *p &= 223;
1731 let p2 = p.wrapping_offset(prime_ * 4 + 1);
1732 p = if p <= p2 { p2 } else { end };
1733 break 'label77
1734 }
1735 if p >= end { wi = 77; break 'outer; }
1736 safe_assert!(start <= p && p < end);
1737 *p &= 239;
1738 let p2 = p.wrapping_offset(prime_ * 6 + 1);
1739 p = if p <= p2 { p2 } else { end };
1740 break 'label78
1741 }
1742 if p >= end { wi = 78; break 'outer; }
1743 safe_assert!(start <= p && p < end);
1744 *p &= 127;
1745 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1746 p = if p <= p2 { p2 } else { end };
1747 break 'label79
1748 }
1749 if p >= end { wi = 79; break 'outer; }
1750 safe_assert!(start <= p && p < end);
1751 *p &= 247;
1752 let p2 = p.wrapping_offset(prime_ * 4 + 1);
1753 p = if p <= p2 { p2 } else { end };
1754 break 'label80
1755 }
1756 if p >= end { wi = 80; break 'outer; }
1757 safe_assert!(start <= p && p < end);
1758 *p &= 251;
1759 let p2 = p.wrapping_offset(prime_ * 6 + 1);
1760 p = if p <= p2 { p2 } else { end };
1761 break 'label81
1762 }
1763 if p >= end { wi = 81; break 'outer; }
1764 safe_assert!(start <= p && p < end);
1765 *p &= 191;
1766 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1767 p = if p <= p2 { p2 } else { end };
1768 break 'label82
1769 }
1770 if p >= end { wi = 82; break 'outer; }
1771 safe_assert!(start <= p && p < end);
1772 *p &= 253;
1773 let p2 = p.wrapping_offset(prime_ * 6 + 1);
1774 p = if p <= p2 { p2 } else { end };
1775 break 'label83
1776 }
1777 if p >= end { wi = 83; break 'outer; }
1778 safe_assert!(start <= p && p < end);
1779 *p &= 223;
1780 let p2 = p.wrapping_offset(prime_ * 6 + 2);
1781 p = if p <= p2 { p2 } else { end };
1782 break 'label84
1783 }
1784 if p >= end { wi = 84; break 'outer; }
1785 safe_assert!(start <= p && p < end);
1786 *p &= 254;
1787 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1788 p = if p <= p2 { p2 } else { end };
1789 break 'label85
1790 }
1791 if p >= end { wi = 85; break 'outer; }
1792 safe_assert!(start <= p && p < end);
1793 *p &= 127;
1794 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1795 p = if p <= p2 { p2 } else { end };
1796 break 'label86
1797 }
1798 if p >= end { wi = 86; break 'outer; }
1799 safe_assert!(start <= p && p < end);
1800 *p &= 247;
1801 let p2 = p.wrapping_offset(prime_ * 4 + 1);
1802 p = if p <= p2 { p2 } else { end };
1803 break 'label87
1804 }
1805 if p >= end { wi = 87; break 'outer; }
1806 safe_assert!(start <= p && p < end);
1807 *p &= 251;
1808 let p2 = p.wrapping_offset(prime_ * 6 + 1);
1809 p = if p <= p2 { p2 } else { end };
1810 break 'label88
1811 }
1812 if p >= end { wi = 88; break 'outer; }
1813 safe_assert!(start <= p && p < end);
1814 *p &= 191;
1815 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1816 p = if p <= p2 { p2 } else { end };
1817 break 'label89
1818 }
1819 if p >= end { wi = 89; break 'outer; }
1820 safe_assert!(start <= p && p < end);
1821 *p &= 253;
1822 let p2 = p.wrapping_offset(prime_ * 6 + 1);
1823 p = if p <= p2 { p2 } else { end };
1824 break 'label90
1825 }
1826 if p >= end { wi = 90; break 'outer; }
1827 safe_assert!(start <= p && p < end);
1828 *p &= 223;
1829 let p2 = p.wrapping_offset(prime_ * 4 + 1);
1830 p = if p <= p2 { p2 } else { end };
1831 break 'label91
1832 }
1833 if p >= end { wi = 91; break 'outer; }
1834 safe_assert!(start <= p && p < end);
1835 *p &= 239;
1836 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1837 p = if p <= p2 { p2 } else { end };
1838 break 'label92
1839 }
1840 if p >= end { wi = 92; break 'outer; }
1841 safe_assert!(start <= p && p < end);
1842 *p &= 254;
1843 let p2 = p.wrapping_offset(prime_ * 4 + 0);
1844 p = if p <= p2 { p2 } else { end };
1845 break 'label93
1846 }
1847 if p >= end { wi = 93; break 'outer; }
1848 safe_assert!(start <= p && p < end);
1849 *p &= 127;
1850 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1851 p = if p <= p2 { p2 } else { end };
1852 break 'label94
1853 }
1854 if p >= end { wi = 94; break 'outer; }
1855 safe_assert!(start <= p && p < end);
1856 *p &= 247;
1857 let p2 = p.wrapping_offset(prime_ * 10 + 2);
1858 p = if p <= p2 { p2 } else { end };
1859 break 'label95
1860 }
1861 if p >= end { wi = 95; break 'outer; }
1862 safe_assert!(start <= p && p < end);
1863 *p &= 191;
1864 let p2 = p.wrapping_offset(prime_ * 2 + 1);
1865 p = if p <= p2 { p2 } else { end };
1866 wi = 48
1867 }
1868 }
1869 96..=143 => { // 30 * x + 13
1870 loop {
1871 'label143: loop {
1872 'label142: loop {
1873 'label141: loop {
1874 'label140: loop {
1875 'label139: loop {
1876 'label138: loop {
1877 'label137: loop {
1878 'label136: loop {
1879 'label135: loop {
1880 'label134: loop {
1881 'label133: loop {
1882 'label132: loop {
1883 'label131: loop {
1884 'label130: loop {
1885 'label129: loop {
1886 'label128: loop {
1887 'label127: loop {
1888 'label126: loop {
1889 'label125: loop {
1890 'label124: loop {
1891 'label123: loop {
1892 'label122: loop {
1893 'label121: loop {
1894 'label120: loop {
1895 'label119: loop {
1896 'label118: loop {
1897 'label117: loop {
1898 'label116: loop {
1899 'label115: loop {
1900 'label114: loop {
1901 'label113: loop {
1902 'label112: loop {
1903 'label111: loop {
1904 'label110: loop {
1905 'label109: loop {
1906 'label108: loop {
1907 'label107: loop {
1908 'label106: loop {
1909 'label105: loop {
1910 'label104: loop {
1911 'label103: loop {
1912 'label102: loop {
1913 'label101: loop {
1914 'label100: loop {
1915 'label99: loop {
1916 'label98: loop {
1917 'label97: loop {
1918 'label96: loop {
1919 match wi {
1920 96 => break 'label96,
1921 97 => break 'label97,
1922 98 => break 'label98,
1923 99 => break 'label99,
1924 100 => break 'label100,
1925 101 => break 'label101,
1926 102 => break 'label102,
1927 103 => break 'label103,
1928 104 => break 'label104,
1929 105 => break 'label105,
1930 106 => break 'label106,
1931 107 => break 'label107,
1932 108 => break 'label108,
1933 109 => break 'label109,
1934 110 => break 'label110,
1935 111 => break 'label111,
1936 112 => break 'label112,
1937 113 => break 'label113,
1938 114 => break 'label114,
1939 115 => break 'label115,
1940 116 => break 'label116,
1941 117 => break 'label117,
1942 118 => break 'label118,
1943 119 => break 'label119,
1944 120 => break 'label120,
1945 121 => break 'label121,
1946 122 => break 'label122,
1947 123 => break 'label123,
1948 124 => break 'label124,
1949 125 => break 'label125,
1950 126 => break 'label126,
1951 127 => break 'label127,
1952 128 => break 'label128,
1953 129 => break 'label129,
1954 130 => break 'label130,
1955 131 => break 'label131,
1956 132 => break 'label132,
1957 133 => break 'label133,
1958 134 => break 'label134,
1959 135 => break 'label135,
1960 136 => break 'label136,
1961 137 => break 'label137,
1962 138 => break 'label138,
1963 139 => break 'label139,
1964 140 => break 'label140,
1965 141 => break 'label141,
1966 142 => break 'label142,
1967 _ => break 'label143,
1968 }
1969 }
1970 while p < loop_end {
1971 p = crate::b(p);
1972 safe_assert!(start <= p.wrapping_offset(prime_ * 0 + 0) &&
1973 p.wrapping_offset(prime_ * 0 + 0) < end);
1974 *p.offset(prime_ * 0 + 0) &= 251;
1975 safe_assert!(start <= p.wrapping_offset(prime_ * 10 + 0) &&
1976 p.wrapping_offset(prime_ * 10 + 0) < end);
1977 *p.offset(prime_ * 10 + 0) &= 254;
1978 safe_assert!(start <= p.wrapping_offset(prime_ * 12 + 0) &&
1979 p.wrapping_offset(prime_ * 12 + 0) < end);
1980 *p.offset(prime_ * 12 + 0) &= 191;
1981 safe_assert!(start <= p.wrapping_offset(prime_ * 16 + 0) &&
1982 p.wrapping_offset(prime_ * 16 + 0) < end);
1983 *p.offset(prime_ * 16 + 0) &= 253;
1984 safe_assert!(start <= p.wrapping_offset(prime_ * 18 + 0) &&
1985 p.wrapping_offset(prime_ * 18 + 0) < end);
1986 *p.offset(prime_ * 18 + 0) &= 127;
1987 safe_assert!(start <= p.wrapping_offset(prime_ * 22 + 1) &&
1988 p.wrapping_offset(prime_ * 22 + 1) < end);
1989 *p.offset(prime_ * 22 + 1) &= 247;
1990 safe_assert!(start <= p.wrapping_offset(prime_ * 28 + 1) &&
1991 p.wrapping_offset(prime_ * 28 + 1) < end);
1992 *p.offset(prime_ * 28 + 1) &= 223;
1993 safe_assert!(start <= p.wrapping_offset(prime_ * 30 + 1) &&
1994 p.wrapping_offset(prime_ * 30 + 1) < end);
1995 *p.offset(prime_ * 30 + 1) &= 251;
1996 safe_assert!(start <= p.wrapping_offset(prime_ * 36 + 1) &&
1997 p.wrapping_offset(prime_ * 36 + 1) < end);
1998 *p.offset(prime_ * 36 + 1) &= 239;
1999 safe_assert!(start <= p.wrapping_offset(prime_ * 40 + 2) &&
2000 p.wrapping_offset(prime_ * 40 + 2) < end);
2001 *p.offset(prime_ * 40 + 2) &= 254;
2002 safe_assert!(start <= p.wrapping_offset(prime_ * 42 + 2) &&
2003 p.wrapping_offset(prime_ * 42 + 2) < end);
2004 *p.offset(prime_ * 42 + 2) &= 191;
2005 safe_assert!(start <= p.wrapping_offset(prime_ * 46 + 2) &&
2006 p.wrapping_offset(prime_ * 46 + 2) < end);
2007 *p.offset(prime_ * 46 + 2) &= 253;
2008 safe_assert!(start <= p.wrapping_offset(prime_ * 52 + 2) &&
2009 p.wrapping_offset(prime_ * 52 + 2) < end);
2010 *p.offset(prime_ * 52 + 2) &= 247;
2011 safe_assert!(start <= p.wrapping_offset(prime_ * 58 + 3) &&
2012 p.wrapping_offset(prime_ * 58 + 3) < end);
2013 *p.offset(prime_ * 58 + 3) &= 223;
2014 safe_assert!(start <= p.wrapping_offset(prime_ * 60 + 3) &&
2015 p.wrapping_offset(prime_ * 60 + 3) < end);
2016 *p.offset(prime_ * 60 + 3) &= 251;
2017 safe_assert!(start <= p.wrapping_offset(prime_ * 66 + 3) &&
2018 p.wrapping_offset(prime_ * 66 + 3) < end);
2019 *p.offset(prime_ * 66 + 3) &= 239;
2020 safe_assert!(start <= p.wrapping_offset(prime_ * 70 + 3) &&
2021 p.wrapping_offset(prime_ * 70 + 3) < end);
2022 *p.offset(prime_ * 70 + 3) &= 254;
2023 safe_assert!(start <= p.wrapping_offset(prime_ * 72 + 3) &&
2024 p.wrapping_offset(prime_ * 72 + 3) < end);
2025 *p.offset(prime_ * 72 + 3) &= 191;
2026 safe_assert!(start <= p.wrapping_offset(prime_ * 78 + 4) &&
2027 p.wrapping_offset(prime_ * 78 + 4) < end);
2028 *p.offset(prime_ * 78 + 4) &= 127;
2029 safe_assert!(start <= p.wrapping_offset(prime_ * 82 + 4) &&
2030 p.wrapping_offset(prime_ * 82 + 4) < end);
2031 *p.offset(prime_ * 82 + 4) &= 247;
2032 safe_assert!(start <= p.wrapping_offset(prime_ * 88 + 4) &&
2033 p.wrapping_offset(prime_ * 88 + 4) < end);
2034 *p.offset(prime_ * 88 + 4) &= 223;
2035 safe_assert!(start <= p.wrapping_offset(prime_ * 96 + 5) &&
2036 p.wrapping_offset(prime_ * 96 + 5) < end);
2037 *p.offset(prime_ * 96 + 5) &= 239;
2038 safe_assert!(start <= p.wrapping_offset(prime_ * 100 + 5) &&
2039 p.wrapping_offset(prime_ * 100 + 5) < end);
2040 *p.offset(prime_ * 100 + 5) &= 254;
2041 safe_assert!(start <= p.wrapping_offset(prime_ * 102 + 5) &&
2042 p.wrapping_offset(prime_ * 102 + 5) < end);
2043 *p.offset(prime_ * 102 + 5) &= 191;
2044 safe_assert!(start <= p.wrapping_offset(prime_ * 106 + 5) &&
2045 p.wrapping_offset(prime_ * 106 + 5) < end);
2046 *p.offset(prime_ * 106 + 5) &= 253;
2047 safe_assert!(start <= p.wrapping_offset(prime_ * 108 + 5) &&
2048 p.wrapping_offset(prime_ * 108 + 5) < end);
2049 *p.offset(prime_ * 108 + 5) &= 127;
2050 safe_assert!(start <= p.wrapping_offset(prime_ * 112 + 5) &&
2051 p.wrapping_offset(prime_ * 112 + 5) < end);
2052 *p.offset(prime_ * 112 + 5) &= 247;
2053 safe_assert!(start <= p.wrapping_offset(prime_ * 120 + 6) &&
2054 p.wrapping_offset(prime_ * 120 + 6) < end);
2055 *p.offset(prime_ * 120 + 6) &= 251;
2056 safe_assert!(start <= p.wrapping_offset(prime_ * 126 + 6) &&
2057 p.wrapping_offset(prime_ * 126 + 6) < end);
2058 *p.offset(prime_ * 126 + 6) &= 239;
2059 safe_assert!(start <= p.wrapping_offset(prime_ * 130 + 6) &&
2060 p.wrapping_offset(prime_ * 130 + 6) < end);
2061 *p.offset(prime_ * 130 + 6) &= 254;
2062 safe_assert!(start <= p.wrapping_offset(prime_ * 136 + 7) &&
2063 p.wrapping_offset(prime_ * 136 + 7) < end);
2064 *p.offset(prime_ * 136 + 7) &= 253;
2065 safe_assert!(start <= p.wrapping_offset(prime_ * 138 + 7) &&
2066 p.wrapping_offset(prime_ * 138 + 7) < end);
2067 *p.offset(prime_ * 138 + 7) &= 127;
2068 safe_assert!(start <= p.wrapping_offset(prime_ * 142 + 7) &&
2069 p.wrapping_offset(prime_ * 142 + 7) < end);
2070 *p.offset(prime_ * 142 + 7) &= 247;
2071 safe_assert!(start <= p.wrapping_offset(prime_ * 148 + 7) &&
2072 p.wrapping_offset(prime_ * 148 + 7) < end);
2073 *p.offset(prime_ * 148 + 7) &= 223;
2074 safe_assert!(start <= p.wrapping_offset(prime_ * 150 + 7) &&
2075 p.wrapping_offset(prime_ * 150 + 7) < end);
2076 *p.offset(prime_ * 150 + 7) &= 251;
2077 safe_assert!(start <= p.wrapping_offset(prime_ * 156 + 8) &&
2078 p.wrapping_offset(prime_ * 156 + 8) < end);
2079 *p.offset(prime_ * 156 + 8) &= 239;
2080 safe_assert!(start <= p.wrapping_offset(prime_ * 162 + 8) &&
2081 p.wrapping_offset(prime_ * 162 + 8) < end);
2082 *p.offset(prime_ * 162 + 8) &= 191;
2083 safe_assert!(start <= p.wrapping_offset(prime_ * 166 + 8) &&
2084 p.wrapping_offset(prime_ * 166 + 8) < end);
2085 *p.offset(prime_ * 166 + 8) &= 253;
2086 safe_assert!(start <= p.wrapping_offset(prime_ * 168 + 8) &&
2087 p.wrapping_offset(prime_ * 168 + 8) < end);
2088 *p.offset(prime_ * 168 + 8) &= 127;
2089 safe_assert!(start <= p.wrapping_offset(prime_ * 172 + 9) &&
2090 p.wrapping_offset(prime_ * 172 + 9) < end);
2091 *p.offset(prime_ * 172 + 9) &= 247;
2092 safe_assert!(start <= p.wrapping_offset(prime_ * 178 + 9) &&
2093 p.wrapping_offset(prime_ * 178 + 9) < end);
2094 *p.offset(prime_ * 178 + 9) &= 223;
2095 safe_assert!(start <= p.wrapping_offset(prime_ * 180 + 9) &&
2096 p.wrapping_offset(prime_ * 180 + 9) < end);
2097 *p.offset(prime_ * 180 + 9) &= 251;
2098 safe_assert!(start <= p.wrapping_offset(prime_ * 186 + 9) &&
2099 p.wrapping_offset(prime_ * 186 + 9) < end);
2100 *p.offset(prime_ * 186 + 9) &= 239;
2101 safe_assert!(start <= p.wrapping_offset(prime_ * 190 + 10) &&
2102 p.wrapping_offset(prime_ * 190 + 10) < end);
2103 *p.offset(prime_ * 190 + 10) &= 254;
2104 safe_assert!(start <= p.wrapping_offset(prime_ * 192 + 10) &&
2105 p.wrapping_offset(prime_ * 192 + 10) < end);
2106 *p.offset(prime_ * 192 + 10) &= 191;
2107 safe_assert!(start <= p.wrapping_offset(prime_ * 196 + 10) &&
2108 p.wrapping_offset(prime_ * 196 + 10) < end);
2109 *p.offset(prime_ * 196 + 10) &= 253;
2110 safe_assert!(start <= p.wrapping_offset(prime_ * 198 + 10) &&
2111 p.wrapping_offset(prime_ * 198 + 10) < end);
2112 *p.offset(prime_ * 198 + 10) &= 127;
2113 safe_assert!(start <= p.wrapping_offset(prime_ * 208 + 10) &&
2114 p.wrapping_offset(prime_ * 208 + 10) < end);
2115 *p.offset(prime_ * 208 + 10) &= 223;
2116
2117 let p2 = p.wrapping_offset(prime_ * 210 + 13);
2118 p = if p <= p2 { p2 } else { end };
2119 }
2120 if p >= end { wi = 96; break 'outer; }
2121 safe_assert!(start <= p && p < end);
2122 *p &= 251;
2123 let p2 = p.wrapping_offset(prime_ * 10 + 4);
2124 p = if p <= p2 { p2 } else { end };
2125 break 'label97
2126 }
2127 if p >= end { wi = 97; break 'outer; }
2128 safe_assert!(start <= p && p < end);
2129 *p &= 254;
2130 let p2 = p.wrapping_offset(prime_ * 2 + 0);
2131 p = if p <= p2 { p2 } else { end };
2132 break 'label98
2133 }
2134 if p >= end { wi = 98; break 'outer; }
2135 safe_assert!(start <= p && p < end);
2136 *p &= 191;
2137 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2138 p = if p <= p2 { p2 } else { end };
2139 break 'label99
2140 }
2141 if p >= end { wi = 99; break 'outer; }
2142 safe_assert!(start <= p && p < end);
2143 *p &= 253;
2144 let p2 = p.wrapping_offset(prime_ * 2 + 0);
2145 p = if p <= p2 { p2 } else { end };
2146 break 'label100
2147 }
2148 if p >= end { wi = 100; break 'outer; }
2149 safe_assert!(start <= p && p < end);
2150 *p &= 127;
2151 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2152 p = if p <= p2 { p2 } else { end };
2153 break 'label101
2154 }
2155 if p >= end { wi = 101; break 'outer; }
2156 safe_assert!(start <= p && p < end);
2157 *p &= 247;
2158 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2159 p = if p <= p2 { p2 } else { end };
2160 break 'label102
2161 }
2162 if p >= end { wi = 102; break 'outer; }
2163 safe_assert!(start <= p && p < end);
2164 *p &= 223;
2165 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2166 p = if p <= p2 { p2 } else { end };
2167 break 'label103
2168 }
2169 if p >= end { wi = 103; break 'outer; }
2170 safe_assert!(start <= p && p < end);
2171 *p &= 251;
2172 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2173 p = if p <= p2 { p2 } else { end };
2174 break 'label104
2175 }
2176 if p >= end { wi = 104; break 'outer; }
2177 safe_assert!(start <= p && p < end);
2178 *p &= 239;
2179 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2180 p = if p <= p2 { p2 } else { end };
2181 break 'label105
2182 }
2183 if p >= end { wi = 105; break 'outer; }
2184 safe_assert!(start <= p && p < end);
2185 *p &= 254;
2186 let p2 = p.wrapping_offset(prime_ * 2 + 0);
2187 p = if p <= p2 { p2 } else { end };
2188 break 'label106
2189 }
2190 if p >= end { wi = 106; break 'outer; }
2191 safe_assert!(start <= p && p < end);
2192 *p &= 191;
2193 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2194 p = if p <= p2 { p2 } else { end };
2195 break 'label107
2196 }
2197 if p >= end { wi = 107; break 'outer; }
2198 safe_assert!(start <= p && p < end);
2199 *p &= 253;
2200 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2201 p = if p <= p2 { p2 } else { end };
2202 break 'label108
2203 }
2204 if p >= end { wi = 108; break 'outer; }
2205 safe_assert!(start <= p && p < end);
2206 *p &= 247;
2207 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2208 p = if p <= p2 { p2 } else { end };
2209 break 'label109
2210 }
2211 if p >= end { wi = 109; break 'outer; }
2212 safe_assert!(start <= p && p < end);
2213 *p &= 223;
2214 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2215 p = if p <= p2 { p2 } else { end };
2216 break 'label110
2217 }
2218 if p >= end { wi = 110; break 'outer; }
2219 safe_assert!(start <= p && p < end);
2220 *p &= 251;
2221 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2222 p = if p <= p2 { p2 } else { end };
2223 break 'label111
2224 }
2225 if p >= end { wi = 111; break 'outer; }
2226 safe_assert!(start <= p && p < end);
2227 *p &= 239;
2228 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2229 p = if p <= p2 { p2 } else { end };
2230 break 'label112
2231 }
2232 if p >= end { wi = 112; break 'outer; }
2233 safe_assert!(start <= p && p < end);
2234 *p &= 254;
2235 let p2 = p.wrapping_offset(prime_ * 2 + 0);
2236 p = if p <= p2 { p2 } else { end };
2237 break 'label113
2238 }
2239 if p >= end { wi = 113; break 'outer; }
2240 safe_assert!(start <= p && p < end);
2241 *p &= 191;
2242 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2243 p = if p <= p2 { p2 } else { end };
2244 break 'label114
2245 }
2246 if p >= end { wi = 114; break 'outer; }
2247 safe_assert!(start <= p && p < end);
2248 *p &= 127;
2249 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2250 p = if p <= p2 { p2 } else { end };
2251 break 'label115
2252 }
2253 if p >= end { wi = 115; break 'outer; }
2254 safe_assert!(start <= p && p < end);
2255 *p &= 247;
2256 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2257 p = if p <= p2 { p2 } else { end };
2258 break 'label116
2259 }
2260 if p >= end { wi = 116; break 'outer; }
2261 safe_assert!(start <= p && p < end);
2262 *p &= 223;
2263 let p2 = p.wrapping_offset(prime_ * 8 + 3);
2264 p = if p <= p2 { p2 } else { end };
2265 break 'label117
2266 }
2267 if p >= end { wi = 117; break 'outer; }
2268 safe_assert!(start <= p && p < end);
2269 *p &= 239;
2270 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2271 p = if p <= p2 { p2 } else { end };
2272 break 'label118
2273 }
2274 if p >= end { wi = 118; break 'outer; }
2275 safe_assert!(start <= p && p < end);
2276 *p &= 254;
2277 let p2 = p.wrapping_offset(prime_ * 2 + 0);
2278 p = if p <= p2 { p2 } else { end };
2279 break 'label119
2280 }
2281 if p >= end { wi = 119; break 'outer; }
2282 safe_assert!(start <= p && p < end);
2283 *p &= 191;
2284 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2285 p = if p <= p2 { p2 } else { end };
2286 break 'label120
2287 }
2288 if p >= end { wi = 120; break 'outer; }
2289 safe_assert!(start <= p && p < end);
2290 *p &= 253;
2291 let p2 = p.wrapping_offset(prime_ * 2 + 0);
2292 p = if p <= p2 { p2 } else { end };
2293 break 'label121
2294 }
2295 if p >= end { wi = 121; break 'outer; }
2296 safe_assert!(start <= p && p < end);
2297 *p &= 127;
2298 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2299 p = if p <= p2 { p2 } else { end };
2300 break 'label122
2301 }
2302 if p >= end { wi = 122; break 'outer; }
2303 safe_assert!(start <= p && p < end);
2304 *p &= 247;
2305 let p2 = p.wrapping_offset(prime_ * 8 + 3);
2306 p = if p <= p2 { p2 } else { end };
2307 break 'label123
2308 }
2309 if p >= end { wi = 123; break 'outer; }
2310 safe_assert!(start <= p && p < end);
2311 *p &= 251;
2312 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2313 p = if p <= p2 { p2 } else { end };
2314 break 'label124
2315 }
2316 if p >= end { wi = 124; break 'outer; }
2317 safe_assert!(start <= p && p < end);
2318 *p &= 239;
2319 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2320 p = if p <= p2 { p2 } else { end };
2321 break 'label125
2322 }
2323 if p >= end { wi = 125; break 'outer; }
2324 safe_assert!(start <= p && p < end);
2325 *p &= 254;
2326 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2327 p = if p <= p2 { p2 } else { end };
2328 break 'label126
2329 }
2330 if p >= end { wi = 126; break 'outer; }
2331 safe_assert!(start <= p && p < end);
2332 *p &= 253;
2333 let p2 = p.wrapping_offset(prime_ * 2 + 0);
2334 p = if p <= p2 { p2 } else { end };
2335 break 'label127
2336 }
2337 if p >= end { wi = 127; break 'outer; }
2338 safe_assert!(start <= p && p < end);
2339 *p &= 127;
2340 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2341 p = if p <= p2 { p2 } else { end };
2342 break 'label128
2343 }
2344 if p >= end { wi = 128; break 'outer; }
2345 safe_assert!(start <= p && p < end);
2346 *p &= 247;
2347 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2348 p = if p <= p2 { p2 } else { end };
2349 break 'label129
2350 }
2351 if p >= end { wi = 129; break 'outer; }
2352 safe_assert!(start <= p && p < end);
2353 *p &= 223;
2354 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2355 p = if p <= p2 { p2 } else { end };
2356 break 'label130
2357 }
2358 if p >= end { wi = 130; break 'outer; }
2359 safe_assert!(start <= p && p < end);
2360 *p &= 251;
2361 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2362 p = if p <= p2 { p2 } else { end };
2363 break 'label131
2364 }
2365 if p >= end { wi = 131; break 'outer; }
2366 safe_assert!(start <= p && p < end);
2367 *p &= 239;
2368 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2369 p = if p <= p2 { p2 } else { end };
2370 break 'label132
2371 }
2372 if p >= end { wi = 132; break 'outer; }
2373 safe_assert!(start <= p && p < end);
2374 *p &= 191;
2375 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2376 p = if p <= p2 { p2 } else { end };
2377 break 'label133
2378 }
2379 if p >= end { wi = 133; break 'outer; }
2380 safe_assert!(start <= p && p < end);
2381 *p &= 253;
2382 let p2 = p.wrapping_offset(prime_ * 2 + 0);
2383 p = if p <= p2 { p2 } else { end };
2384 break 'label134
2385 }
2386 if p >= end { wi = 134; break 'outer; }
2387 safe_assert!(start <= p && p < end);
2388 *p &= 127;
2389 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2390 p = if p <= p2 { p2 } else { end };
2391 break 'label135
2392 }
2393 if p >= end { wi = 135; break 'outer; }
2394 safe_assert!(start <= p && p < end);
2395 *p &= 247;
2396 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2397 p = if p <= p2 { p2 } else { end };
2398 break 'label136
2399 }
2400 if p >= end { wi = 136; break 'outer; }
2401 safe_assert!(start <= p && p < end);
2402 *p &= 223;
2403 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2404 p = if p <= p2 { p2 } else { end };
2405 break 'label137
2406 }
2407 if p >= end { wi = 137; break 'outer; }
2408 safe_assert!(start <= p && p < end);
2409 *p &= 251;
2410 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2411 p = if p <= p2 { p2 } else { end };
2412 break 'label138
2413 }
2414 if p >= end { wi = 138; break 'outer; }
2415 safe_assert!(start <= p && p < end);
2416 *p &= 239;
2417 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2418 p = if p <= p2 { p2 } else { end };
2419 break 'label139
2420 }
2421 if p >= end { wi = 139; break 'outer; }
2422 safe_assert!(start <= p && p < end);
2423 *p &= 254;
2424 let p2 = p.wrapping_offset(prime_ * 2 + 0);
2425 p = if p <= p2 { p2 } else { end };
2426 break 'label140
2427 }
2428 if p >= end { wi = 140; break 'outer; }
2429 safe_assert!(start <= p && p < end);
2430 *p &= 191;
2431 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2432 p = if p <= p2 { p2 } else { end };
2433 break 'label141
2434 }
2435 if p >= end { wi = 141; break 'outer; }
2436 safe_assert!(start <= p && p < end);
2437 *p &= 253;
2438 let p2 = p.wrapping_offset(prime_ * 2 + 0);
2439 p = if p <= p2 { p2 } else { end };
2440 break 'label142
2441 }
2442 if p >= end { wi = 142; break 'outer; }
2443 safe_assert!(start <= p && p < end);
2444 *p &= 127;
2445 let p2 = p.wrapping_offset(prime_ * 10 + 4);
2446 p = if p <= p2 { p2 } else { end };
2447 break 'label143
2448 }
2449 if p >= end { wi = 143; break 'outer; }
2450 safe_assert!(start <= p && p < end);
2451 *p &= 223;
2452 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2453 p = if p <= p2 { p2 } else { end };
2454 wi = 96
2455 }
2456 }
2457 144..=191 => { // 30 * x + 17
2458 loop {
2459 'label191: loop {
2460 'label190: loop {
2461 'label189: loop {
2462 'label188: loop {
2463 'label187: loop {
2464 'label186: loop {
2465 'label185: loop {
2466 'label184: loop {
2467 'label183: loop {
2468 'label182: loop {
2469 'label181: loop {
2470 'label180: loop {
2471 'label179: loop {
2472 'label178: loop {
2473 'label177: loop {
2474 'label176: loop {
2475 'label175: loop {
2476 'label174: loop {
2477 'label173: loop {
2478 'label172: loop {
2479 'label171: loop {
2480 'label170: loop {
2481 'label169: loop {
2482 'label168: loop {
2483 'label167: loop {
2484 'label166: loop {
2485 'label165: loop {
2486 'label164: loop {
2487 'label163: loop {
2488 'label162: loop {
2489 'label161: loop {
2490 'label160: loop {
2491 'label159: loop {
2492 'label158: loop {
2493 'label157: loop {
2494 'label156: loop {
2495 'label155: loop {
2496 'label154: loop {
2497 'label153: loop {
2498 'label152: loop {
2499 'label151: loop {
2500 'label150: loop {
2501 'label149: loop {
2502 'label148: loop {
2503 'label147: loop {
2504 'label146: loop {
2505 'label145: loop {
2506 'label144: loop {
2507 match wi {
2508 144 => break 'label144,
2509 145 => break 'label145,
2510 146 => break 'label146,
2511 147 => break 'label147,
2512 148 => break 'label148,
2513 149 => break 'label149,
2514 150 => break 'label150,
2515 151 => break 'label151,
2516 152 => break 'label152,
2517 153 => break 'label153,
2518 154 => break 'label154,
2519 155 => break 'label155,
2520 156 => break 'label156,
2521 157 => break 'label157,
2522 158 => break 'label158,
2523 159 => break 'label159,
2524 160 => break 'label160,
2525 161 => break 'label161,
2526 162 => break 'label162,
2527 163 => break 'label163,
2528 164 => break 'label164,
2529 165 => break 'label165,
2530 166 => break 'label166,
2531 167 => break 'label167,
2532 168 => break 'label168,
2533 169 => break 'label169,
2534 170 => break 'label170,
2535 171 => break 'label171,
2536 172 => break 'label172,
2537 173 => break 'label173,
2538 174 => break 'label174,
2539 175 => break 'label175,
2540 176 => break 'label176,
2541 177 => break 'label177,
2542 178 => break 'label178,
2543 179 => break 'label179,
2544 180 => break 'label180,
2545 181 => break 'label181,
2546 182 => break 'label182,
2547 183 => break 'label183,
2548 184 => break 'label184,
2549 185 => break 'label185,
2550 186 => break 'label186,
2551 187 => break 'label187,
2552 188 => break 'label188,
2553 189 => break 'label189,
2554 190 => break 'label190,
2555 _ => break 'label191,
2556 }
2557 }
2558 while p < loop_end {
2559 p = crate::b(p);
2560 safe_assert!(start <= p.wrapping_offset(prime_ * 0 + 0) &&
2561 p.wrapping_offset(prime_ * 0 + 0) < end);
2562 *p.offset(prime_ * 0 + 0) &= 247;
2563 safe_assert!(start <= p.wrapping_offset(prime_ * 10 + 0) &&
2564 p.wrapping_offset(prime_ * 10 + 0) < end);
2565 *p.offset(prime_ * 10 + 0) &= 191;
2566 safe_assert!(start <= p.wrapping_offset(prime_ * 12 + 0) &&
2567 p.wrapping_offset(prime_ * 12 + 0) < end);
2568 *p.offset(prime_ * 12 + 0) &= 223;
2569 safe_assert!(start <= p.wrapping_offset(prime_ * 16 + 1) &&
2570 p.wrapping_offset(prime_ * 16 + 1) < end);
2571 *p.offset(prime_ * 16 + 1) &= 251;
2572 safe_assert!(start <= p.wrapping_offset(prime_ * 18 + 1) &&
2573 p.wrapping_offset(prime_ * 18 + 1) < end);
2574 *p.offset(prime_ * 18 + 1) &= 253;
2575 safe_assert!(start <= p.wrapping_offset(prime_ * 22 + 1) &&
2576 p.wrapping_offset(prime_ * 22 + 1) < end);
2577 *p.offset(prime_ * 22 + 1) &= 127;
2578 safe_assert!(start <= p.wrapping_offset(prime_ * 28 + 1) &&
2579 p.wrapping_offset(prime_ * 28 + 1) < end);
2580 *p.offset(prime_ * 28 + 1) &= 239;
2581 safe_assert!(start <= p.wrapping_offset(prime_ * 30 + 1) &&
2582 p.wrapping_offset(prime_ * 30 + 1) < end);
2583 *p.offset(prime_ * 30 + 1) &= 247;
2584 safe_assert!(start <= p.wrapping_offset(prime_ * 36 + 2) &&
2585 p.wrapping_offset(prime_ * 36 + 2) < end);
2586 *p.offset(prime_ * 36 + 2) &= 254;
2587 safe_assert!(start <= p.wrapping_offset(prime_ * 40 + 2) &&
2588 p.wrapping_offset(prime_ * 40 + 2) < end);
2589 *p.offset(prime_ * 40 + 2) &= 191;
2590 safe_assert!(start <= p.wrapping_offset(prime_ * 42 + 2) &&
2591 p.wrapping_offset(prime_ * 42 + 2) < end);
2592 *p.offset(prime_ * 42 + 2) &= 223;
2593 safe_assert!(start <= p.wrapping_offset(prime_ * 46 + 2) &&
2594 p.wrapping_offset(prime_ * 46 + 2) < end);
2595 *p.offset(prime_ * 46 + 2) &= 251;
2596 safe_assert!(start <= p.wrapping_offset(prime_ * 52 + 3) &&
2597 p.wrapping_offset(prime_ * 52 + 3) < end);
2598 *p.offset(prime_ * 52 + 3) &= 127;
2599 safe_assert!(start <= p.wrapping_offset(prime_ * 58 + 3) &&
2600 p.wrapping_offset(prime_ * 58 + 3) < end);
2601 *p.offset(prime_ * 58 + 3) &= 239;
2602 safe_assert!(start <= p.wrapping_offset(prime_ * 60 + 3) &&
2603 p.wrapping_offset(prime_ * 60 + 3) < end);
2604 *p.offset(prime_ * 60 + 3) &= 247;
2605 safe_assert!(start <= p.wrapping_offset(prime_ * 66 + 4) &&
2606 p.wrapping_offset(prime_ * 66 + 4) < end);
2607 *p.offset(prime_ * 66 + 4) &= 254;
2608 safe_assert!(start <= p.wrapping_offset(prime_ * 70 + 4) &&
2609 p.wrapping_offset(prime_ * 70 + 4) < end);
2610 *p.offset(prime_ * 70 + 4) &= 191;
2611 safe_assert!(start <= p.wrapping_offset(prime_ * 72 + 4) &&
2612 p.wrapping_offset(prime_ * 72 + 4) < end);
2613 *p.offset(prime_ * 72 + 4) &= 223;
2614 safe_assert!(start <= p.wrapping_offset(prime_ * 78 + 4) &&
2615 p.wrapping_offset(prime_ * 78 + 4) < end);
2616 *p.offset(prime_ * 78 + 4) &= 253;
2617 safe_assert!(start <= p.wrapping_offset(prime_ * 82 + 5) &&
2618 p.wrapping_offset(prime_ * 82 + 5) < end);
2619 *p.offset(prime_ * 82 + 5) &= 127;
2620 safe_assert!(start <= p.wrapping_offset(prime_ * 88 + 5) &&
2621 p.wrapping_offset(prime_ * 88 + 5) < end);
2622 *p.offset(prime_ * 88 + 5) &= 239;
2623 safe_assert!(start <= p.wrapping_offset(prime_ * 96 + 6) &&
2624 p.wrapping_offset(prime_ * 96 + 6) < end);
2625 *p.offset(prime_ * 96 + 6) &= 254;
2626 safe_assert!(start <= p.wrapping_offset(prime_ * 100 + 6) &&
2627 p.wrapping_offset(prime_ * 100 + 6) < end);
2628 *p.offset(prime_ * 100 + 6) &= 191;
2629 safe_assert!(start <= p.wrapping_offset(prime_ * 102 + 6) &&
2630 p.wrapping_offset(prime_ * 102 + 6) < end);
2631 *p.offset(prime_ * 102 + 6) &= 223;
2632 safe_assert!(start <= p.wrapping_offset(prime_ * 106 + 6) &&
2633 p.wrapping_offset(prime_ * 106 + 6) < end);
2634 *p.offset(prime_ * 106 + 6) &= 251;
2635 safe_assert!(start <= p.wrapping_offset(prime_ * 108 + 6) &&
2636 p.wrapping_offset(prime_ * 108 + 6) < end);
2637 *p.offset(prime_ * 108 + 6) &= 253;
2638 safe_assert!(start <= p.wrapping_offset(prime_ * 112 + 6) &&
2639 p.wrapping_offset(prime_ * 112 + 6) < end);
2640 *p.offset(prime_ * 112 + 6) &= 127;
2641 safe_assert!(start <= p.wrapping_offset(prime_ * 120 + 7) &&
2642 p.wrapping_offset(prime_ * 120 + 7) < end);
2643 *p.offset(prime_ * 120 + 7) &= 247;
2644 safe_assert!(start <= p.wrapping_offset(prime_ * 126 + 7) &&
2645 p.wrapping_offset(prime_ * 126 + 7) < end);
2646 *p.offset(prime_ * 126 + 7) &= 254;
2647 safe_assert!(start <= p.wrapping_offset(prime_ * 130 + 8) &&
2648 p.wrapping_offset(prime_ * 130 + 8) < end);
2649 *p.offset(prime_ * 130 + 8) &= 191;
2650 safe_assert!(start <= p.wrapping_offset(prime_ * 136 + 8) &&
2651 p.wrapping_offset(prime_ * 136 + 8) < end);
2652 *p.offset(prime_ * 136 + 8) &= 251;
2653 safe_assert!(start <= p.wrapping_offset(prime_ * 138 + 8) &&
2654 p.wrapping_offset(prime_ * 138 + 8) < end);
2655 *p.offset(prime_ * 138 + 8) &= 253;
2656 safe_assert!(start <= p.wrapping_offset(prime_ * 142 + 8) &&
2657 p.wrapping_offset(prime_ * 142 + 8) < end);
2658 *p.offset(prime_ * 142 + 8) &= 127;
2659 safe_assert!(start <= p.wrapping_offset(prime_ * 148 + 9) &&
2660 p.wrapping_offset(prime_ * 148 + 9) < end);
2661 *p.offset(prime_ * 148 + 9) &= 239;
2662 safe_assert!(start <= p.wrapping_offset(prime_ * 150 + 9) &&
2663 p.wrapping_offset(prime_ * 150 + 9) < end);
2664 *p.offset(prime_ * 150 + 9) &= 247;
2665 safe_assert!(start <= p.wrapping_offset(prime_ * 156 + 9) &&
2666 p.wrapping_offset(prime_ * 156 + 9) < end);
2667 *p.offset(prime_ * 156 + 9) &= 254;
2668 safe_assert!(start <= p.wrapping_offset(prime_ * 162 + 10) &&
2669 p.wrapping_offset(prime_ * 162 + 10) < end);
2670 *p.offset(prime_ * 162 + 10) &= 223;
2671 safe_assert!(start <= p.wrapping_offset(prime_ * 166 + 10) &&
2672 p.wrapping_offset(prime_ * 166 + 10) < end);
2673 *p.offset(prime_ * 166 + 10) &= 251;
2674 safe_assert!(start <= p.wrapping_offset(prime_ * 168 + 10) &&
2675 p.wrapping_offset(prime_ * 168 + 10) < end);
2676 *p.offset(prime_ * 168 + 10) &= 253;
2677 safe_assert!(start <= p.wrapping_offset(prime_ * 172 + 10) &&
2678 p.wrapping_offset(prime_ * 172 + 10) < end);
2679 *p.offset(prime_ * 172 + 10) &= 127;
2680 safe_assert!(start <= p.wrapping_offset(prime_ * 178 + 11) &&
2681 p.wrapping_offset(prime_ * 178 + 11) < end);
2682 *p.offset(prime_ * 178 + 11) &= 239;
2683 safe_assert!(start <= p.wrapping_offset(prime_ * 180 + 11) &&
2684 p.wrapping_offset(prime_ * 180 + 11) < end);
2685 *p.offset(prime_ * 180 + 11) &= 247;
2686 safe_assert!(start <= p.wrapping_offset(prime_ * 186 + 11) &&
2687 p.wrapping_offset(prime_ * 186 + 11) < end);
2688 *p.offset(prime_ * 186 + 11) &= 254;
2689 safe_assert!(start <= p.wrapping_offset(prime_ * 190 + 11) &&
2690 p.wrapping_offset(prime_ * 190 + 11) < end);
2691 *p.offset(prime_ * 190 + 11) &= 191;
2692 safe_assert!(start <= p.wrapping_offset(prime_ * 192 + 11) &&
2693 p.wrapping_offset(prime_ * 192 + 11) < end);
2694 *p.offset(prime_ * 192 + 11) &= 223;
2695 safe_assert!(start <= p.wrapping_offset(prime_ * 196 + 12) &&
2696 p.wrapping_offset(prime_ * 196 + 12) < end);
2697 *p.offset(prime_ * 196 + 12) &= 251;
2698 safe_assert!(start <= p.wrapping_offset(prime_ * 198 + 12) &&
2699 p.wrapping_offset(prime_ * 198 + 12) < end);
2700 *p.offset(prime_ * 198 + 12) &= 253;
2701 safe_assert!(start <= p.wrapping_offset(prime_ * 208 + 12) &&
2702 p.wrapping_offset(prime_ * 208 + 12) < end);
2703 *p.offset(prime_ * 208 + 12) &= 239;
2704
2705 let p2 = p.wrapping_offset(prime_ * 210 + 17);
2706 p = if p <= p2 { p2 } else { end };
2707 }
2708 if p >= end { wi = 144; break 'outer; }
2709 safe_assert!(start <= p && p < end);
2710 *p &= 247;
2711 let p2 = p.wrapping_offset(prime_ * 10 + 4);
2712 p = if p <= p2 { p2 } else { end };
2713 break 'label145
2714 }
2715 if p >= end { wi = 145; break 'outer; }
2716 safe_assert!(start <= p && p < end);
2717 *p &= 191;
2718 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2719 p = if p <= p2 { p2 } else { end };
2720 break 'label146
2721 }
2722 if p >= end { wi = 146; break 'outer; }
2723 safe_assert!(start <= p && p < end);
2724 *p &= 223;
2725 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2726 p = if p <= p2 { p2 } else { end };
2727 break 'label147
2728 }
2729 if p >= end { wi = 147; break 'outer; }
2730 safe_assert!(start <= p && p < end);
2731 *p &= 251;
2732 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2733 p = if p <= p2 { p2 } else { end };
2734 break 'label148
2735 }
2736 if p >= end { wi = 148; break 'outer; }
2737 safe_assert!(start <= p && p < end);
2738 *p &= 253;
2739 let p2 = p.wrapping_offset(prime_ * 4 + 1);
2740 p = if p <= p2 { p2 } else { end };
2741 break 'label149
2742 }
2743 if p >= end { wi = 149; break 'outer; }
2744 safe_assert!(start <= p && p < end);
2745 *p &= 127;
2746 let p2 = p.wrapping_offset(prime_ * 6 + 3);
2747 p = if p <= p2 { p2 } else { end };
2748 break 'label150
2749 }
2750 if p >= end { wi = 150; break 'outer; }
2751 safe_assert!(start <= p && p < end);
2752 *p &= 239;
2753 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2754 p = if p <= p2 { p2 } else { end };
2755 break 'label151
2756 }
2757 if p >= end { wi = 151; break 'outer; }
2758 safe_assert!(start <= p && p < end);
2759 *p &= 247;
2760 let p2 = p.wrapping_offset(prime_ * 6 + 3);
2761 p = if p <= p2 { p2 } else { end };
2762 break 'label152
2763 }
2764 if p >= end { wi = 152; break 'outer; }
2765 safe_assert!(start <= p && p < end);
2766 *p &= 254;
2767 let p2 = p.wrapping_offset(prime_ * 4 + 1);
2768 p = if p <= p2 { p2 } else { end };
2769 break 'label153
2770 }
2771 if p >= end { wi = 153; break 'outer; }
2772 safe_assert!(start <= p && p < end);
2773 *p &= 191;
2774 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2775 p = if p <= p2 { p2 } else { end };
2776 break 'label154
2777 }
2778 if p >= end { wi = 154; break 'outer; }
2779 safe_assert!(start <= p && p < end);
2780 *p &= 223;
2781 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2782 p = if p <= p2 { p2 } else { end };
2783 break 'label155
2784 }
2785 if p >= end { wi = 155; break 'outer; }
2786 safe_assert!(start <= p && p < end);
2787 *p &= 251;
2788 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2789 p = if p <= p2 { p2 } else { end };
2790 break 'label156
2791 }
2792 if p >= end { wi = 156; break 'outer; }
2793 safe_assert!(start <= p && p < end);
2794 *p &= 127;
2795 let p2 = p.wrapping_offset(prime_ * 6 + 3);
2796 p = if p <= p2 { p2 } else { end };
2797 break 'label157
2798 }
2799 if p >= end { wi = 157; break 'outer; }
2800 safe_assert!(start <= p && p < end);
2801 *p &= 239;
2802 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2803 p = if p <= p2 { p2 } else { end };
2804 break 'label158
2805 }
2806 if p >= end { wi = 158; break 'outer; }
2807 safe_assert!(start <= p && p < end);
2808 *p &= 247;
2809 let p2 = p.wrapping_offset(prime_ * 6 + 3);
2810 p = if p <= p2 { p2 } else { end };
2811 break 'label159
2812 }
2813 if p >= end { wi = 159; break 'outer; }
2814 safe_assert!(start <= p && p < end);
2815 *p &= 254;
2816 let p2 = p.wrapping_offset(prime_ * 4 + 1);
2817 p = if p <= p2 { p2 } else { end };
2818 break 'label160
2819 }
2820 if p >= end { wi = 160; break 'outer; }
2821 safe_assert!(start <= p && p < end);
2822 *p &= 191;
2823 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2824 p = if p <= p2 { p2 } else { end };
2825 break 'label161
2826 }
2827 if p >= end { wi = 161; break 'outer; }
2828 safe_assert!(start <= p && p < end);
2829 *p &= 223;
2830 let p2 = p.wrapping_offset(prime_ * 6 + 3);
2831 p = if p <= p2 { p2 } else { end };
2832 break 'label162
2833 }
2834 if p >= end { wi = 162; break 'outer; }
2835 safe_assert!(start <= p && p < end);
2836 *p &= 253;
2837 let p2 = p.wrapping_offset(prime_ * 4 + 1);
2838 p = if p <= p2 { p2 } else { end };
2839 break 'label163
2840 }
2841 if p >= end { wi = 163; break 'outer; }
2842 safe_assert!(start <= p && p < end);
2843 *p &= 127;
2844 let p2 = p.wrapping_offset(prime_ * 6 + 3);
2845 p = if p <= p2 { p2 } else { end };
2846 break 'label164
2847 }
2848 if p >= end { wi = 164; break 'outer; }
2849 safe_assert!(start <= p && p < end);
2850 *p &= 239;
2851 let p2 = p.wrapping_offset(prime_ * 8 + 4);
2852 p = if p <= p2 { p2 } else { end };
2853 break 'label165
2854 }
2855 if p >= end { wi = 165; break 'outer; }
2856 safe_assert!(start <= p && p < end);
2857 *p &= 254;
2858 let p2 = p.wrapping_offset(prime_ * 4 + 1);
2859 p = if p <= p2 { p2 } else { end };
2860 break 'label166
2861 }
2862 if p >= end { wi = 166; break 'outer; }
2863 safe_assert!(start <= p && p < end);
2864 *p &= 191;
2865 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2866 p = if p <= p2 { p2 } else { end };
2867 break 'label167
2868 }
2869 if p >= end { wi = 167; break 'outer; }
2870 safe_assert!(start <= p && p < end);
2871 *p &= 223;
2872 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2873 p = if p <= p2 { p2 } else { end };
2874 break 'label168
2875 }
2876 if p >= end { wi = 168; break 'outer; }
2877 safe_assert!(start <= p && p < end);
2878 *p &= 251;
2879 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2880 p = if p <= p2 { p2 } else { end };
2881 break 'label169
2882 }
2883 if p >= end { wi = 169; break 'outer; }
2884 safe_assert!(start <= p && p < end);
2885 *p &= 253;
2886 let p2 = p.wrapping_offset(prime_ * 4 + 1);
2887 p = if p <= p2 { p2 } else { end };
2888 break 'label170
2889 }
2890 if p >= end { wi = 170; break 'outer; }
2891 safe_assert!(start <= p && p < end);
2892 *p &= 127;
2893 let p2 = p.wrapping_offset(prime_ * 8 + 4);
2894 p = if p <= p2 { p2 } else { end };
2895 break 'label171
2896 }
2897 if p >= end { wi = 171; break 'outer; }
2898 safe_assert!(start <= p && p < end);
2899 *p &= 247;
2900 let p2 = p.wrapping_offset(prime_ * 6 + 3);
2901 p = if p <= p2 { p2 } else { end };
2902 break 'label172
2903 }
2904 if p >= end { wi = 172; break 'outer; }
2905 safe_assert!(start <= p && p < end);
2906 *p &= 254;
2907 let p2 = p.wrapping_offset(prime_ * 4 + 1);
2908 p = if p <= p2 { p2 } else { end };
2909 break 'label173
2910 }
2911 if p >= end { wi = 173; break 'outer; }
2912 safe_assert!(start <= p && p < end);
2913 *p &= 191;
2914 let p2 = p.wrapping_offset(prime_ * 6 + 3);
2915 p = if p <= p2 { p2 } else { end };
2916 break 'label174
2917 }
2918 if p >= end { wi = 174; break 'outer; }
2919 safe_assert!(start <= p && p < end);
2920 *p &= 251;
2921 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2922 p = if p <= p2 { p2 } else { end };
2923 break 'label175
2924 }
2925 if p >= end { wi = 175; break 'outer; }
2926 safe_assert!(start <= p && p < end);
2927 *p &= 253;
2928 let p2 = p.wrapping_offset(prime_ * 4 + 1);
2929 p = if p <= p2 { p2 } else { end };
2930 break 'label176
2931 }
2932 if p >= end { wi = 176; break 'outer; }
2933 safe_assert!(start <= p && p < end);
2934 *p &= 127;
2935 let p2 = p.wrapping_offset(prime_ * 6 + 3);
2936 p = if p <= p2 { p2 } else { end };
2937 break 'label177
2938 }
2939 if p >= end { wi = 177; break 'outer; }
2940 safe_assert!(start <= p && p < end);
2941 *p &= 239;
2942 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2943 p = if p <= p2 { p2 } else { end };
2944 break 'label178
2945 }
2946 if p >= end { wi = 178; break 'outer; }
2947 safe_assert!(start <= p && p < end);
2948 *p &= 247;
2949 let p2 = p.wrapping_offset(prime_ * 6 + 3);
2950 p = if p <= p2 { p2 } else { end };
2951 break 'label179
2952 }
2953 if p >= end { wi = 179; break 'outer; }
2954 safe_assert!(start <= p && p < end);
2955 *p &= 254;
2956 let p2 = p.wrapping_offset(prime_ * 6 + 2);
2957 p = if p <= p2 { p2 } else { end };
2958 break 'label180
2959 }
2960 if p >= end { wi = 180; break 'outer; }
2961 safe_assert!(start <= p && p < end);
2962 *p &= 223;
2963 let p2 = p.wrapping_offset(prime_ * 4 + 2);
2964 p = if p <= p2 { p2 } else { end };
2965 break 'label181
2966 }
2967 if p >= end { wi = 181; break 'outer; }
2968 safe_assert!(start <= p && p < end);
2969 *p &= 251;
2970 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2971 p = if p <= p2 { p2 } else { end };
2972 break 'label182
2973 }
2974 if p >= end { wi = 182; break 'outer; }
2975 safe_assert!(start <= p && p < end);
2976 *p &= 253;
2977 let p2 = p.wrapping_offset(prime_ * 4 + 1);
2978 p = if p <= p2 { p2 } else { end };
2979 break 'label183
2980 }
2981 if p >= end { wi = 183; break 'outer; }
2982 safe_assert!(start <= p && p < end);
2983 *p &= 127;
2984 let p2 = p.wrapping_offset(prime_ * 6 + 3);
2985 p = if p <= p2 { p2 } else { end };
2986 break 'label184
2987 }
2988 if p >= end { wi = 184; break 'outer; }
2989 safe_assert!(start <= p && p < end);
2990 *p &= 239;
2991 let p2 = p.wrapping_offset(prime_ * 2 + 1);
2992 p = if p <= p2 { p2 } else { end };
2993 break 'label185
2994 }
2995 if p >= end { wi = 185; break 'outer; }
2996 safe_assert!(start <= p && p < end);
2997 *p &= 247;
2998 let p2 = p.wrapping_offset(prime_ * 6 + 3);
2999 p = if p <= p2 { p2 } else { end };
3000 break 'label186
3001 }
3002 if p >= end { wi = 186; break 'outer; }
3003 safe_assert!(start <= p && p < end);
3004 *p &= 254;
3005 let p2 = p.wrapping_offset(prime_ * 4 + 1);
3006 p = if p <= p2 { p2 } else { end };
3007 break 'label187
3008 }
3009 if p >= end { wi = 187; break 'outer; }
3010 safe_assert!(start <= p && p < end);
3011 *p &= 191;
3012 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3013 p = if p <= p2 { p2 } else { end };
3014 break 'label188
3015 }
3016 if p >= end { wi = 188; break 'outer; }
3017 safe_assert!(start <= p && p < end);
3018 *p &= 223;
3019 let p2 = p.wrapping_offset(prime_ * 4 + 2);
3020 p = if p <= p2 { p2 } else { end };
3021 break 'label189
3022 }
3023 if p >= end { wi = 189; break 'outer; }
3024 safe_assert!(start <= p && p < end);
3025 *p &= 251;
3026 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3027 p = if p <= p2 { p2 } else { end };
3028 break 'label190
3029 }
3030 if p >= end { wi = 190; break 'outer; }
3031 safe_assert!(start <= p && p < end);
3032 *p &= 253;
3033 let p2 = p.wrapping_offset(prime_ * 10 + 4);
3034 p = if p <= p2 { p2 } else { end };
3035 break 'label191
3036 }
3037 if p >= end { wi = 191; break 'outer; }
3038 safe_assert!(start <= p && p < end);
3039 *p &= 239;
3040 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3041 p = if p <= p2 { p2 } else { end };
3042 wi = 144
3043 }
3044 }
3045 192..=239 => { // 30 * x + 19
3046 loop {
3047 'label239: loop {
3048 'label238: loop {
3049 'label237: loop {
3050 'label236: loop {
3051 'label235: loop {
3052 'label234: loop {
3053 'label233: loop {
3054 'label232: loop {
3055 'label231: loop {
3056 'label230: loop {
3057 'label229: loop {
3058 'label228: loop {
3059 'label227: loop {
3060 'label226: loop {
3061 'label225: loop {
3062 'label224: loop {
3063 'label223: loop {
3064 'label222: loop {
3065 'label221: loop {
3066 'label220: loop {
3067 'label219: loop {
3068 'label218: loop {
3069 'label217: loop {
3070 'label216: loop {
3071 'label215: loop {
3072 'label214: loop {
3073 'label213: loop {
3074 'label212: loop {
3075 'label211: loop {
3076 'label210: loop {
3077 'label209: loop {
3078 'label208: loop {
3079 'label207: loop {
3080 'label206: loop {
3081 'label205: loop {
3082 'label204: loop {
3083 'label203: loop {
3084 'label202: loop {
3085 'label201: loop {
3086 'label200: loop {
3087 'label199: loop {
3088 'label198: loop {
3089 'label197: loop {
3090 'label196: loop {
3091 'label195: loop {
3092 'label194: loop {
3093 'label193: loop {
3094 'label192: loop {
3095 match wi {
3096 192 => break 'label192,
3097 193 => break 'label193,
3098 194 => break 'label194,
3099 195 => break 'label195,
3100 196 => break 'label196,
3101 197 => break 'label197,
3102 198 => break 'label198,
3103 199 => break 'label199,
3104 200 => break 'label200,
3105 201 => break 'label201,
3106 202 => break 'label202,
3107 203 => break 'label203,
3108 204 => break 'label204,
3109 205 => break 'label205,
3110 206 => break 'label206,
3111 207 => break 'label207,
3112 208 => break 'label208,
3113 209 => break 'label209,
3114 210 => break 'label210,
3115 211 => break 'label211,
3116 212 => break 'label212,
3117 213 => break 'label213,
3118 214 => break 'label214,
3119 215 => break 'label215,
3120 216 => break 'label216,
3121 217 => break 'label217,
3122 218 => break 'label218,
3123 219 => break 'label219,
3124 220 => break 'label220,
3125 221 => break 'label221,
3126 222 => break 'label222,
3127 223 => break 'label223,
3128 224 => break 'label224,
3129 225 => break 'label225,
3130 226 => break 'label226,
3131 227 => break 'label227,
3132 228 => break 'label228,
3133 229 => break 'label229,
3134 230 => break 'label230,
3135 231 => break 'label231,
3136 232 => break 'label232,
3137 233 => break 'label233,
3138 234 => break 'label234,
3139 235 => break 'label235,
3140 236 => break 'label236,
3141 237 => break 'label237,
3142 238 => break 'label238,
3143 _ => break 'label239,
3144 }
3145 }
3146 while p < loop_end {
3147 p = crate::b(p);
3148 safe_assert!(start <= p.wrapping_offset(prime_ * 0 + 0) &&
3149 p.wrapping_offset(prime_ * 0 + 0) < end);
3150 *p.offset(prime_ * 0 + 0) &= 239;
3151 safe_assert!(start <= p.wrapping_offset(prime_ * 10 + 0) &&
3152 p.wrapping_offset(prime_ * 10 + 0) < end);
3153 *p.offset(prime_ * 10 + 0) &= 253;
3154 safe_assert!(start <= p.wrapping_offset(prime_ * 12 + 1) &&
3155 p.wrapping_offset(prime_ * 12 + 1) < end);
3156 *p.offset(prime_ * 12 + 1) &= 251;
3157 safe_assert!(start <= p.wrapping_offset(prime_ * 16 + 1) &&
3158 p.wrapping_offset(prime_ * 16 + 1) < end);
3159 *p.offset(prime_ * 16 + 1) &= 223;
3160 safe_assert!(start <= p.wrapping_offset(prime_ * 18 + 1) &&
3161 p.wrapping_offset(prime_ * 18 + 1) < end);
3162 *p.offset(prime_ * 18 + 1) &= 191;
3163 safe_assert!(start <= p.wrapping_offset(prime_ * 22 + 1) &&
3164 p.wrapping_offset(prime_ * 22 + 1) < end);
3165 *p.offset(prime_ * 22 + 1) &= 254;
3166 safe_assert!(start <= p.wrapping_offset(prime_ * 28 + 2) &&
3167 p.wrapping_offset(prime_ * 28 + 2) < end);
3168 *p.offset(prime_ * 28 + 2) &= 247;
3169 safe_assert!(start <= p.wrapping_offset(prime_ * 30 + 2) &&
3170 p.wrapping_offset(prime_ * 30 + 2) < end);
3171 *p.offset(prime_ * 30 + 2) &= 239;
3172 safe_assert!(start <= p.wrapping_offset(prime_ * 36 + 2) &&
3173 p.wrapping_offset(prime_ * 36 + 2) < end);
3174 *p.offset(prime_ * 36 + 2) &= 127;
3175 safe_assert!(start <= p.wrapping_offset(prime_ * 40 + 3) &&
3176 p.wrapping_offset(prime_ * 40 + 3) < end);
3177 *p.offset(prime_ * 40 + 3) &= 253;
3178 safe_assert!(start <= p.wrapping_offset(prime_ * 42 + 3) &&
3179 p.wrapping_offset(prime_ * 42 + 3) < end);
3180 *p.offset(prime_ * 42 + 3) &= 251;
3181 safe_assert!(start <= p.wrapping_offset(prime_ * 46 + 3) &&
3182 p.wrapping_offset(prime_ * 46 + 3) < end);
3183 *p.offset(prime_ * 46 + 3) &= 223;
3184 safe_assert!(start <= p.wrapping_offset(prime_ * 52 + 4) &&
3185 p.wrapping_offset(prime_ * 52 + 4) < end);
3186 *p.offset(prime_ * 52 + 4) &= 254;
3187 safe_assert!(start <= p.wrapping_offset(prime_ * 58 + 4) &&
3188 p.wrapping_offset(prime_ * 58 + 4) < end);
3189 *p.offset(prime_ * 58 + 4) &= 247;
3190 safe_assert!(start <= p.wrapping_offset(prime_ * 60 + 4) &&
3191 p.wrapping_offset(prime_ * 60 + 4) < end);
3192 *p.offset(prime_ * 60 + 4) &= 239;
3193 safe_assert!(start <= p.wrapping_offset(prime_ * 66 + 5) &&
3194 p.wrapping_offset(prime_ * 66 + 5) < end);
3195 *p.offset(prime_ * 66 + 5) &= 127;
3196 safe_assert!(start <= p.wrapping_offset(prime_ * 70 + 5) &&
3197 p.wrapping_offset(prime_ * 70 + 5) < end);
3198 *p.offset(prime_ * 70 + 5) &= 253;
3199 safe_assert!(start <= p.wrapping_offset(prime_ * 72 + 5) &&
3200 p.wrapping_offset(prime_ * 72 + 5) < end);
3201 *p.offset(prime_ * 72 + 5) &= 251;
3202 safe_assert!(start <= p.wrapping_offset(prime_ * 78 + 6) &&
3203 p.wrapping_offset(prime_ * 78 + 6) < end);
3204 *p.offset(prime_ * 78 + 6) &= 191;
3205 safe_assert!(start <= p.wrapping_offset(prime_ * 82 + 6) &&
3206 p.wrapping_offset(prime_ * 82 + 6) < end);
3207 *p.offset(prime_ * 82 + 6) &= 254;
3208 safe_assert!(start <= p.wrapping_offset(prime_ * 88 + 7) &&
3209 p.wrapping_offset(prime_ * 88 + 7) < end);
3210 *p.offset(prime_ * 88 + 7) &= 247;
3211 safe_assert!(start <= p.wrapping_offset(prime_ * 96 + 7) &&
3212 p.wrapping_offset(prime_ * 96 + 7) < end);
3213 *p.offset(prime_ * 96 + 7) &= 127;
3214 safe_assert!(start <= p.wrapping_offset(prime_ * 100 + 8) &&
3215 p.wrapping_offset(prime_ * 100 + 8) < end);
3216 *p.offset(prime_ * 100 + 8) &= 253;
3217 safe_assert!(start <= p.wrapping_offset(prime_ * 102 + 8) &&
3218 p.wrapping_offset(prime_ * 102 + 8) < end);
3219 *p.offset(prime_ * 102 + 8) &= 251;
3220 safe_assert!(start <= p.wrapping_offset(prime_ * 106 + 8) &&
3221 p.wrapping_offset(prime_ * 106 + 8) < end);
3222 *p.offset(prime_ * 106 + 8) &= 223;
3223 safe_assert!(start <= p.wrapping_offset(prime_ * 108 + 8) &&
3224 p.wrapping_offset(prime_ * 108 + 8) < end);
3225 *p.offset(prime_ * 108 + 8) &= 191;
3226 safe_assert!(start <= p.wrapping_offset(prime_ * 112 + 9) &&
3227 p.wrapping_offset(prime_ * 112 + 9) < end);
3228 *p.offset(prime_ * 112 + 9) &= 254;
3229 safe_assert!(start <= p.wrapping_offset(prime_ * 120 + 9) &&
3230 p.wrapping_offset(prime_ * 120 + 9) < end);
3231 *p.offset(prime_ * 120 + 9) &= 239;
3232 safe_assert!(start <= p.wrapping_offset(prime_ * 126 + 10) &&
3233 p.wrapping_offset(prime_ * 126 + 10) < end);
3234 *p.offset(prime_ * 126 + 10) &= 127;
3235 safe_assert!(start <= p.wrapping_offset(prime_ * 130 + 10) &&
3236 p.wrapping_offset(prime_ * 130 + 10) < end);
3237 *p.offset(prime_ * 130 + 10) &= 253;
3238 safe_assert!(start <= p.wrapping_offset(prime_ * 136 + 11) &&
3239 p.wrapping_offset(prime_ * 136 + 11) < end);
3240 *p.offset(prime_ * 136 + 11) &= 223;
3241 safe_assert!(start <= p.wrapping_offset(prime_ * 138 + 11) &&
3242 p.wrapping_offset(prime_ * 138 + 11) < end);
3243 *p.offset(prime_ * 138 + 11) &= 191;
3244 safe_assert!(start <= p.wrapping_offset(prime_ * 142 + 11) &&
3245 p.wrapping_offset(prime_ * 142 + 11) < end);
3246 *p.offset(prime_ * 142 + 11) &= 254;
3247 safe_assert!(start <= p.wrapping_offset(prime_ * 148 + 12) &&
3248 p.wrapping_offset(prime_ * 148 + 12) < end);
3249 *p.offset(prime_ * 148 + 12) &= 247;
3250 safe_assert!(start <= p.wrapping_offset(prime_ * 150 + 12) &&
3251 p.wrapping_offset(prime_ * 150 + 12) < end);
3252 *p.offset(prime_ * 150 + 12) &= 239;
3253 safe_assert!(start <= p.wrapping_offset(prime_ * 156 + 12) &&
3254 p.wrapping_offset(prime_ * 156 + 12) < end);
3255 *p.offset(prime_ * 156 + 12) &= 127;
3256 safe_assert!(start <= p.wrapping_offset(prime_ * 162 + 13) &&
3257 p.wrapping_offset(prime_ * 162 + 13) < end);
3258 *p.offset(prime_ * 162 + 13) &= 251;
3259 safe_assert!(start <= p.wrapping_offset(prime_ * 166 + 13) &&
3260 p.wrapping_offset(prime_ * 166 + 13) < end);
3261 *p.offset(prime_ * 166 + 13) &= 223;
3262 safe_assert!(start <= p.wrapping_offset(prime_ * 168 + 13) &&
3263 p.wrapping_offset(prime_ * 168 + 13) < end);
3264 *p.offset(prime_ * 168 + 13) &= 191;
3265 safe_assert!(start <= p.wrapping_offset(prime_ * 172 + 14) &&
3266 p.wrapping_offset(prime_ * 172 + 14) < end);
3267 *p.offset(prime_ * 172 + 14) &= 254;
3268 safe_assert!(start <= p.wrapping_offset(prime_ * 178 + 14) &&
3269 p.wrapping_offset(prime_ * 178 + 14) < end);
3270 *p.offset(prime_ * 178 + 14) &= 247;
3271 safe_assert!(start <= p.wrapping_offset(prime_ * 180 + 14) &&
3272 p.wrapping_offset(prime_ * 180 + 14) < end);
3273 *p.offset(prime_ * 180 + 14) &= 239;
3274 safe_assert!(start <= p.wrapping_offset(prime_ * 186 + 15) &&
3275 p.wrapping_offset(prime_ * 186 + 15) < end);
3276 *p.offset(prime_ * 186 + 15) &= 127;
3277 safe_assert!(start <= p.wrapping_offset(prime_ * 190 + 15) &&
3278 p.wrapping_offset(prime_ * 190 + 15) < end);
3279 *p.offset(prime_ * 190 + 15) &= 253;
3280 safe_assert!(start <= p.wrapping_offset(prime_ * 192 + 15) &&
3281 p.wrapping_offset(prime_ * 192 + 15) < end);
3282 *p.offset(prime_ * 192 + 15) &= 251;
3283 safe_assert!(start <= p.wrapping_offset(prime_ * 196 + 15) &&
3284 p.wrapping_offset(prime_ * 196 + 15) < end);
3285 *p.offset(prime_ * 196 + 15) &= 223;
3286 safe_assert!(start <= p.wrapping_offset(prime_ * 198 + 16) &&
3287 p.wrapping_offset(prime_ * 198 + 16) < end);
3288 *p.offset(prime_ * 198 + 16) &= 191;
3289 safe_assert!(start <= p.wrapping_offset(prime_ * 208 + 16) &&
3290 p.wrapping_offset(prime_ * 208 + 16) < end);
3291 *p.offset(prime_ * 208 + 16) &= 247;
3292
3293 let p2 = p.wrapping_offset(prime_ * 210 + 19);
3294 p = if p <= p2 { p2 } else { end };
3295 }
3296 if p >= end { wi = 192; break 'outer; }
3297 safe_assert!(start <= p && p < end);
3298 *p &= 239;
3299 let p2 = p.wrapping_offset(prime_ * 10 + 6);
3300 p = if p <= p2 { p2 } else { end };
3301 break 'label193
3302 }
3303 if p >= end { wi = 193; break 'outer; }
3304 safe_assert!(start <= p && p < end);
3305 *p &= 253;
3306 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3307 p = if p <= p2 { p2 } else { end };
3308 break 'label194
3309 }
3310 if p >= end { wi = 194; break 'outer; }
3311 safe_assert!(start <= p && p < end);
3312 *p &= 251;
3313 let p2 = p.wrapping_offset(prime_ * 4 + 2);
3314 p = if p <= p2 { p2 } else { end };
3315 break 'label195
3316 }
3317 if p >= end { wi = 195; break 'outer; }
3318 safe_assert!(start <= p && p < end);
3319 *p &= 223;
3320 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3321 p = if p <= p2 { p2 } else { end };
3322 break 'label196
3323 }
3324 if p >= end { wi = 196; break 'outer; }
3325 safe_assert!(start <= p && p < end);
3326 *p &= 191;
3327 let p2 = p.wrapping_offset(prime_ * 4 + 3);
3328 p = if p <= p2 { p2 } else { end };
3329 break 'label197
3330 }
3331 if p >= end { wi = 197; break 'outer; }
3332 safe_assert!(start <= p && p < end);
3333 *p &= 254;
3334 let p2 = p.wrapping_offset(prime_ * 6 + 3);
3335 p = if p <= p2 { p2 } else { end };
3336 break 'label198
3337 }
3338 if p >= end { wi = 198; break 'outer; }
3339 safe_assert!(start <= p && p < end);
3340 *p &= 247;
3341 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3342 p = if p <= p2 { p2 } else { end };
3343 break 'label199
3344 }
3345 if p >= end { wi = 199; break 'outer; }
3346 safe_assert!(start <= p && p < end);
3347 *p &= 239;
3348 let p2 = p.wrapping_offset(prime_ * 6 + 3);
3349 p = if p <= p2 { p2 } else { end };
3350 break 'label200
3351 }
3352 if p >= end { wi = 200; break 'outer; }
3353 safe_assert!(start <= p && p < end);
3354 *p &= 127;
3355 let p2 = p.wrapping_offset(prime_ * 4 + 3);
3356 p = if p <= p2 { p2 } else { end };
3357 break 'label201
3358 }
3359 if p >= end { wi = 201; break 'outer; }
3360 safe_assert!(start <= p && p < end);
3361 *p &= 253;
3362 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3363 p = if p <= p2 { p2 } else { end };
3364 break 'label202
3365 }
3366 if p >= end { wi = 202; break 'outer; }
3367 safe_assert!(start <= p && p < end);
3368 *p &= 251;
3369 let p2 = p.wrapping_offset(prime_ * 4 + 2);
3370 p = if p <= p2 { p2 } else { end };
3371 break 'label203
3372 }
3373 if p >= end { wi = 203; break 'outer; }
3374 safe_assert!(start <= p && p < end);
3375 *p &= 223;
3376 let p2 = p.wrapping_offset(prime_ * 6 + 4);
3377 p = if p <= p2 { p2 } else { end };
3378 break 'label204
3379 }
3380 if p >= end { wi = 204; break 'outer; }
3381 safe_assert!(start <= p && p < end);
3382 *p &= 254;
3383 let p2 = p.wrapping_offset(prime_ * 6 + 3);
3384 p = if p <= p2 { p2 } else { end };
3385 break 'label205
3386 }
3387 if p >= end { wi = 205; break 'outer; }
3388 safe_assert!(start <= p && p < end);
3389 *p &= 247;
3390 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3391 p = if p <= p2 { p2 } else { end };
3392 break 'label206
3393 }
3394 if p >= end { wi = 206; break 'outer; }
3395 safe_assert!(start <= p && p < end);
3396 *p &= 239;
3397 let p2 = p.wrapping_offset(prime_ * 6 + 3);
3398 p = if p <= p2 { p2 } else { end };
3399 break 'label207
3400 }
3401 if p >= end { wi = 207; break 'outer; }
3402 safe_assert!(start <= p && p < end);
3403 *p &= 127;
3404 let p2 = p.wrapping_offset(prime_ * 4 + 3);
3405 p = if p <= p2 { p2 } else { end };
3406 break 'label208
3407 }
3408 if p >= end { wi = 208; break 'outer; }
3409 safe_assert!(start <= p && p < end);
3410 *p &= 253;
3411 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3412 p = if p <= p2 { p2 } else { end };
3413 break 'label209
3414 }
3415 if p >= end { wi = 209; break 'outer; }
3416 safe_assert!(start <= p && p < end);
3417 *p &= 251;
3418 let p2 = p.wrapping_offset(prime_ * 6 + 3);
3419 p = if p <= p2 { p2 } else { end };
3420 break 'label210
3421 }
3422 if p >= end { wi = 210; break 'outer; }
3423 safe_assert!(start <= p && p < end);
3424 *p &= 191;
3425 let p2 = p.wrapping_offset(prime_ * 4 + 3);
3426 p = if p <= p2 { p2 } else { end };
3427 break 'label211
3428 }
3429 if p >= end { wi = 211; break 'outer; }
3430 safe_assert!(start <= p && p < end);
3431 *p &= 254;
3432 let p2 = p.wrapping_offset(prime_ * 6 + 3);
3433 p = if p <= p2 { p2 } else { end };
3434 break 'label212
3435 }
3436 if p >= end { wi = 212; break 'outer; }
3437 safe_assert!(start <= p && p < end);
3438 *p &= 247;
3439 let p2 = p.wrapping_offset(prime_ * 8 + 4);
3440 p = if p <= p2 { p2 } else { end };
3441 break 'label213
3442 }
3443 if p >= end { wi = 213; break 'outer; }
3444 safe_assert!(start <= p && p < end);
3445 *p &= 127;
3446 let p2 = p.wrapping_offset(prime_ * 4 + 3);
3447 p = if p <= p2 { p2 } else { end };
3448 break 'label214
3449 }
3450 if p >= end { wi = 214; break 'outer; }
3451 safe_assert!(start <= p && p < end);
3452 *p &= 253;
3453 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3454 p = if p <= p2 { p2 } else { end };
3455 break 'label215
3456 }
3457 if p >= end { wi = 215; break 'outer; }
3458 safe_assert!(start <= p && p < end);
3459 *p &= 251;
3460 let p2 = p.wrapping_offset(prime_ * 4 + 2);
3461 p = if p <= p2 { p2 } else { end };
3462 break 'label216
3463 }
3464 if p >= end { wi = 216; break 'outer; }
3465 safe_assert!(start <= p && p < end);
3466 *p &= 223;
3467 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3468 p = if p <= p2 { p2 } else { end };
3469 break 'label217
3470 }
3471 if p >= end { wi = 217; break 'outer; }
3472 safe_assert!(start <= p && p < end);
3473 *p &= 191;
3474 let p2 = p.wrapping_offset(prime_ * 4 + 3);
3475 p = if p <= p2 { p2 } else { end };
3476 break 'label218
3477 }
3478 if p >= end { wi = 218; break 'outer; }
3479 safe_assert!(start <= p && p < end);
3480 *p &= 254;
3481 let p2 = p.wrapping_offset(prime_ * 8 + 4);
3482 p = if p <= p2 { p2 } else { end };
3483 break 'label219
3484 }
3485 if p >= end { wi = 219; break 'outer; }
3486 safe_assert!(start <= p && p < end);
3487 *p &= 239;
3488 let p2 = p.wrapping_offset(prime_ * 6 + 3);
3489 p = if p <= p2 { p2 } else { end };
3490 break 'label220
3491 }
3492 if p >= end { wi = 220; break 'outer; }
3493 safe_assert!(start <= p && p < end);
3494 *p &= 127;
3495 let p2 = p.wrapping_offset(prime_ * 4 + 3);
3496 p = if p <= p2 { p2 } else { end };
3497 break 'label221
3498 }
3499 if p >= end { wi = 221; break 'outer; }
3500 safe_assert!(start <= p && p < end);
3501 *p &= 253;
3502 let p2 = p.wrapping_offset(prime_ * 6 + 3);
3503 p = if p <= p2 { p2 } else { end };
3504 break 'label222
3505 }
3506 if p >= end { wi = 222; break 'outer; }
3507 safe_assert!(start <= p && p < end);
3508 *p &= 223;
3509 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3510 p = if p <= p2 { p2 } else { end };
3511 break 'label223
3512 }
3513 if p >= end { wi = 223; break 'outer; }
3514 safe_assert!(start <= p && p < end);
3515 *p &= 191;
3516 let p2 = p.wrapping_offset(prime_ * 4 + 3);
3517 p = if p <= p2 { p2 } else { end };
3518 break 'label224
3519 }
3520 if p >= end { wi = 224; break 'outer; }
3521 safe_assert!(start <= p && p < end);
3522 *p &= 254;
3523 let p2 = p.wrapping_offset(prime_ * 6 + 3);
3524 p = if p <= p2 { p2 } else { end };
3525 break 'label225
3526 }
3527 if p >= end { wi = 225; break 'outer; }
3528 safe_assert!(start <= p && p < end);
3529 *p &= 247;
3530 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3531 p = if p <= p2 { p2 } else { end };
3532 break 'label226
3533 }
3534 if p >= end { wi = 226; break 'outer; }
3535 safe_assert!(start <= p && p < end);
3536 *p &= 239;
3537 let p2 = p.wrapping_offset(prime_ * 6 + 3);
3538 p = if p <= p2 { p2 } else { end };
3539 break 'label227
3540 }
3541 if p >= end { wi = 227; break 'outer; }
3542 safe_assert!(start <= p && p < end);
3543 *p &= 127;
3544 let p2 = p.wrapping_offset(prime_ * 6 + 4);
3545 p = if p <= p2 { p2 } else { end };
3546 break 'label228
3547 }
3548 if p >= end { wi = 228; break 'outer; }
3549 safe_assert!(start <= p && p < end);
3550 *p &= 251;
3551 let p2 = p.wrapping_offset(prime_ * 4 + 2);
3552 p = if p <= p2 { p2 } else { end };
3553 break 'label229
3554 }
3555 if p >= end { wi = 229; break 'outer; }
3556 safe_assert!(start <= p && p < end);
3557 *p &= 223;
3558 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3559 p = if p <= p2 { p2 } else { end };
3560 break 'label230
3561 }
3562 if p >= end { wi = 230; break 'outer; }
3563 safe_assert!(start <= p && p < end);
3564 *p &= 191;
3565 let p2 = p.wrapping_offset(prime_ * 4 + 3);
3566 p = if p <= p2 { p2 } else { end };
3567 break 'label231
3568 }
3569 if p >= end { wi = 231; break 'outer; }
3570 safe_assert!(start <= p && p < end);
3571 *p &= 254;
3572 let p2 = p.wrapping_offset(prime_ * 6 + 3);
3573 p = if p <= p2 { p2 } else { end };
3574 break 'label232
3575 }
3576 if p >= end { wi = 232; break 'outer; }
3577 safe_assert!(start <= p && p < end);
3578 *p &= 247;
3579 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3580 p = if p <= p2 { p2 } else { end };
3581 break 'label233
3582 }
3583 if p >= end { wi = 233; break 'outer; }
3584 safe_assert!(start <= p && p < end);
3585 *p &= 239;
3586 let p2 = p.wrapping_offset(prime_ * 6 + 3);
3587 p = if p <= p2 { p2 } else { end };
3588 break 'label234
3589 }
3590 if p >= end { wi = 234; break 'outer; }
3591 safe_assert!(start <= p && p < end);
3592 *p &= 127;
3593 let p2 = p.wrapping_offset(prime_ * 4 + 3);
3594 p = if p <= p2 { p2 } else { end };
3595 break 'label235
3596 }
3597 if p >= end { wi = 235; break 'outer; }
3598 safe_assert!(start <= p && p < end);
3599 *p &= 253;
3600 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3601 p = if p <= p2 { p2 } else { end };
3602 break 'label236
3603 }
3604 if p >= end { wi = 236; break 'outer; }
3605 safe_assert!(start <= p && p < end);
3606 *p &= 251;
3607 let p2 = p.wrapping_offset(prime_ * 4 + 2);
3608 p = if p <= p2 { p2 } else { end };
3609 break 'label237
3610 }
3611 if p >= end { wi = 237; break 'outer; }
3612 safe_assert!(start <= p && p < end);
3613 *p &= 223;
3614 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3615 p = if p <= p2 { p2 } else { end };
3616 break 'label238
3617 }
3618 if p >= end { wi = 238; break 'outer; }
3619 safe_assert!(start <= p && p < end);
3620 *p &= 191;
3621 let p2 = p.wrapping_offset(prime_ * 10 + 6);
3622 p = if p <= p2 { p2 } else { end };
3623 break 'label239
3624 }
3625 if p >= end { wi = 239; break 'outer; }
3626 safe_assert!(start <= p && p < end);
3627 *p &= 247;
3628 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3629 p = if p <= p2 { p2 } else { end };
3630 wi = 192
3631 }
3632 }
3633 240..=287 => { // 30 * x + 23
3634 loop {
3635 'label287: loop {
3636 'label286: loop {
3637 'label285: loop {
3638 'label284: loop {
3639 'label283: loop {
3640 'label282: loop {
3641 'label281: loop {
3642 'label280: loop {
3643 'label279: loop {
3644 'label278: loop {
3645 'label277: loop {
3646 'label276: loop {
3647 'label275: loop {
3648 'label274: loop {
3649 'label273: loop {
3650 'label272: loop {
3651 'label271: loop {
3652 'label270: loop {
3653 'label269: loop {
3654 'label268: loop {
3655 'label267: loop {
3656 'label266: loop {
3657 'label265: loop {
3658 'label264: loop {
3659 'label263: loop {
3660 'label262: loop {
3661 'label261: loop {
3662 'label260: loop {
3663 'label259: loop {
3664 'label258: loop {
3665 'label257: loop {
3666 'label256: loop {
3667 'label255: loop {
3668 'label254: loop {
3669 'label253: loop {
3670 'label252: loop {
3671 'label251: loop {
3672 'label250: loop {
3673 'label249: loop {
3674 'label248: loop {
3675 'label247: loop {
3676 'label246: loop {
3677 'label245: loop {
3678 'label244: loop {
3679 'label243: loop {
3680 'label242: loop {
3681 'label241: loop {
3682 'label240: loop {
3683 match wi {
3684 240 => break 'label240,
3685 241 => break 'label241,
3686 242 => break 'label242,
3687 243 => break 'label243,
3688 244 => break 'label244,
3689 245 => break 'label245,
3690 246 => break 'label246,
3691 247 => break 'label247,
3692 248 => break 'label248,
3693 249 => break 'label249,
3694 250 => break 'label250,
3695 251 => break 'label251,
3696 252 => break 'label252,
3697 253 => break 'label253,
3698 254 => break 'label254,
3699 255 => break 'label255,
3700 256 => break 'label256,
3701 257 => break 'label257,
3702 258 => break 'label258,
3703 259 => break 'label259,
3704 260 => break 'label260,
3705 261 => break 'label261,
3706 262 => break 'label262,
3707 263 => break 'label263,
3708 264 => break 'label264,
3709 265 => break 'label265,
3710 266 => break 'label266,
3711 267 => break 'label267,
3712 268 => break 'label268,
3713 269 => break 'label269,
3714 270 => break 'label270,
3715 271 => break 'label271,
3716 272 => break 'label272,
3717 273 => break 'label273,
3718 274 => break 'label274,
3719 275 => break 'label275,
3720 276 => break 'label276,
3721 277 => break 'label277,
3722 278 => break 'label278,
3723 279 => break 'label279,
3724 280 => break 'label280,
3725 281 => break 'label281,
3726 282 => break 'label282,
3727 283 => break 'label283,
3728 284 => break 'label284,
3729 285 => break 'label285,
3730 286 => break 'label286,
3731 _ => break 'label287,
3732 }
3733 }
3734 while p < loop_end {
3735 p = crate::b(p);
3736 safe_assert!(start <= p.wrapping_offset(prime_ * 0 + 0) &&
3737 p.wrapping_offset(prime_ * 0 + 0) < end);
3738 *p.offset(prime_ * 0 + 0) &= 223;
3739 safe_assert!(start <= p.wrapping_offset(prime_ * 10 + 0) &&
3740 p.wrapping_offset(prime_ * 10 + 0) < end);
3741 *p.offset(prime_ * 10 + 0) &= 127;
3742 safe_assert!(start <= p.wrapping_offset(prime_ * 12 + 1) &&
3743 p.wrapping_offset(prime_ * 12 + 1) < end);
3744 *p.offset(prime_ * 12 + 1) &= 253;
3745 safe_assert!(start <= p.wrapping_offset(prime_ * 16 + 1) &&
3746 p.wrapping_offset(prime_ * 16 + 1) < end);
3747 *p.offset(prime_ * 16 + 1) &= 191;
3748 safe_assert!(start <= p.wrapping_offset(prime_ * 18 + 1) &&
3749 p.wrapping_offset(prime_ * 18 + 1) < end);
3750 *p.offset(prime_ * 18 + 1) &= 254;
3751 safe_assert!(start <= p.wrapping_offset(prime_ * 22 + 2) &&
3752 p.wrapping_offset(prime_ * 22 + 2) < end);
3753 *p.offset(prime_ * 22 + 2) &= 239;
3754 safe_assert!(start <= p.wrapping_offset(prime_ * 28 + 2) &&
3755 p.wrapping_offset(prime_ * 28 + 2) < end);
3756 *p.offset(prime_ * 28 + 2) &= 251;
3757 safe_assert!(start <= p.wrapping_offset(prime_ * 30 + 2) &&
3758 p.wrapping_offset(prime_ * 30 + 2) < end);
3759 *p.offset(prime_ * 30 + 2) &= 223;
3760 safe_assert!(start <= p.wrapping_offset(prime_ * 36 + 3) &&
3761 p.wrapping_offset(prime_ * 36 + 3) < end);
3762 *p.offset(prime_ * 36 + 3) &= 247;
3763 safe_assert!(start <= p.wrapping_offset(prime_ * 40 + 3) &&
3764 p.wrapping_offset(prime_ * 40 + 3) < end);
3765 *p.offset(prime_ * 40 + 3) &= 127;
3766 safe_assert!(start <= p.wrapping_offset(prime_ * 42 + 3) &&
3767 p.wrapping_offset(prime_ * 42 + 3) < end);
3768 *p.offset(prime_ * 42 + 3) &= 253;
3769 safe_assert!(start <= p.wrapping_offset(prime_ * 46 + 4) &&
3770 p.wrapping_offset(prime_ * 46 + 4) < end);
3771 *p.offset(prime_ * 46 + 4) &= 191;
3772 safe_assert!(start <= p.wrapping_offset(prime_ * 52 + 4) &&
3773 p.wrapping_offset(prime_ * 52 + 4) < end);
3774 *p.offset(prime_ * 52 + 4) &= 239;
3775 safe_assert!(start <= p.wrapping_offset(prime_ * 58 + 5) &&
3776 p.wrapping_offset(prime_ * 58 + 5) < end);
3777 *p.offset(prime_ * 58 + 5) &= 251;
3778 safe_assert!(start <= p.wrapping_offset(prime_ * 60 + 5) &&
3779 p.wrapping_offset(prime_ * 60 + 5) < end);
3780 *p.offset(prime_ * 60 + 5) &= 223;
3781 safe_assert!(start <= p.wrapping_offset(prime_ * 66 + 6) &&
3782 p.wrapping_offset(prime_ * 66 + 6) < end);
3783 *p.offset(prime_ * 66 + 6) &= 247;
3784 safe_assert!(start <= p.wrapping_offset(prime_ * 70 + 6) &&
3785 p.wrapping_offset(prime_ * 70 + 6) < end);
3786 *p.offset(prime_ * 70 + 6) &= 127;
3787 safe_assert!(start <= p.wrapping_offset(prime_ * 72 + 6) &&
3788 p.wrapping_offset(prime_ * 72 + 6) < end);
3789 *p.offset(prime_ * 72 + 6) &= 253;
3790 safe_assert!(start <= p.wrapping_offset(prime_ * 78 + 7) &&
3791 p.wrapping_offset(prime_ * 78 + 7) < end);
3792 *p.offset(prime_ * 78 + 7) &= 254;
3793 safe_assert!(start <= p.wrapping_offset(prime_ * 82 + 7) &&
3794 p.wrapping_offset(prime_ * 82 + 7) < end);
3795 *p.offset(prime_ * 82 + 7) &= 239;
3796 safe_assert!(start <= p.wrapping_offset(prime_ * 88 + 8) &&
3797 p.wrapping_offset(prime_ * 88 + 8) < end);
3798 *p.offset(prime_ * 88 + 8) &= 251;
3799 safe_assert!(start <= p.wrapping_offset(prime_ * 96 + 8) &&
3800 p.wrapping_offset(prime_ * 96 + 8) < end);
3801 *p.offset(prime_ * 96 + 8) &= 247;
3802 safe_assert!(start <= p.wrapping_offset(prime_ * 100 + 9) &&
3803 p.wrapping_offset(prime_ * 100 + 9) < end);
3804 *p.offset(prime_ * 100 + 9) &= 127;
3805 safe_assert!(start <= p.wrapping_offset(prime_ * 102 + 9) &&
3806 p.wrapping_offset(prime_ * 102 + 9) < end);
3807 *p.offset(prime_ * 102 + 9) &= 253;
3808 safe_assert!(start <= p.wrapping_offset(prime_ * 106 + 9) &&
3809 p.wrapping_offset(prime_ * 106 + 9) < end);
3810 *p.offset(prime_ * 106 + 9) &= 191;
3811 safe_assert!(start <= p.wrapping_offset(prime_ * 108 + 9) &&
3812 p.wrapping_offset(prime_ * 108 + 9) < end);
3813 *p.offset(prime_ * 108 + 9) &= 254;
3814 safe_assert!(start <= p.wrapping_offset(prime_ * 112 + 10) &&
3815 p.wrapping_offset(prime_ * 112 + 10) < end);
3816 *p.offset(prime_ * 112 + 10) &= 239;
3817 safe_assert!(start <= p.wrapping_offset(prime_ * 120 + 10) &&
3818 p.wrapping_offset(prime_ * 120 + 10) < end);
3819 *p.offset(prime_ * 120 + 10) &= 223;
3820 safe_assert!(start <= p.wrapping_offset(prime_ * 126 + 11) &&
3821 p.wrapping_offset(prime_ * 126 + 11) < end);
3822 *p.offset(prime_ * 126 + 11) &= 247;
3823 safe_assert!(start <= p.wrapping_offset(prime_ * 130 + 11) &&
3824 p.wrapping_offset(prime_ * 130 + 11) < end);
3825 *p.offset(prime_ * 130 + 11) &= 127;
3826 safe_assert!(start <= p.wrapping_offset(prime_ * 136 + 12) &&
3827 p.wrapping_offset(prime_ * 136 + 12) < end);
3828 *p.offset(prime_ * 136 + 12) &= 191;
3829 safe_assert!(start <= p.wrapping_offset(prime_ * 138 + 12) &&
3830 p.wrapping_offset(prime_ * 138 + 12) < end);
3831 *p.offset(prime_ * 138 + 12) &= 254;
3832 safe_assert!(start <= p.wrapping_offset(prime_ * 142 + 12) &&
3833 p.wrapping_offset(prime_ * 142 + 12) < end);
3834 *p.offset(prime_ * 142 + 12) &= 239;
3835 safe_assert!(start <= p.wrapping_offset(prime_ * 148 + 13) &&
3836 p.wrapping_offset(prime_ * 148 + 13) < end);
3837 *p.offset(prime_ * 148 + 13) &= 251;
3838 safe_assert!(start <= p.wrapping_offset(prime_ * 150 + 13) &&
3839 p.wrapping_offset(prime_ * 150 + 13) < end);
3840 *p.offset(prime_ * 150 + 13) &= 223;
3841 safe_assert!(start <= p.wrapping_offset(prime_ * 156 + 14) &&
3842 p.wrapping_offset(prime_ * 156 + 14) < end);
3843 *p.offset(prime_ * 156 + 14) &= 247;
3844 safe_assert!(start <= p.wrapping_offset(prime_ * 162 + 14) &&
3845 p.wrapping_offset(prime_ * 162 + 14) < end);
3846 *p.offset(prime_ * 162 + 14) &= 253;
3847 safe_assert!(start <= p.wrapping_offset(prime_ * 166 + 15) &&
3848 p.wrapping_offset(prime_ * 166 + 15) < end);
3849 *p.offset(prime_ * 166 + 15) &= 191;
3850 safe_assert!(start <= p.wrapping_offset(prime_ * 168 + 15) &&
3851 p.wrapping_offset(prime_ * 168 + 15) < end);
3852 *p.offset(prime_ * 168 + 15) &= 254;
3853 safe_assert!(start <= p.wrapping_offset(prime_ * 172 + 15) &&
3854 p.wrapping_offset(prime_ * 172 + 15) < end);
3855 *p.offset(prime_ * 172 + 15) &= 239;
3856 safe_assert!(start <= p.wrapping_offset(prime_ * 178 + 16) &&
3857 p.wrapping_offset(prime_ * 178 + 16) < end);
3858 *p.offset(prime_ * 178 + 16) &= 251;
3859 safe_assert!(start <= p.wrapping_offset(prime_ * 180 + 16) &&
3860 p.wrapping_offset(prime_ * 180 + 16) < end);
3861 *p.offset(prime_ * 180 + 16) &= 223;
3862 safe_assert!(start <= p.wrapping_offset(prime_ * 186 + 16) &&
3863 p.wrapping_offset(prime_ * 186 + 16) < end);
3864 *p.offset(prime_ * 186 + 16) &= 247;
3865 safe_assert!(start <= p.wrapping_offset(prime_ * 190 + 17) &&
3866 p.wrapping_offset(prime_ * 190 + 17) < end);
3867 *p.offset(prime_ * 190 + 17) &= 127;
3868 safe_assert!(start <= p.wrapping_offset(prime_ * 192 + 17) &&
3869 p.wrapping_offset(prime_ * 192 + 17) < end);
3870 *p.offset(prime_ * 192 + 17) &= 253;
3871 safe_assert!(start <= p.wrapping_offset(prime_ * 196 + 17) &&
3872 p.wrapping_offset(prime_ * 196 + 17) < end);
3873 *p.offset(prime_ * 196 + 17) &= 191;
3874 safe_assert!(start <= p.wrapping_offset(prime_ * 198 + 18) &&
3875 p.wrapping_offset(prime_ * 198 + 18) < end);
3876 *p.offset(prime_ * 198 + 18) &= 254;
3877 safe_assert!(start <= p.wrapping_offset(prime_ * 208 + 18) &&
3878 p.wrapping_offset(prime_ * 208 + 18) < end);
3879 *p.offset(prime_ * 208 + 18) &= 251;
3880
3881 let p2 = p.wrapping_offset(prime_ * 210 + 23);
3882 p = if p <= p2 { p2 } else { end };
3883 }
3884 if p >= end { wi = 240; break 'outer; }
3885 safe_assert!(start <= p && p < end);
3886 *p &= 223;
3887 let p2 = p.wrapping_offset(prime_ * 10 + 6);
3888 p = if p <= p2 { p2 } else { end };
3889 break 'label241
3890 }
3891 if p >= end { wi = 241; break 'outer; }
3892 safe_assert!(start <= p && p < end);
3893 *p &= 127;
3894 let p2 = p.wrapping_offset(prime_ * 2 + 2);
3895 p = if p <= p2 { p2 } else { end };
3896 break 'label242
3897 }
3898 if p >= end { wi = 242; break 'outer; }
3899 safe_assert!(start <= p && p < end);
3900 *p &= 253;
3901 let p2 = p.wrapping_offset(prime_ * 4 + 2);
3902 p = if p <= p2 { p2 } else { end };
3903 break 'label243
3904 }
3905 if p >= end { wi = 243; break 'outer; }
3906 safe_assert!(start <= p && p < end);
3907 *p &= 191;
3908 let p2 = p.wrapping_offset(prime_ * 2 + 2);
3909 p = if p <= p2 { p2 } else { end };
3910 break 'label244
3911 }
3912 if p >= end { wi = 244; break 'outer; }
3913 safe_assert!(start <= p && p < end);
3914 *p &= 254;
3915 let p2 = p.wrapping_offset(prime_ * 4 + 2);
3916 p = if p <= p2 { p2 } else { end };
3917 break 'label245
3918 }
3919 if p >= end { wi = 245; break 'outer; }
3920 safe_assert!(start <= p && p < end);
3921 *p &= 239;
3922 let p2 = p.wrapping_offset(prime_ * 6 + 4);
3923 p = if p <= p2 { p2 } else { end };
3924 break 'label246
3925 }
3926 if p >= end { wi = 246; break 'outer; }
3927 safe_assert!(start <= p && p < end);
3928 *p &= 251;
3929 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3930 p = if p <= p2 { p2 } else { end };
3931 break 'label247
3932 }
3933 if p >= end { wi = 247; break 'outer; }
3934 safe_assert!(start <= p && p < end);
3935 *p &= 223;
3936 let p2 = p.wrapping_offset(prime_ * 6 + 4);
3937 p = if p <= p2 { p2 } else { end };
3938 break 'label248
3939 }
3940 if p >= end { wi = 248; break 'outer; }
3941 safe_assert!(start <= p && p < end);
3942 *p &= 247;
3943 let p2 = p.wrapping_offset(prime_ * 4 + 2);
3944 p = if p <= p2 { p2 } else { end };
3945 break 'label249
3946 }
3947 if p >= end { wi = 249; break 'outer; }
3948 safe_assert!(start <= p && p < end);
3949 *p &= 127;
3950 let p2 = p.wrapping_offset(prime_ * 2 + 2);
3951 p = if p <= p2 { p2 } else { end };
3952 break 'label250
3953 }
3954 if p >= end { wi = 250; break 'outer; }
3955 safe_assert!(start <= p && p < end);
3956 *p &= 253;
3957 let p2 = p.wrapping_offset(prime_ * 4 + 2);
3958 p = if p <= p2 { p2 } else { end };
3959 break 'label251
3960 }
3961 if p >= end { wi = 251; break 'outer; }
3962 safe_assert!(start <= p && p < end);
3963 *p &= 191;
3964 let p2 = p.wrapping_offset(prime_ * 6 + 4);
3965 p = if p <= p2 { p2 } else { end };
3966 break 'label252
3967 }
3968 if p >= end { wi = 252; break 'outer; }
3969 safe_assert!(start <= p && p < end);
3970 *p &= 239;
3971 let p2 = p.wrapping_offset(prime_ * 6 + 4);
3972 p = if p <= p2 { p2 } else { end };
3973 break 'label253
3974 }
3975 if p >= end { wi = 253; break 'outer; }
3976 safe_assert!(start <= p && p < end);
3977 *p &= 251;
3978 let p2 = p.wrapping_offset(prime_ * 2 + 1);
3979 p = if p <= p2 { p2 } else { end };
3980 break 'label254
3981 }
3982 if p >= end { wi = 254; break 'outer; }
3983 safe_assert!(start <= p && p < end);
3984 *p &= 223;
3985 let p2 = p.wrapping_offset(prime_ * 6 + 4);
3986 p = if p <= p2 { p2 } else { end };
3987 break 'label255
3988 }
3989 if p >= end { wi = 255; break 'outer; }
3990 safe_assert!(start <= p && p < end);
3991 *p &= 247;
3992 let p2 = p.wrapping_offset(prime_ * 4 + 2);
3993 p = if p <= p2 { p2 } else { end };
3994 break 'label256
3995 }
3996 if p >= end { wi = 256; break 'outer; }
3997 safe_assert!(start <= p && p < end);
3998 *p &= 127;
3999 let p2 = p.wrapping_offset(prime_ * 2 + 2);
4000 p = if p <= p2 { p2 } else { end };
4001 break 'label257
4002 }
4003 if p >= end { wi = 257; break 'outer; }
4004 safe_assert!(start <= p && p < end);
4005 *p &= 253;
4006 let p2 = p.wrapping_offset(prime_ * 6 + 4);
4007 p = if p <= p2 { p2 } else { end };
4008 break 'label258
4009 }
4010 if p >= end { wi = 258; break 'outer; }
4011 safe_assert!(start <= p && p < end);
4012 *p &= 254;
4013 let p2 = p.wrapping_offset(prime_ * 4 + 2);
4014 p = if p <= p2 { p2 } else { end };
4015 break 'label259
4016 }
4017 if p >= end { wi = 259; break 'outer; }
4018 safe_assert!(start <= p && p < end);
4019 *p &= 239;
4020 let p2 = p.wrapping_offset(prime_ * 6 + 4);
4021 p = if p <= p2 { p2 } else { end };
4022 break 'label260
4023 }
4024 if p >= end { wi = 260; break 'outer; }
4025 safe_assert!(start <= p && p < end);
4026 *p &= 251;
4027 let p2 = p.wrapping_offset(prime_ * 8 + 5);
4028 p = if p <= p2 { p2 } else { end };
4029 break 'label261
4030 }
4031 if p >= end { wi = 261; break 'outer; }
4032 safe_assert!(start <= p && p < end);
4033 *p &= 247;
4034 let p2 = p.wrapping_offset(prime_ * 4 + 2);
4035 p = if p <= p2 { p2 } else { end };
4036 break 'label262
4037 }
4038 if p >= end { wi = 262; break 'outer; }
4039 safe_assert!(start <= p && p < end);
4040 *p &= 127;
4041 let p2 = p.wrapping_offset(prime_ * 2 + 2);
4042 p = if p <= p2 { p2 } else { end };
4043 break 'label263
4044 }
4045 if p >= end { wi = 263; break 'outer; }
4046 safe_assert!(start <= p && p < end);
4047 *p &= 253;
4048 let p2 = p.wrapping_offset(prime_ * 4 + 2);
4049 p = if p <= p2 { p2 } else { end };
4050 break 'label264
4051 }
4052 if p >= end { wi = 264; break 'outer; }
4053 safe_assert!(start <= p && p < end);
4054 *p &= 191;
4055 let p2 = p.wrapping_offset(prime_ * 2 + 2);
4056 p = if p <= p2 { p2 } else { end };
4057 break 'label265
4058 }
4059 if p >= end { wi = 265; break 'outer; }
4060 safe_assert!(start <= p && p < end);
4061 *p &= 254;
4062 let p2 = p.wrapping_offset(prime_ * 4 + 2);
4063 p = if p <= p2 { p2 } else { end };
4064 break 'label266
4065 }
4066 if p >= end { wi = 266; break 'outer; }
4067 safe_assert!(start <= p && p < end);
4068 *p &= 239;
4069 let p2 = p.wrapping_offset(prime_ * 8 + 5);
4070 p = if p <= p2 { p2 } else { end };
4071 break 'label267
4072 }
4073 if p >= end { wi = 267; break 'outer; }
4074 safe_assert!(start <= p && p < end);
4075 *p &= 223;
4076 let p2 = p.wrapping_offset(prime_ * 6 + 4);
4077 p = if p <= p2 { p2 } else { end };
4078 break 'label268
4079 }
4080 if p >= end { wi = 268; break 'outer; }
4081 safe_assert!(start <= p && p < end);
4082 *p &= 247;
4083 let p2 = p.wrapping_offset(prime_ * 4 + 2);
4084 p = if p <= p2 { p2 } else { end };
4085 break 'label269
4086 }
4087 if p >= end { wi = 269; break 'outer; }
4088 safe_assert!(start <= p && p < end);
4089 *p &= 127;
4090 let p2 = p.wrapping_offset(prime_ * 6 + 4);
4091 p = if p <= p2 { p2 } else { end };
4092 break 'label270
4093 }
4094 if p >= end { wi = 270; break 'outer; }
4095 safe_assert!(start <= p && p < end);
4096 *p &= 191;
4097 let p2 = p.wrapping_offset(prime_ * 2 + 2);
4098 p = if p <= p2 { p2 } else { end };
4099 break 'label271
4100 }
4101 if p >= end { wi = 271; break 'outer; }
4102 safe_assert!(start <= p && p < end);
4103 *p &= 254;
4104 let p2 = p.wrapping_offset(prime_ * 4 + 2);
4105 p = if p <= p2 { p2 } else { end };
4106 break 'label272
4107 }
4108 if p >= end { wi = 272; break 'outer; }
4109 safe_assert!(start <= p && p < end);
4110 *p &= 239;
4111 let p2 = p.wrapping_offset(prime_ * 6 + 4);
4112 p = if p <= p2 { p2 } else { end };
4113 break 'label273
4114 }
4115 if p >= end { wi = 273; break 'outer; }
4116 safe_assert!(start <= p && p < end);
4117 *p &= 251;
4118 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4119 p = if p <= p2 { p2 } else { end };
4120 break 'label274
4121 }
4122 if p >= end { wi = 274; break 'outer; }
4123 safe_assert!(start <= p && p < end);
4124 *p &= 223;
4125 let p2 = p.wrapping_offset(prime_ * 6 + 4);
4126 p = if p <= p2 { p2 } else { end };
4127 break 'label275
4128 }
4129 if p >= end { wi = 275; break 'outer; }
4130 safe_assert!(start <= p && p < end);
4131 *p &= 247;
4132 let p2 = p.wrapping_offset(prime_ * 6 + 4);
4133 p = if p <= p2 { p2 } else { end };
4134 break 'label276
4135 }
4136 if p >= end { wi = 276; break 'outer; }
4137 safe_assert!(start <= p && p < end);
4138 *p &= 253;
4139 let p2 = p.wrapping_offset(prime_ * 4 + 2);
4140 p = if p <= p2 { p2 } else { end };
4141 break 'label277
4142 }
4143 if p >= end { wi = 277; break 'outer; }
4144 safe_assert!(start <= p && p < end);
4145 *p &= 191;
4146 let p2 = p.wrapping_offset(prime_ * 2 + 2);
4147 p = if p <= p2 { p2 } else { end };
4148 break 'label278
4149 }
4150 if p >= end { wi = 278; break 'outer; }
4151 safe_assert!(start <= p && p < end);
4152 *p &= 254;
4153 let p2 = p.wrapping_offset(prime_ * 4 + 2);
4154 p = if p <= p2 { p2 } else { end };
4155 break 'label279
4156 }
4157 if p >= end { wi = 279; break 'outer; }
4158 safe_assert!(start <= p && p < end);
4159 *p &= 239;
4160 let p2 = p.wrapping_offset(prime_ * 6 + 4);
4161 p = if p <= p2 { p2 } else { end };
4162 break 'label280
4163 }
4164 if p >= end { wi = 280; break 'outer; }
4165 safe_assert!(start <= p && p < end);
4166 *p &= 251;
4167 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4168 p = if p <= p2 { p2 } else { end };
4169 break 'label281
4170 }
4171 if p >= end { wi = 281; break 'outer; }
4172 safe_assert!(start <= p && p < end);
4173 *p &= 223;
4174 let p2 = p.wrapping_offset(prime_ * 6 + 4);
4175 p = if p <= p2 { p2 } else { end };
4176 break 'label282
4177 }
4178 if p >= end { wi = 282; break 'outer; }
4179 safe_assert!(start <= p && p < end);
4180 *p &= 247;
4181 let p2 = p.wrapping_offset(prime_ * 4 + 2);
4182 p = if p <= p2 { p2 } else { end };
4183 break 'label283
4184 }
4185 if p >= end { wi = 283; break 'outer; }
4186 safe_assert!(start <= p && p < end);
4187 *p &= 127;
4188 let p2 = p.wrapping_offset(prime_ * 2 + 2);
4189 p = if p <= p2 { p2 } else { end };
4190 break 'label284
4191 }
4192 if p >= end { wi = 284; break 'outer; }
4193 safe_assert!(start <= p && p < end);
4194 *p &= 253;
4195 let p2 = p.wrapping_offset(prime_ * 4 + 2);
4196 p = if p <= p2 { p2 } else { end };
4197 break 'label285
4198 }
4199 if p >= end { wi = 285; break 'outer; }
4200 safe_assert!(start <= p && p < end);
4201 *p &= 191;
4202 let p2 = p.wrapping_offset(prime_ * 2 + 2);
4203 p = if p <= p2 { p2 } else { end };
4204 break 'label286
4205 }
4206 if p >= end { wi = 286; break 'outer; }
4207 safe_assert!(start <= p && p < end);
4208 *p &= 254;
4209 let p2 = p.wrapping_offset(prime_ * 10 + 6);
4210 p = if p <= p2 { p2 } else { end };
4211 break 'label287
4212 }
4213 if p >= end { wi = 287; break 'outer; }
4214 safe_assert!(start <= p && p < end);
4215 *p &= 251;
4216 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4217 p = if p <= p2 { p2 } else { end };
4218 wi = 240
4219 }
4220 }
4221 288..=335 => { // 30 * x + 29
4222 loop {
4223 'label335: loop {
4224 'label334: loop {
4225 'label333: loop {
4226 'label332: loop {
4227 'label331: loop {
4228 'label330: loop {
4229 'label329: loop {
4230 'label328: loop {
4231 'label327: loop {
4232 'label326: loop {
4233 'label325: loop {
4234 'label324: loop {
4235 'label323: loop {
4236 'label322: loop {
4237 'label321: loop {
4238 'label320: loop {
4239 'label319: loop {
4240 'label318: loop {
4241 'label317: loop {
4242 'label316: loop {
4243 'label315: loop {
4244 'label314: loop {
4245 'label313: loop {
4246 'label312: loop {
4247 'label311: loop {
4248 'label310: loop {
4249 'label309: loop {
4250 'label308: loop {
4251 'label307: loop {
4252 'label306: loop {
4253 'label305: loop {
4254 'label304: loop {
4255 'label303: loop {
4256 'label302: loop {
4257 'label301: loop {
4258 'label300: loop {
4259 'label299: loop {
4260 'label298: loop {
4261 'label297: loop {
4262 'label296: loop {
4263 'label295: loop {
4264 'label294: loop {
4265 'label293: loop {
4266 'label292: loop {
4267 'label291: loop {
4268 'label290: loop {
4269 'label289: loop {
4270 'label288: loop {
4271 match wi {
4272 288 => break 'label288,
4273 289 => break 'label289,
4274 290 => break 'label290,
4275 291 => break 'label291,
4276 292 => break 'label292,
4277 293 => break 'label293,
4278 294 => break 'label294,
4279 295 => break 'label295,
4280 296 => break 'label296,
4281 297 => break 'label297,
4282 298 => break 'label298,
4283 299 => break 'label299,
4284 300 => break 'label300,
4285 301 => break 'label301,
4286 302 => break 'label302,
4287 303 => break 'label303,
4288 304 => break 'label304,
4289 305 => break 'label305,
4290 306 => break 'label306,
4291 307 => break 'label307,
4292 308 => break 'label308,
4293 309 => break 'label309,
4294 310 => break 'label310,
4295 311 => break 'label311,
4296 312 => break 'label312,
4297 313 => break 'label313,
4298 314 => break 'label314,
4299 315 => break 'label315,
4300 316 => break 'label316,
4301 317 => break 'label317,
4302 318 => break 'label318,
4303 319 => break 'label319,
4304 320 => break 'label320,
4305 321 => break 'label321,
4306 322 => break 'label322,
4307 323 => break 'label323,
4308 324 => break 'label324,
4309 325 => break 'label325,
4310 326 => break 'label326,
4311 327 => break 'label327,
4312 328 => break 'label328,
4313 329 => break 'label329,
4314 330 => break 'label330,
4315 331 => break 'label331,
4316 332 => break 'label332,
4317 333 => break 'label333,
4318 334 => break 'label334,
4319 _ => break 'label335,
4320 }
4321 }
4322 while p < loop_end {
4323 p = crate::b(p);
4324 safe_assert!(start <= p.wrapping_offset(prime_ * 0 + 0) &&
4325 p.wrapping_offset(prime_ * 0 + 0) < end);
4326 *p.offset(prime_ * 0 + 0) &= 191;
4327 safe_assert!(start <= p.wrapping_offset(prime_ * 10 + 1) &&
4328 p.wrapping_offset(prime_ * 10 + 1) < end);
4329 *p.offset(prime_ * 10 + 1) &= 247;
4330 safe_assert!(start <= p.wrapping_offset(prime_ * 12 + 1) &&
4331 p.wrapping_offset(prime_ * 12 + 1) < end);
4332 *p.offset(prime_ * 12 + 1) &= 127;
4333 safe_assert!(start <= p.wrapping_offset(prime_ * 16 + 1) &&
4334 p.wrapping_offset(prime_ * 16 + 1) < end);
4335 *p.offset(prime_ * 16 + 1) &= 254;
4336 safe_assert!(start <= p.wrapping_offset(prime_ * 18 + 2) &&
4337 p.wrapping_offset(prime_ * 18 + 2) < end);
4338 *p.offset(prime_ * 18 + 2) &= 239;
4339 safe_assert!(start <= p.wrapping_offset(prime_ * 22 + 2) &&
4340 p.wrapping_offset(prime_ * 22 + 2) < end);
4341 *p.offset(prime_ * 22 + 2) &= 223;
4342 safe_assert!(start <= p.wrapping_offset(prime_ * 28 + 3) &&
4343 p.wrapping_offset(prime_ * 28 + 3) < end);
4344 *p.offset(prime_ * 28 + 3) &= 253;
4345 safe_assert!(start <= p.wrapping_offset(prime_ * 30 + 3) &&
4346 p.wrapping_offset(prime_ * 30 + 3) < end);
4347 *p.offset(prime_ * 30 + 3) &= 191;
4348 safe_assert!(start <= p.wrapping_offset(prime_ * 36 + 4) &&
4349 p.wrapping_offset(prime_ * 36 + 4) < end);
4350 *p.offset(prime_ * 36 + 4) &= 251;
4351 safe_assert!(start <= p.wrapping_offset(prime_ * 40 + 4) &&
4352 p.wrapping_offset(prime_ * 40 + 4) < end);
4353 *p.offset(prime_ * 40 + 4) &= 247;
4354 safe_assert!(start <= p.wrapping_offset(prime_ * 42 + 4) &&
4355 p.wrapping_offset(prime_ * 42 + 4) < end);
4356 *p.offset(prime_ * 42 + 4) &= 127;
4357 safe_assert!(start <= p.wrapping_offset(prime_ * 46 + 5) &&
4358 p.wrapping_offset(prime_ * 46 + 5) < end);
4359 *p.offset(prime_ * 46 + 5) &= 254;
4360 safe_assert!(start <= p.wrapping_offset(prime_ * 52 + 5) &&
4361 p.wrapping_offset(prime_ * 52 + 5) < end);
4362 *p.offset(prime_ * 52 + 5) &= 223;
4363 safe_assert!(start <= p.wrapping_offset(prime_ * 58 + 6) &&
4364 p.wrapping_offset(prime_ * 58 + 6) < end);
4365 *p.offset(prime_ * 58 + 6) &= 253;
4366 safe_assert!(start <= p.wrapping_offset(prime_ * 60 + 6) &&
4367 p.wrapping_offset(prime_ * 60 + 6) < end);
4368 *p.offset(prime_ * 60 + 6) &= 191;
4369 safe_assert!(start <= p.wrapping_offset(prime_ * 66 + 7) &&
4370 p.wrapping_offset(prime_ * 66 + 7) < end);
4371 *p.offset(prime_ * 66 + 7) &= 251;
4372 safe_assert!(start <= p.wrapping_offset(prime_ * 70 + 7) &&
4373 p.wrapping_offset(prime_ * 70 + 7) < end);
4374 *p.offset(prime_ * 70 + 7) &= 247;
4375 safe_assert!(start <= p.wrapping_offset(prime_ * 72 + 7) &&
4376 p.wrapping_offset(prime_ * 72 + 7) < end);
4377 *p.offset(prime_ * 72 + 7) &= 127;
4378 safe_assert!(start <= p.wrapping_offset(prime_ * 78 + 8) &&
4379 p.wrapping_offset(prime_ * 78 + 8) < end);
4380 *p.offset(prime_ * 78 + 8) &= 239;
4381 safe_assert!(start <= p.wrapping_offset(prime_ * 82 + 9) &&
4382 p.wrapping_offset(prime_ * 82 + 9) < end);
4383 *p.offset(prime_ * 82 + 9) &= 223;
4384 safe_assert!(start <= p.wrapping_offset(prime_ * 88 + 9) &&
4385 p.wrapping_offset(prime_ * 88 + 9) < end);
4386 *p.offset(prime_ * 88 + 9) &= 253;
4387 safe_assert!(start <= p.wrapping_offset(prime_ * 96 + 10) &&
4388 p.wrapping_offset(prime_ * 96 + 10) < end);
4389 *p.offset(prime_ * 96 + 10) &= 251;
4390 safe_assert!(start <= p.wrapping_offset(prime_ * 100 + 11) &&
4391 p.wrapping_offset(prime_ * 100 + 11) < end);
4392 *p.offset(prime_ * 100 + 11) &= 247;
4393 safe_assert!(start <= p.wrapping_offset(prime_ * 102 + 11) &&
4394 p.wrapping_offset(prime_ * 102 + 11) < end);
4395 *p.offset(prime_ * 102 + 11) &= 127;
4396 safe_assert!(start <= p.wrapping_offset(prime_ * 106 + 11) &&
4397 p.wrapping_offset(prime_ * 106 + 11) < end);
4398 *p.offset(prime_ * 106 + 11) &= 254;
4399 safe_assert!(start <= p.wrapping_offset(prime_ * 108 + 11) &&
4400 p.wrapping_offset(prime_ * 108 + 11) < end);
4401 *p.offset(prime_ * 108 + 11) &= 239;
4402 safe_assert!(start <= p.wrapping_offset(prime_ * 112 + 12) &&
4403 p.wrapping_offset(prime_ * 112 + 12) < end);
4404 *p.offset(prime_ * 112 + 12) &= 223;
4405 safe_assert!(start <= p.wrapping_offset(prime_ * 120 + 13) &&
4406 p.wrapping_offset(prime_ * 120 + 13) < end);
4407 *p.offset(prime_ * 120 + 13) &= 191;
4408 safe_assert!(start <= p.wrapping_offset(prime_ * 126 + 13) &&
4409 p.wrapping_offset(prime_ * 126 + 13) < end);
4410 *p.offset(prime_ * 126 + 13) &= 251;
4411 safe_assert!(start <= p.wrapping_offset(prime_ * 130 + 14) &&
4412 p.wrapping_offset(prime_ * 130 + 14) < end);
4413 *p.offset(prime_ * 130 + 14) &= 247;
4414 safe_assert!(start <= p.wrapping_offset(prime_ * 136 + 15) &&
4415 p.wrapping_offset(prime_ * 136 + 15) < end);
4416 *p.offset(prime_ * 136 + 15) &= 254;
4417 safe_assert!(start <= p.wrapping_offset(prime_ * 138 + 15) &&
4418 p.wrapping_offset(prime_ * 138 + 15) < end);
4419 *p.offset(prime_ * 138 + 15) &= 239;
4420 safe_assert!(start <= p.wrapping_offset(prime_ * 142 + 15) &&
4421 p.wrapping_offset(prime_ * 142 + 15) < end);
4422 *p.offset(prime_ * 142 + 15) &= 223;
4423 safe_assert!(start <= p.wrapping_offset(prime_ * 148 + 16) &&
4424 p.wrapping_offset(prime_ * 148 + 16) < end);
4425 *p.offset(prime_ * 148 + 16) &= 253;
4426 safe_assert!(start <= p.wrapping_offset(prime_ * 150 + 16) &&
4427 p.wrapping_offset(prime_ * 150 + 16) < end);
4428 *p.offset(prime_ * 150 + 16) &= 191;
4429 safe_assert!(start <= p.wrapping_offset(prime_ * 156 + 17) &&
4430 p.wrapping_offset(prime_ * 156 + 17) < end);
4431 *p.offset(prime_ * 156 + 17) &= 251;
4432 safe_assert!(start <= p.wrapping_offset(prime_ * 162 + 17) &&
4433 p.wrapping_offset(prime_ * 162 + 17) < end);
4434 *p.offset(prime_ * 162 + 17) &= 127;
4435 safe_assert!(start <= p.wrapping_offset(prime_ * 166 + 18) &&
4436 p.wrapping_offset(prime_ * 166 + 18) < end);
4437 *p.offset(prime_ * 166 + 18) &= 254;
4438 safe_assert!(start <= p.wrapping_offset(prime_ * 168 + 18) &&
4439 p.wrapping_offset(prime_ * 168 + 18) < end);
4440 *p.offset(prime_ * 168 + 18) &= 239;
4441 safe_assert!(start <= p.wrapping_offset(prime_ * 172 + 18) &&
4442 p.wrapping_offset(prime_ * 172 + 18) < end);
4443 *p.offset(prime_ * 172 + 18) &= 223;
4444 safe_assert!(start <= p.wrapping_offset(prime_ * 178 + 19) &&
4445 p.wrapping_offset(prime_ * 178 + 19) < end);
4446 *p.offset(prime_ * 178 + 19) &= 253;
4447 safe_assert!(start <= p.wrapping_offset(prime_ * 180 + 19) &&
4448 p.wrapping_offset(prime_ * 180 + 19) < end);
4449 *p.offset(prime_ * 180 + 19) &= 191;
4450 safe_assert!(start <= p.wrapping_offset(prime_ * 186 + 20) &&
4451 p.wrapping_offset(prime_ * 186 + 20) < end);
4452 *p.offset(prime_ * 186 + 20) &= 251;
4453 safe_assert!(start <= p.wrapping_offset(prime_ * 190 + 20) &&
4454 p.wrapping_offset(prime_ * 190 + 20) < end);
4455 *p.offset(prime_ * 190 + 20) &= 247;
4456 safe_assert!(start <= p.wrapping_offset(prime_ * 192 + 21) &&
4457 p.wrapping_offset(prime_ * 192 + 21) < end);
4458 *p.offset(prime_ * 192 + 21) &= 127;
4459 safe_assert!(start <= p.wrapping_offset(prime_ * 196 + 21) &&
4460 p.wrapping_offset(prime_ * 196 + 21) < end);
4461 *p.offset(prime_ * 196 + 21) &= 254;
4462 safe_assert!(start <= p.wrapping_offset(prime_ * 198 + 21) &&
4463 p.wrapping_offset(prime_ * 198 + 21) < end);
4464 *p.offset(prime_ * 198 + 21) &= 239;
4465 safe_assert!(start <= p.wrapping_offset(prime_ * 208 + 22) &&
4466 p.wrapping_offset(prime_ * 208 + 22) < end);
4467 *p.offset(prime_ * 208 + 22) &= 253;
4468
4469 let p2 = p.wrapping_offset(prime_ * 210 + 29);
4470 p = if p <= p2 { p2 } else { end };
4471 }
4472 if p >= end { wi = 288; break 'outer; }
4473 safe_assert!(start <= p && p < end);
4474 *p &= 191;
4475 let p2 = p.wrapping_offset(prime_ * 10 + 8);
4476 p = if p <= p2 { p2 } else { end };
4477 break 'label289
4478 }
4479 if p >= end { wi = 289; break 'outer; }
4480 safe_assert!(start <= p && p < end);
4481 *p &= 247;
4482 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4483 p = if p <= p2 { p2 } else { end };
4484 break 'label290
4485 }
4486 if p >= end { wi = 290; break 'outer; }
4487 safe_assert!(start <= p && p < end);
4488 *p &= 127;
4489 let p2 = p.wrapping_offset(prime_ * 4 + 4);
4490 p = if p <= p2 { p2 } else { end };
4491 break 'label291
4492 }
4493 if p >= end { wi = 291; break 'outer; }
4494 safe_assert!(start <= p && p < end);
4495 *p &= 254;
4496 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4497 p = if p <= p2 { p2 } else { end };
4498 break 'label292
4499 }
4500 if p >= end { wi = 292; break 'outer; }
4501 safe_assert!(start <= p && p < end);
4502 *p &= 239;
4503 let p2 = p.wrapping_offset(prime_ * 4 + 3);
4504 p = if p <= p2 { p2 } else { end };
4505 break 'label293
4506 }
4507 if p >= end { wi = 293; break 'outer; }
4508 safe_assert!(start <= p && p < end);
4509 *p &= 223;
4510 let p2 = p.wrapping_offset(prime_ * 6 + 5);
4511 p = if p <= p2 { p2 } else { end };
4512 break 'label294
4513 }
4514 if p >= end { wi = 294; break 'outer; }
4515 safe_assert!(start <= p && p < end);
4516 *p &= 253;
4517 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4518 p = if p <= p2 { p2 } else { end };
4519 break 'label295
4520 }
4521 if p >= end { wi = 295; break 'outer; }
4522 safe_assert!(start <= p && p < end);
4523 *p &= 191;
4524 let p2 = p.wrapping_offset(prime_ * 6 + 5);
4525 p = if p <= p2 { p2 } else { end };
4526 break 'label296
4527 }
4528 if p >= end { wi = 296; break 'outer; }
4529 safe_assert!(start <= p && p < end);
4530 *p &= 251;
4531 let p2 = p.wrapping_offset(prime_ * 4 + 3);
4532 p = if p <= p2 { p2 } else { end };
4533 break 'label297
4534 }
4535 if p >= end { wi = 297; break 'outer; }
4536 safe_assert!(start <= p && p < end);
4537 *p &= 247;
4538 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4539 p = if p <= p2 { p2 } else { end };
4540 break 'label298
4541 }
4542 if p >= end { wi = 298; break 'outer; }
4543 safe_assert!(start <= p && p < end);
4544 *p &= 127;
4545 let p2 = p.wrapping_offset(prime_ * 4 + 4);
4546 p = if p <= p2 { p2 } else { end };
4547 break 'label299
4548 }
4549 if p >= end { wi = 299; break 'outer; }
4550 safe_assert!(start <= p && p < end);
4551 *p &= 254;
4552 let p2 = p.wrapping_offset(prime_ * 6 + 4);
4553 p = if p <= p2 { p2 } else { end };
4554 break 'label300
4555 }
4556 if p >= end { wi = 300; break 'outer; }
4557 safe_assert!(start <= p && p < end);
4558 *p &= 223;
4559 let p2 = p.wrapping_offset(prime_ * 6 + 5);
4560 p = if p <= p2 { p2 } else { end };
4561 break 'label301
4562 }
4563 if p >= end { wi = 301; break 'outer; }
4564 safe_assert!(start <= p && p < end);
4565 *p &= 253;
4566 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4567 p = if p <= p2 { p2 } else { end };
4568 break 'label302
4569 }
4570 if p >= end { wi = 302; break 'outer; }
4571 safe_assert!(start <= p && p < end);
4572 *p &= 191;
4573 let p2 = p.wrapping_offset(prime_ * 6 + 5);
4574 p = if p <= p2 { p2 } else { end };
4575 break 'label303
4576 }
4577 if p >= end { wi = 303; break 'outer; }
4578 safe_assert!(start <= p && p < end);
4579 *p &= 251;
4580 let p2 = p.wrapping_offset(prime_ * 4 + 3);
4581 p = if p <= p2 { p2 } else { end };
4582 break 'label304
4583 }
4584 if p >= end { wi = 304; break 'outer; }
4585 safe_assert!(start <= p && p < end);
4586 *p &= 247;
4587 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4588 p = if p <= p2 { p2 } else { end };
4589 break 'label305
4590 }
4591 if p >= end { wi = 305; break 'outer; }
4592 safe_assert!(start <= p && p < end);
4593 *p &= 127;
4594 let p2 = p.wrapping_offset(prime_ * 6 + 5);
4595 p = if p <= p2 { p2 } else { end };
4596 break 'label306
4597 }
4598 if p >= end { wi = 306; break 'outer; }
4599 safe_assert!(start <= p && p < end);
4600 *p &= 239;
4601 let p2 = p.wrapping_offset(prime_ * 4 + 3);
4602 p = if p <= p2 { p2 } else { end };
4603 break 'label307
4604 }
4605 if p >= end { wi = 307; break 'outer; }
4606 safe_assert!(start <= p && p < end);
4607 *p &= 223;
4608 let p2 = p.wrapping_offset(prime_ * 6 + 5);
4609 p = if p <= p2 { p2 } else { end };
4610 break 'label308
4611 }
4612 if p >= end { wi = 308; break 'outer; }
4613 safe_assert!(start <= p && p < end);
4614 *p &= 253;
4615 let p2 = p.wrapping_offset(prime_ * 8 + 6);
4616 p = if p <= p2 { p2 } else { end };
4617 break 'label309
4618 }
4619 if p >= end { wi = 309; break 'outer; }
4620 safe_assert!(start <= p && p < end);
4621 *p &= 251;
4622 let p2 = p.wrapping_offset(prime_ * 4 + 3);
4623 p = if p <= p2 { p2 } else { end };
4624 break 'label310
4625 }
4626 if p >= end { wi = 310; break 'outer; }
4627 safe_assert!(start <= p && p < end);
4628 *p &= 247;
4629 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4630 p = if p <= p2 { p2 } else { end };
4631 break 'label311
4632 }
4633 if p >= end { wi = 311; break 'outer; }
4634 safe_assert!(start <= p && p < end);
4635 *p &= 127;
4636 let p2 = p.wrapping_offset(prime_ * 4 + 4);
4637 p = if p <= p2 { p2 } else { end };
4638 break 'label312
4639 }
4640 if p >= end { wi = 312; break 'outer; }
4641 safe_assert!(start <= p && p < end);
4642 *p &= 254;
4643 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4644 p = if p <= p2 { p2 } else { end };
4645 break 'label313
4646 }
4647 if p >= end { wi = 313; break 'outer; }
4648 safe_assert!(start <= p && p < end);
4649 *p &= 239;
4650 let p2 = p.wrapping_offset(prime_ * 4 + 3);
4651 p = if p <= p2 { p2 } else { end };
4652 break 'label314
4653 }
4654 if p >= end { wi = 314; break 'outer; }
4655 safe_assert!(start <= p && p < end);
4656 *p &= 223;
4657 let p2 = p.wrapping_offset(prime_ * 8 + 6);
4658 p = if p <= p2 { p2 } else { end };
4659 break 'label315
4660 }
4661 if p >= end { wi = 315; break 'outer; }
4662 safe_assert!(start <= p && p < end);
4663 *p &= 191;
4664 let p2 = p.wrapping_offset(prime_ * 6 + 5);
4665 p = if p <= p2 { p2 } else { end };
4666 break 'label316
4667 }
4668 if p >= end { wi = 316; break 'outer; }
4669 safe_assert!(start <= p && p < end);
4670 *p &= 251;
4671 let p2 = p.wrapping_offset(prime_ * 4 + 3);
4672 p = if p <= p2 { p2 } else { end };
4673 break 'label317
4674 }
4675 if p >= end { wi = 317; break 'outer; }
4676 safe_assert!(start <= p && p < end);
4677 *p &= 247;
4678 let p2 = p.wrapping_offset(prime_ * 6 + 5);
4679 p = if p <= p2 { p2 } else { end };
4680 break 'label318
4681 }
4682 if p >= end { wi = 318; break 'outer; }
4683 safe_assert!(start <= p && p < end);
4684 *p &= 254;
4685 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4686 p = if p <= p2 { p2 } else { end };
4687 break 'label319
4688 }
4689 if p >= end { wi = 319; break 'outer; }
4690 safe_assert!(start <= p && p < end);
4691 *p &= 239;
4692 let p2 = p.wrapping_offset(prime_ * 4 + 3);
4693 p = if p <= p2 { p2 } else { end };
4694 break 'label320
4695 }
4696 if p >= end { wi = 320; break 'outer; }
4697 safe_assert!(start <= p && p < end);
4698 *p &= 223;
4699 let p2 = p.wrapping_offset(prime_ * 6 + 5);
4700 p = if p <= p2 { p2 } else { end };
4701 break 'label321
4702 }
4703 if p >= end { wi = 321; break 'outer; }
4704 safe_assert!(start <= p && p < end);
4705 *p &= 253;
4706 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4707 p = if p <= p2 { p2 } else { end };
4708 break 'label322
4709 }
4710 if p >= end { wi = 322; break 'outer; }
4711 safe_assert!(start <= p && p < end);
4712 *p &= 191;
4713 let p2 = p.wrapping_offset(prime_ * 6 + 5);
4714 p = if p <= p2 { p2 } else { end };
4715 break 'label323
4716 }
4717 if p >= end { wi = 323; break 'outer; }
4718 safe_assert!(start <= p && p < end);
4719 *p &= 251;
4720 let p2 = p.wrapping_offset(prime_ * 6 + 4);
4721 p = if p <= p2 { p2 } else { end };
4722 break 'label324
4723 }
4724 if p >= end { wi = 324; break 'outer; }
4725 safe_assert!(start <= p && p < end);
4726 *p &= 127;
4727 let p2 = p.wrapping_offset(prime_ * 4 + 4);
4728 p = if p <= p2 { p2 } else { end };
4729 break 'label325
4730 }
4731 if p >= end { wi = 325; break 'outer; }
4732 safe_assert!(start <= p && p < end);
4733 *p &= 254;
4734 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4735 p = if p <= p2 { p2 } else { end };
4736 break 'label326
4737 }
4738 if p >= end { wi = 326; break 'outer; }
4739 safe_assert!(start <= p && p < end);
4740 *p &= 239;
4741 let p2 = p.wrapping_offset(prime_ * 4 + 3);
4742 p = if p <= p2 { p2 } else { end };
4743 break 'label327
4744 }
4745 if p >= end { wi = 327; break 'outer; }
4746 safe_assert!(start <= p && p < end);
4747 *p &= 223;
4748 let p2 = p.wrapping_offset(prime_ * 6 + 5);
4749 p = if p <= p2 { p2 } else { end };
4750 break 'label328
4751 }
4752 if p >= end { wi = 328; break 'outer; }
4753 safe_assert!(start <= p && p < end);
4754 *p &= 253;
4755 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4756 p = if p <= p2 { p2 } else { end };
4757 break 'label329
4758 }
4759 if p >= end { wi = 329; break 'outer; }
4760 safe_assert!(start <= p && p < end);
4761 *p &= 191;
4762 let p2 = p.wrapping_offset(prime_ * 6 + 5);
4763 p = if p <= p2 { p2 } else { end };
4764 break 'label330
4765 }
4766 if p >= end { wi = 330; break 'outer; }
4767 safe_assert!(start <= p && p < end);
4768 *p &= 251;
4769 let p2 = p.wrapping_offset(prime_ * 4 + 3);
4770 p = if p <= p2 { p2 } else { end };
4771 break 'label331
4772 }
4773 if p >= end { wi = 331; break 'outer; }
4774 safe_assert!(start <= p && p < end);
4775 *p &= 247;
4776 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4777 p = if p <= p2 { p2 } else { end };
4778 break 'label332
4779 }
4780 if p >= end { wi = 332; break 'outer; }
4781 safe_assert!(start <= p && p < end);
4782 *p &= 127;
4783 let p2 = p.wrapping_offset(prime_ * 4 + 4);
4784 p = if p <= p2 { p2 } else { end };
4785 break 'label333
4786 }
4787 if p >= end { wi = 333; break 'outer; }
4788 safe_assert!(start <= p && p < end);
4789 *p &= 254;
4790 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4791 p = if p <= p2 { p2 } else { end };
4792 break 'label334
4793 }
4794 if p >= end { wi = 334; break 'outer; }
4795 safe_assert!(start <= p && p < end);
4796 *p &= 239;
4797 let p2 = p.wrapping_offset(prime_ * 10 + 8);
4798 p = if p <= p2 { p2 } else { end };
4799 break 'label335
4800 }
4801 if p >= end { wi = 335; break 'outer; }
4802 safe_assert!(start <= p && p < end);
4803 *p &= 253;
4804 let p2 = p.wrapping_offset(prime_ * 2 + 1);
4805 p = if p <= p2 { p2 } else { end };
4806 wi = 288
4807 }
4808 }
4809 336..=383 => { // 30 * x + 31
4810 loop {
4811 'label383: loop {
4812 'label382: loop {
4813 'label381: loop {
4814 'label380: loop {
4815 'label379: loop {
4816 'label378: loop {
4817 'label377: loop {
4818 'label376: loop {
4819 'label375: loop {
4820 'label374: loop {
4821 'label373: loop {
4822 'label372: loop {
4823 'label371: loop {
4824 'label370: loop {
4825 'label369: loop {
4826 'label368: loop {
4827 'label367: loop {
4828 'label366: loop {
4829 'label365: loop {
4830 'label364: loop {
4831 'label363: loop {
4832 'label362: loop {
4833 'label361: loop {
4834 'label360: loop {
4835 'label359: loop {
4836 'label358: loop {
4837 'label357: loop {
4838 'label356: loop {
4839 'label355: loop {
4840 'label354: loop {
4841 'label353: loop {
4842 'label352: loop {
4843 'label351: loop {
4844 'label350: loop {
4845 'label349: loop {
4846 'label348: loop {
4847 'label347: loop {
4848 'label346: loop {
4849 'label345: loop {
4850 'label344: loop {
4851 'label343: loop {
4852 'label342: loop {
4853 'label341: loop {
4854 'label340: loop {
4855 'label339: loop {
4856 'label338: loop {
4857 'label337: loop {
4858 'label336: loop {
4859 match wi {
4860 336 => break 'label336,
4861 337 => break 'label337,
4862 338 => break 'label338,
4863 339 => break 'label339,
4864 340 => break 'label340,
4865 341 => break 'label341,
4866 342 => break 'label342,
4867 343 => break 'label343,
4868 344 => break 'label344,
4869 345 => break 'label345,
4870 346 => break 'label346,
4871 347 => break 'label347,
4872 348 => break 'label348,
4873 349 => break 'label349,
4874 350 => break 'label350,
4875 351 => break 'label351,
4876 352 => break 'label352,
4877 353 => break 'label353,
4878 354 => break 'label354,
4879 355 => break 'label355,
4880 356 => break 'label356,
4881 357 => break 'label357,
4882 358 => break 'label358,
4883 359 => break 'label359,
4884 360 => break 'label360,
4885 361 => break 'label361,
4886 362 => break 'label362,
4887 363 => break 'label363,
4888 364 => break 'label364,
4889 365 => break 'label365,
4890 366 => break 'label366,
4891 367 => break 'label367,
4892 368 => break 'label368,
4893 369 => break 'label369,
4894 370 => break 'label370,
4895 371 => break 'label371,
4896 372 => break 'label372,
4897 373 => break 'label373,
4898 374 => break 'label374,
4899 375 => break 'label375,
4900 376 => break 'label376,
4901 377 => break 'label377,
4902 378 => break 'label378,
4903 379 => break 'label379,
4904 380 => break 'label380,
4905 381 => break 'label381,
4906 382 => break 'label382,
4907 _ => break 'label383,
4908 }
4909 }
4910 while p < loop_end {
4911 p = crate::b(p);
4912 safe_assert!(start <= p.wrapping_offset(prime_ * 0 + 0) &&
4913 p.wrapping_offset(prime_ * 0 + 0) < end);
4914 *p.offset(prime_ * 0 + 0) &= 127;
4915 safe_assert!(start <= p.wrapping_offset(prime_ * 10 + 1) &&
4916 p.wrapping_offset(prime_ * 10 + 1) < end);
4917 *p.offset(prime_ * 10 + 1) &= 223;
4918 safe_assert!(start <= p.wrapping_offset(prime_ * 12 + 1) &&
4919 p.wrapping_offset(prime_ * 12 + 1) < end);
4920 *p.offset(prime_ * 12 + 1) &= 239;
4921 safe_assert!(start <= p.wrapping_offset(prime_ * 16 + 2) &&
4922 p.wrapping_offset(prime_ * 16 + 2) < end);
4923 *p.offset(prime_ * 16 + 2) &= 247;
4924 safe_assert!(start <= p.wrapping_offset(prime_ * 18 + 2) &&
4925 p.wrapping_offset(prime_ * 18 + 2) < end);
4926 *p.offset(prime_ * 18 + 2) &= 251;
4927 safe_assert!(start <= p.wrapping_offset(prime_ * 22 + 3) &&
4928 p.wrapping_offset(prime_ * 22 + 3) < end);
4929 *p.offset(prime_ * 22 + 3) &= 253;
4930 safe_assert!(start <= p.wrapping_offset(prime_ * 28 + 4) &&
4931 p.wrapping_offset(prime_ * 28 + 4) < end);
4932 *p.offset(prime_ * 28 + 4) &= 254;
4933 safe_assert!(start <= p.wrapping_offset(prime_ * 30 + 4) &&
4934 p.wrapping_offset(prime_ * 30 + 4) < end);
4935 *p.offset(prime_ * 30 + 4) &= 127;
4936 safe_assert!(start <= p.wrapping_offset(prime_ * 36 + 5) &&
4937 p.wrapping_offset(prime_ * 36 + 5) < end);
4938 *p.offset(prime_ * 36 + 5) &= 191;
4939 safe_assert!(start <= p.wrapping_offset(prime_ * 40 + 5) &&
4940 p.wrapping_offset(prime_ * 40 + 5) < end);
4941 *p.offset(prime_ * 40 + 5) &= 223;
4942 safe_assert!(start <= p.wrapping_offset(prime_ * 42 + 5) &&
4943 p.wrapping_offset(prime_ * 42 + 5) < end);
4944 *p.offset(prime_ * 42 + 5) &= 239;
4945 safe_assert!(start <= p.wrapping_offset(prime_ * 46 + 6) &&
4946 p.wrapping_offset(prime_ * 46 + 6) < end);
4947 *p.offset(prime_ * 46 + 6) &= 247;
4948 safe_assert!(start <= p.wrapping_offset(prime_ * 52 + 7) &&
4949 p.wrapping_offset(prime_ * 52 + 7) < end);
4950 *p.offset(prime_ * 52 + 7) &= 253;
4951 safe_assert!(start <= p.wrapping_offset(prime_ * 58 + 8) &&
4952 p.wrapping_offset(prime_ * 58 + 8) < end);
4953 *p.offset(prime_ * 58 + 8) &= 254;
4954 safe_assert!(start <= p.wrapping_offset(prime_ * 60 + 8) &&
4955 p.wrapping_offset(prime_ * 60 + 8) < end);
4956 *p.offset(prime_ * 60 + 8) &= 127;
4957 safe_assert!(start <= p.wrapping_offset(prime_ * 66 + 9) &&
4958 p.wrapping_offset(prime_ * 66 + 9) < end);
4959 *p.offset(prime_ * 66 + 9) &= 191;
4960 safe_assert!(start <= p.wrapping_offset(prime_ * 70 + 9) &&
4961 p.wrapping_offset(prime_ * 70 + 9) < end);
4962 *p.offset(prime_ * 70 + 9) &= 223;
4963 safe_assert!(start <= p.wrapping_offset(prime_ * 72 + 10) &&
4964 p.wrapping_offset(prime_ * 72 + 10) < end);
4965 *p.offset(prime_ * 72 + 10) &= 239;
4966 safe_assert!(start <= p.wrapping_offset(prime_ * 78 + 10) &&
4967 p.wrapping_offset(prime_ * 78 + 10) < end);
4968 *p.offset(prime_ * 78 + 10) &= 251;
4969 safe_assert!(start <= p.wrapping_offset(prime_ * 82 + 11) &&
4970 p.wrapping_offset(prime_ * 82 + 11) < end);
4971 *p.offset(prime_ * 82 + 11) &= 253;
4972 safe_assert!(start <= p.wrapping_offset(prime_ * 88 + 12) &&
4973 p.wrapping_offset(prime_ * 88 + 12) < end);
4974 *p.offset(prime_ * 88 + 12) &= 254;
4975 safe_assert!(start <= p.wrapping_offset(prime_ * 96 + 13) &&
4976 p.wrapping_offset(prime_ * 96 + 13) < end);
4977 *p.offset(prime_ * 96 + 13) &= 191;
4978 safe_assert!(start <= p.wrapping_offset(prime_ * 100 + 13) &&
4979 p.wrapping_offset(prime_ * 100 + 13) < end);
4980 *p.offset(prime_ * 100 + 13) &= 223;
4981 safe_assert!(start <= p.wrapping_offset(prime_ * 102 + 14) &&
4982 p.wrapping_offset(prime_ * 102 + 14) < end);
4983 *p.offset(prime_ * 102 + 14) &= 239;
4984 safe_assert!(start <= p.wrapping_offset(prime_ * 106 + 14) &&
4985 p.wrapping_offset(prime_ * 106 + 14) < end);
4986 *p.offset(prime_ * 106 + 14) &= 247;
4987 safe_assert!(start <= p.wrapping_offset(prime_ * 108 + 15) &&
4988 p.wrapping_offset(prime_ * 108 + 15) < end);
4989 *p.offset(prime_ * 108 + 15) &= 251;
4990 safe_assert!(start <= p.wrapping_offset(prime_ * 112 + 15) &&
4991 p.wrapping_offset(prime_ * 112 + 15) < end);
4992 *p.offset(prime_ * 112 + 15) &= 253;
4993 safe_assert!(start <= p.wrapping_offset(prime_ * 120 + 16) &&
4994 p.wrapping_offset(prime_ * 120 + 16) < end);
4995 *p.offset(prime_ * 120 + 16) &= 127;
4996 safe_assert!(start <= p.wrapping_offset(prime_ * 126 + 17) &&
4997 p.wrapping_offset(prime_ * 126 + 17) < end);
4998 *p.offset(prime_ * 126 + 17) &= 191;
4999 safe_assert!(start <= p.wrapping_offset(prime_ * 130 + 18) &&
5000 p.wrapping_offset(prime_ * 130 + 18) < end);
5001 *p.offset(prime_ * 130 + 18) &= 223;
5002 safe_assert!(start <= p.wrapping_offset(prime_ * 136 + 18) &&
5003 p.wrapping_offset(prime_ * 136 + 18) < end);
5004 *p.offset(prime_ * 136 + 18) &= 247;
5005 safe_assert!(start <= p.wrapping_offset(prime_ * 138 + 19) &&
5006 p.wrapping_offset(prime_ * 138 + 19) < end);
5007 *p.offset(prime_ * 138 + 19) &= 251;
5008 safe_assert!(start <= p.wrapping_offset(prime_ * 142 + 19) &&
5009 p.wrapping_offset(prime_ * 142 + 19) < end);
5010 *p.offset(prime_ * 142 + 19) &= 253;
5011 safe_assert!(start <= p.wrapping_offset(prime_ * 148 + 20) &&
5012 p.wrapping_offset(prime_ * 148 + 20) < end);
5013 *p.offset(prime_ * 148 + 20) &= 254;
5014 safe_assert!(start <= p.wrapping_offset(prime_ * 150 + 20) &&
5015 p.wrapping_offset(prime_ * 150 + 20) < end);
5016 *p.offset(prime_ * 150 + 20) &= 127;
5017 safe_assert!(start <= p.wrapping_offset(prime_ * 156 + 21) &&
5018 p.wrapping_offset(prime_ * 156 + 21) < end);
5019 *p.offset(prime_ * 156 + 21) &= 191;
5020 safe_assert!(start <= p.wrapping_offset(prime_ * 162 + 22) &&
5021 p.wrapping_offset(prime_ * 162 + 22) < end);
5022 *p.offset(prime_ * 162 + 22) &= 239;
5023 safe_assert!(start <= p.wrapping_offset(prime_ * 166 + 23) &&
5024 p.wrapping_offset(prime_ * 166 + 23) < end);
5025 *p.offset(prime_ * 166 + 23) &= 247;
5026 safe_assert!(start <= p.wrapping_offset(prime_ * 168 + 23) &&
5027 p.wrapping_offset(prime_ * 168 + 23) < end);
5028 *p.offset(prime_ * 168 + 23) &= 251;
5029 safe_assert!(start <= p.wrapping_offset(prime_ * 172 + 23) &&
5030 p.wrapping_offset(prime_ * 172 + 23) < end);
5031 *p.offset(prime_ * 172 + 23) &= 253;
5032 safe_assert!(start <= p.wrapping_offset(prime_ * 178 + 24) &&
5033 p.wrapping_offset(prime_ * 178 + 24) < end);
5034 *p.offset(prime_ * 178 + 24) &= 254;
5035 safe_assert!(start <= p.wrapping_offset(prime_ * 180 + 24) &&
5036 p.wrapping_offset(prime_ * 180 + 24) < end);
5037 *p.offset(prime_ * 180 + 24) &= 127;
5038 safe_assert!(start <= p.wrapping_offset(prime_ * 186 + 25) &&
5039 p.wrapping_offset(prime_ * 186 + 25) < end);
5040 *p.offset(prime_ * 186 + 25) &= 191;
5041 safe_assert!(start <= p.wrapping_offset(prime_ * 190 + 26) &&
5042 p.wrapping_offset(prime_ * 190 + 26) < end);
5043 *p.offset(prime_ * 190 + 26) &= 223;
5044 safe_assert!(start <= p.wrapping_offset(prime_ * 192 + 26) &&
5045 p.wrapping_offset(prime_ * 192 + 26) < end);
5046 *p.offset(prime_ * 192 + 26) &= 239;
5047 safe_assert!(start <= p.wrapping_offset(prime_ * 196 + 27) &&
5048 p.wrapping_offset(prime_ * 196 + 27) < end);
5049 *p.offset(prime_ * 196 + 27) &= 247;
5050 safe_assert!(start <= p.wrapping_offset(prime_ * 198 + 27) &&
5051 p.wrapping_offset(prime_ * 198 + 27) < end);
5052 *p.offset(prime_ * 198 + 27) &= 251;
5053 safe_assert!(start <= p.wrapping_offset(prime_ * 208 + 28) &&
5054 p.wrapping_offset(prime_ * 208 + 28) < end);
5055 *p.offset(prime_ * 208 + 28) &= 254;
5056
5057 let p2 = p.wrapping_offset(prime_ * 210 + 31);
5058 p = if p <= p2 { p2 } else { end };
5059 }
5060 if p >= end { wi = 336; break 'outer; }
5061 safe_assert!(start <= p && p < end);
5062 *p &= 127;
5063 let p2 = p.wrapping_offset(prime_ * 10 + 10);
5064 p = if p <= p2 { p2 } else { end };
5065 break 'label337
5066 }
5067 if p >= end { wi = 337; break 'outer; }
5068 safe_assert!(start <= p && p < end);
5069 *p &= 223;
5070 let p2 = p.wrapping_offset(prime_ * 2 + 2);
5071 p = if p <= p2 { p2 } else { end };
5072 break 'label338
5073 }
5074 if p >= end { wi = 338; break 'outer; }
5075 safe_assert!(start <= p && p < end);
5076 *p &= 239;
5077 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5078 p = if p <= p2 { p2 } else { end };
5079 break 'label339
5080 }
5081 if p >= end { wi = 339; break 'outer; }
5082 safe_assert!(start <= p && p < end);
5083 *p &= 247;
5084 let p2 = p.wrapping_offset(prime_ * 2 + 2);
5085 p = if p <= p2 { p2 } else { end };
5086 break 'label340
5087 }
5088 if p >= end { wi = 340; break 'outer; }
5089 safe_assert!(start <= p && p < end);
5090 *p &= 251;
5091 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5092 p = if p <= p2 { p2 } else { end };
5093 break 'label341
5094 }
5095 if p >= end { wi = 341; break 'outer; }
5096 safe_assert!(start <= p && p < end);
5097 *p &= 253;
5098 let p2 = p.wrapping_offset(prime_ * 6 + 6);
5099 p = if p <= p2 { p2 } else { end };
5100 break 'label342
5101 }
5102 if p >= end { wi = 342; break 'outer; }
5103 safe_assert!(start <= p && p < end);
5104 *p &= 254;
5105 let p2 = p.wrapping_offset(prime_ * 2 + 1);
5106 p = if p <= p2 { p2 } else { end };
5107 break 'label343
5108 }
5109 if p >= end { wi = 343; break 'outer; }
5110 safe_assert!(start <= p && p < end);
5111 *p &= 127;
5112 let p2 = p.wrapping_offset(prime_ * 6 + 6);
5113 p = if p <= p2 { p2 } else { end };
5114 break 'label344
5115 }
5116 if p >= end { wi = 344; break 'outer; }
5117 safe_assert!(start <= p && p < end);
5118 *p &= 191;
5119 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5120 p = if p <= p2 { p2 } else { end };
5121 break 'label345
5122 }
5123 if p >= end { wi = 345; break 'outer; }
5124 safe_assert!(start <= p && p < end);
5125 *p &= 223;
5126 let p2 = p.wrapping_offset(prime_ * 2 + 2);
5127 p = if p <= p2 { p2 } else { end };
5128 break 'label346
5129 }
5130 if p >= end { wi = 346; break 'outer; }
5131 safe_assert!(start <= p && p < end);
5132 *p &= 239;
5133 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5134 p = if p <= p2 { p2 } else { end };
5135 break 'label347
5136 }
5137 if p >= end { wi = 347; break 'outer; }
5138 safe_assert!(start <= p && p < end);
5139 *p &= 247;
5140 let p2 = p.wrapping_offset(prime_ * 6 + 6);
5141 p = if p <= p2 { p2 } else { end };
5142 break 'label348
5143 }
5144 if p >= end { wi = 348; break 'outer; }
5145 safe_assert!(start <= p && p < end);
5146 *p &= 253;
5147 let p2 = p.wrapping_offset(prime_ * 6 + 6);
5148 p = if p <= p2 { p2 } else { end };
5149 break 'label349
5150 }
5151 if p >= end { wi = 349; break 'outer; }
5152 safe_assert!(start <= p && p < end);
5153 *p &= 254;
5154 let p2 = p.wrapping_offset(prime_ * 2 + 1);
5155 p = if p <= p2 { p2 } else { end };
5156 break 'label350
5157 }
5158 if p >= end { wi = 350; break 'outer; }
5159 safe_assert!(start <= p && p < end);
5160 *p &= 127;
5161 let p2 = p.wrapping_offset(prime_ * 6 + 6);
5162 p = if p <= p2 { p2 } else { end };
5163 break 'label351
5164 }
5165 if p >= end { wi = 351; break 'outer; }
5166 safe_assert!(start <= p && p < end);
5167 *p &= 191;
5168 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5169 p = if p <= p2 { p2 } else { end };
5170 break 'label352
5171 }
5172 if p >= end { wi = 352; break 'outer; }
5173 safe_assert!(start <= p && p < end);
5174 *p &= 223;
5175 let p2 = p.wrapping_offset(prime_ * 2 + 2);
5176 p = if p <= p2 { p2 } else { end };
5177 break 'label353
5178 }
5179 if p >= end { wi = 353; break 'outer; }
5180 safe_assert!(start <= p && p < end);
5181 *p &= 239;
5182 let p2 = p.wrapping_offset(prime_ * 6 + 6);
5183 p = if p <= p2 { p2 } else { end };
5184 break 'label354
5185 }
5186 if p >= end { wi = 354; break 'outer; }
5187 safe_assert!(start <= p && p < end);
5188 *p &= 251;
5189 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5190 p = if p <= p2 { p2 } else { end };
5191 break 'label355
5192 }
5193 if p >= end { wi = 355; break 'outer; }
5194 safe_assert!(start <= p && p < end);
5195 *p &= 253;
5196 let p2 = p.wrapping_offset(prime_ * 6 + 6);
5197 p = if p <= p2 { p2 } else { end };
5198 break 'label356
5199 }
5200 if p >= end { wi = 356; break 'outer; }
5201 safe_assert!(start <= p && p < end);
5202 *p &= 254;
5203 let p2 = p.wrapping_offset(prime_ * 8 + 7);
5204 p = if p <= p2 { p2 } else { end };
5205 break 'label357
5206 }
5207 if p >= end { wi = 357; break 'outer; }
5208 safe_assert!(start <= p && p < end);
5209 *p &= 191;
5210 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5211 p = if p <= p2 { p2 } else { end };
5212 break 'label358
5213 }
5214 if p >= end { wi = 358; break 'outer; }
5215 safe_assert!(start <= p && p < end);
5216 *p &= 223;
5217 let p2 = p.wrapping_offset(prime_ * 2 + 2);
5218 p = if p <= p2 { p2 } else { end };
5219 break 'label359
5220 }
5221 if p >= end { wi = 359; break 'outer; }
5222 safe_assert!(start <= p && p < end);
5223 *p &= 239;
5224 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5225 p = if p <= p2 { p2 } else { end };
5226 break 'label360
5227 }
5228 if p >= end { wi = 360; break 'outer; }
5229 safe_assert!(start <= p && p < end);
5230 *p &= 247;
5231 let p2 = p.wrapping_offset(prime_ * 2 + 2);
5232 p = if p <= p2 { p2 } else { end };
5233 break 'label361
5234 }
5235 if p >= end { wi = 361; break 'outer; }
5236 safe_assert!(start <= p && p < end);
5237 *p &= 251;
5238 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5239 p = if p <= p2 { p2 } else { end };
5240 break 'label362
5241 }
5242 if p >= end { wi = 362; break 'outer; }
5243 safe_assert!(start <= p && p < end);
5244 *p &= 253;
5245 let p2 = p.wrapping_offset(prime_ * 8 + 7);
5246 p = if p <= p2 { p2 } else { end };
5247 break 'label363
5248 }
5249 if p >= end { wi = 363; break 'outer; }
5250 safe_assert!(start <= p && p < end);
5251 *p &= 127;
5252 let p2 = p.wrapping_offset(prime_ * 6 + 6);
5253 p = if p <= p2 { p2 } else { end };
5254 break 'label364
5255 }
5256 if p >= end { wi = 364; break 'outer; }
5257 safe_assert!(start <= p && p < end);
5258 *p &= 191;
5259 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5260 p = if p <= p2 { p2 } else { end };
5261 break 'label365
5262 }
5263 if p >= end { wi = 365; break 'outer; }
5264 safe_assert!(start <= p && p < end);
5265 *p &= 223;
5266 let p2 = p.wrapping_offset(prime_ * 6 + 6);
5267 p = if p <= p2 { p2 } else { end };
5268 break 'label366
5269 }
5270 if p >= end { wi = 366; break 'outer; }
5271 safe_assert!(start <= p && p < end);
5272 *p &= 247;
5273 let p2 = p.wrapping_offset(prime_ * 2 + 2);
5274 p = if p <= p2 { p2 } else { end };
5275 break 'label367
5276 }
5277 if p >= end { wi = 367; break 'outer; }
5278 safe_assert!(start <= p && p < end);
5279 *p &= 251;
5280 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5281 p = if p <= p2 { p2 } else { end };
5282 break 'label368
5283 }
5284 if p >= end { wi = 368; break 'outer; }
5285 safe_assert!(start <= p && p < end);
5286 *p &= 253;
5287 let p2 = p.wrapping_offset(prime_ * 6 + 6);
5288 p = if p <= p2 { p2 } else { end };
5289 break 'label369
5290 }
5291 if p >= end { wi = 369; break 'outer; }
5292 safe_assert!(start <= p && p < end);
5293 *p &= 254;
5294 let p2 = p.wrapping_offset(prime_ * 2 + 1);
5295 p = if p <= p2 { p2 } else { end };
5296 break 'label370
5297 }
5298 if p >= end { wi = 370; break 'outer; }
5299 safe_assert!(start <= p && p < end);
5300 *p &= 127;
5301 let p2 = p.wrapping_offset(prime_ * 6 + 6);
5302 p = if p <= p2 { p2 } else { end };
5303 break 'label371
5304 }
5305 if p >= end { wi = 371; break 'outer; }
5306 safe_assert!(start <= p && p < end);
5307 *p &= 191;
5308 let p2 = p.wrapping_offset(prime_ * 6 + 6);
5309 p = if p <= p2 { p2 } else { end };
5310 break 'label372
5311 }
5312 if p >= end { wi = 372; break 'outer; }
5313 safe_assert!(start <= p && p < end);
5314 *p &= 239;
5315 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5316 p = if p <= p2 { p2 } else { end };
5317 break 'label373
5318 }
5319 if p >= end { wi = 373; break 'outer; }
5320 safe_assert!(start <= p && p < end);
5321 *p &= 247;
5322 let p2 = p.wrapping_offset(prime_ * 2 + 2);
5323 p = if p <= p2 { p2 } else { end };
5324 break 'label374
5325 }
5326 if p >= end { wi = 374; break 'outer; }
5327 safe_assert!(start <= p && p < end);
5328 *p &= 251;
5329 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5330 p = if p <= p2 { p2 } else { end };
5331 break 'label375
5332 }
5333 if p >= end { wi = 375; break 'outer; }
5334 safe_assert!(start <= p && p < end);
5335 *p &= 253;
5336 let p2 = p.wrapping_offset(prime_ * 6 + 6);
5337 p = if p <= p2 { p2 } else { end };
5338 break 'label376
5339 }
5340 if p >= end { wi = 376; break 'outer; }
5341 safe_assert!(start <= p && p < end);
5342 *p &= 254;
5343 let p2 = p.wrapping_offset(prime_ * 2 + 1);
5344 p = if p <= p2 { p2 } else { end };
5345 break 'label377
5346 }
5347 if p >= end { wi = 377; break 'outer; }
5348 safe_assert!(start <= p && p < end);
5349 *p &= 127;
5350 let p2 = p.wrapping_offset(prime_ * 6 + 6);
5351 p = if p <= p2 { p2 } else { end };
5352 break 'label378
5353 }
5354 if p >= end { wi = 378; break 'outer; }
5355 safe_assert!(start <= p && p < end);
5356 *p &= 191;
5357 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5358 p = if p <= p2 { p2 } else { end };
5359 break 'label379
5360 }
5361 if p >= end { wi = 379; break 'outer; }
5362 safe_assert!(start <= p && p < end);
5363 *p &= 223;
5364 let p2 = p.wrapping_offset(prime_ * 2 + 2);
5365 p = if p <= p2 { p2 } else { end };
5366 break 'label380
5367 }
5368 if p >= end { wi = 380; break 'outer; }
5369 safe_assert!(start <= p && p < end);
5370 *p &= 239;
5371 let p2 = p.wrapping_offset(prime_ * 4 + 4);
5372 p = if p <= p2 { p2 } else { end };
5373 break 'label381
5374 }
5375 if p >= end { wi = 381; break 'outer; }
5376 safe_assert!(start <= p && p < end);
5377 *p &= 247;
5378 let p2 = p.wrapping_offset(prime_ * 2 + 2);
5379 p = if p <= p2 { p2 } else { end };
5380 break 'label382
5381 }
5382 if p >= end { wi = 382; break 'outer; }
5383 safe_assert!(start <= p && p < end);
5384 *p &= 251;
5385 let p2 = p.wrapping_offset(prime_ * 10 + 10);
5386 p = if p <= p2 { p2 } else { end };
5387 break 'label383
5388 }
5389 if p >= end { wi = 383; break 'outer; }
5390 safe_assert!(start <= p && p < end);
5391 *p &= 254;
5392 let p2 = p.wrapping_offset(prime_ * 2 + 1);
5393 p = if p <= p2 { p2 } else { end };
5394 wi = 336
5395 }
5396 }
5397 _ => unreachable!("{}", wi),
5398 }
5399 }
5400 *si_ = (p as usize).wrapping_sub(end as usize);
5401 *wi_ = wi;
5402}