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}