summaryrefslogtreecommitdiffstats
path: root/Lib/test/decimaltestdata/decimal64.decTest
blob: a25416762ab427d18c49fac9542c2ab0efd9d521 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
------------------------------------------------------------------------
-- decimal64.decTest -- decimal eight-byte format testcases           --
-- Copyright (c) IBM Corporation, 2000, 2003.  All rights reserved.   --
------------------------------------------------------------------------
-- Please see the document "General Decimal Arithmetic Testcases"     --
-- at http://www2.hursley.ibm.com/decimal for the description of      --
-- these testcases.                                                   --
--                                                                    --
-- These testcases are experimental ('beta' versions), and they       --
-- may contain errors.  They are offered on an as-is basis.  In       --
-- particular, achieving the same results as the tests here is not    --
-- a guarantee that an implementation complies with any Standard      --
-- or specification.  The tests are not exhaustive.                   --
--                                                                    --
-- Please send comments, suggestions, and corrections to the author:  --
--   Mike Cowlishaw, IBM Fellow                                       --
--   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         --
--   mfc@uk.ibm.com                                                   --
------------------------------------------------------------------------
version: 2.39

-- This set of tests is for the eight-byte concrete representation.
-- Its characteristics are:
--
--  1 bit  sign
--  5 bits combination field
--  8 bits exponent continuation
-- 50 bits coefficient continuation
--
-- Total exponent length 10 bits
-- Total coefficient length 54 bits (16 digits)
--
-- Elimit =  767 (maximum encoded exponent)
-- Emax   =  384 (largest exponent value)
-- Emin   = -383 (smallest exponent value)
-- bias   =  398 (subtracted from encoded exponent) = -Etiny

extended:    1
precision:   16
rounding:    half_up
maxExponent: 384
minExponent: -383

-- General testcases
-- (mostly derived from the Strawman 4 document and examples)
dece001 apply   #A2300000000003D0 -> -7.50
dece002 apply   -7.50             -> #A2300000000003D0

-- Normality
dece010 apply   1234567890123456   -> #263934b9c1e28e56
dece011 apply   1234567890123456.0 -> #263934b9c1e28e56 Rounded
dece012 apply   1234567890123456.1 -> #263934b9c1e28e56 Rounded Inexact
dece013 apply  -1234567890123456   -> #a63934b9c1e28e56
dece014 apply  -1234567890123456.0 -> #a63934b9c1e28e56 Rounded
dece015 apply  -1234567890123456.1 -> #a63934b9c1e28e56 Rounded Inexact


-- Nmax and similar
dece022 apply   9.999999999999999E+384  -> #77fcff3fcff3fcff
dece023 apply   #77fcff3fcff3fcff       -> 9.999999999999999E+384
dece024 apply   1.234567890123456E+384  -> #47fd34b9c1e28e56
dece025 apply   #47fd34b9c1e28e56       -> 1.234567890123456E+384
-- fold-downs (more below)
dece030 apply   1.23E+384               -> #47fd300000000000 Clamped
dece031 apply   #47fd300000000000       -> 1.230000000000000E+384
dece032 apply   1E+384                  -> #47fc000000000000 Clamped
dece033 apply   #47fc000000000000       -> 1.000000000000000E+384

-- overflows
maxExponent: 999   -- set high so conversion causes the overflow
minExponent: -999
dece040 apply   10E+384                 -> #7800000000000000 Overflow Rounded Inexact
dece041 apply   1.000000000000000E+385  -> #7800000000000000 Overflow Rounded Inexact
maxExponent: 384
minExponent: -383

dece051 apply   12345                   -> #22380000000049c5
dece052 apply   #22380000000049c5       -> 12345
dece053 apply   1234                    -> #2238000000000534
dece054 apply   #2238000000000534       -> 1234
dece055 apply   123                     -> #22380000000000a3
dece056 apply   #22380000000000a3       -> 123
dece057 apply   12                      -> #2238000000000012
dece058 apply   #2238000000000012       -> 12
dece059 apply   1                       -> #2238000000000001
dece060 apply   #2238000000000001       -> 1
dece061 apply   1.23                    -> #22300000000000a3
dece062 apply   #22300000000000a3       -> 1.23
dece063 apply   123.45                  -> #22300000000049c5
dece064 apply   #22300000000049c5       -> 123.45

-- Nmin and below
dece071 apply   1E-383                  -> #003c000000000001
dece072 apply   #003c000000000001       -> 1E-383
dece073 apply   1.000000000000000E-383  -> #0400000000000000
dece074 apply   #0400000000000000       -> 1.000000000000000E-383
dece075 apply   1.000000000000001E-383  -> #0400000000000001
dece076 apply   #0400000000000001       -> 1.000000000000001E-383

dece077 apply   0.100000000000000E-383  -> #0000800000000000      Subnormal
dece078 apply   #0000800000000000       -> 1.00000000000000E-384  Subnormal
dece079 apply   0.000000000000010E-383  -> #0000000000000010      Subnormal
dece080 apply   #0000000000000010       -> 1.0E-397               Subnormal
dece081 apply   0.00000000000001E-383   -> #0004000000000001      Subnormal
dece082 apply   #0004000000000001       -> 1E-397                 Subnormal
dece083 apply   0.000000000000001E-383  -> #0000000000000001      Subnormal
dece084 apply   #0000000000000001       -> 1E-398                 Subnormal

-- underflows
dece090 apply   1e-398                  -> #0000000000000001  Subnormal
dece091 apply   1.9e-398                -> #0000000000000002  Subnormal Underflow Inexact Rounded
dece092 apply   1.1e-398                -> #0000000000000001  Subnormal Underflow Inexact Rounded
dece093 apply   1.00000000001e-398      -> #0000000000000001  Subnormal Underflow Inexact Rounded
dece094 apply   1.00000000000001e-398   -> #0000000000000001  Subnormal Underflow Inexact Rounded
dece095 apply   1.000000000000001e-398  -> #0000000000000001  Subnormal Underflow Inexact Rounded
dece096 apply   0.1e-398                -> #0000000000000000  Subnormal Underflow Inexact Rounded
dece097 apply   0.00000000001e-398      -> #0000000000000000  Subnormal Underflow Inexact Rounded
dece098 apply   0.00000000000001e-398   -> #0000000000000000  Subnormal Underflow Inexact Rounded
dece099 apply   0.000000000000001e-398  -> #0000000000000000  Subnormal Underflow Inexact Rounded

-- Same again, negatives
-- Nmax and similar
dece122 apply  -9.999999999999999E+384  -> #f7fcff3fcff3fcff
dece123 apply   #f7fcff3fcff3fcff       -> -9.999999999999999E+384
dece124 apply  -1.234567890123456E+384  -> #c7fd34b9c1e28e56
dece125 apply   #c7fd34b9c1e28e56       -> -1.234567890123456E+384
-- fold-downs (more below)
dece130 apply  -1.23E+384               -> #c7fd300000000000 Clamped
dece131 apply   #c7fd300000000000       -> -1.230000000000000E+384
dece132 apply  -1E+384                  -> #c7fc000000000000 Clamped
dece133 apply   #c7fc000000000000       -> -1.000000000000000E+384

-- overflows
maxExponent: 999   -- set high so conversion causes the overflow
minExponent: -999
dece140 apply  -10E+384                 -> #f800000000000000 Overflow Rounded Inexact
dece141 apply  -1.000000000000000E+385  -> #f800000000000000 Overflow Rounded Inexact
maxExponent: 384
minExponent: -383

dece151 apply  -12345                   -> #a2380000000049c5
dece152 apply   #a2380000000049c5       -> -12345
dece153 apply  -1234                    -> #a238000000000534
dece154 apply   #a238000000000534       -> -1234
dece155 apply  -123                     -> #a2380000000000a3
dece156 apply   #a2380000000000a3       -> -123
dece157 apply  -12                      -> #a238000000000012
dece158 apply   #a238000000000012       -> -12
dece159 apply  -1                       -> #a238000000000001
dece160 apply   #a238000000000001       -> -1
dece161 apply  -1.23                    -> #a2300000000000a3
dece162 apply   #a2300000000000a3       -> -1.23
dece163 apply  -123.45                  -> #a2300000000049c5
dece164 apply   #a2300000000049c5       -> -123.45

-- Nmin and below
dece171 apply  -1E-383                  -> #803c000000000001
dece172 apply   #803c000000000001       -> -1E-383
dece173 apply  -1.000000000000000E-383  -> #8400000000000000
dece174 apply   #8400000000000000       -> -1.000000000000000E-383
dece175 apply  -1.000000000000001E-383  -> #8400000000000001
dece176 apply   #8400000000000001       -> -1.000000000000001E-383

dece177 apply  -0.100000000000000E-383  -> #8000800000000000       Subnormal
dece178 apply   #8000800000000000       -> -1.00000000000000E-384  Subnormal
dece179 apply  -0.000000000000010E-383  -> #8000000000000010       Subnormal
dece180 apply   #8000000000000010       -> -1.0E-397               Subnormal
dece181 apply  -0.00000000000001E-383   -> #8004000000000001       Subnormal
dece182 apply   #8004000000000001       -> -1E-397                 Subnormal
dece183 apply  -0.000000000000001E-383  -> #8000000000000001       Subnormal
dece184 apply   #8000000000000001       -> -1E-398                 Subnormal

-- underflows
dece189 apply   -1e-398                 -> #8000000000000001  Subnormal
dece190 apply   -1.0e-398               -> #8000000000000001  Subnormal Rounded
dece191 apply   -1.9e-398               -> #8000000000000002  Subnormal Underflow Inexact Rounded
dece192 apply   -1.1e-398               -> #8000000000000001  Subnormal Underflow Inexact Rounded
dece193 apply   -1.00000000001e-398     -> #8000000000000001  Subnormal Underflow Inexact Rounded
dece194 apply   -1.00000000000001e-398  -> #8000000000000001  Subnormal Underflow Inexact Rounded
dece195 apply   -1.000000000000001e-398 -> #8000000000000001  Subnormal Underflow Inexact Rounded
dece196 apply   -0.1e-398               -> #8000000000000000  Subnormal Underflow Inexact Rounded
dece197 apply   -0.00000000001e-398     -> #8000000000000000  Subnormal Underflow Inexact Rounded
dece198 apply   -0.00000000000001e-398  -> #8000000000000000  Subnormal Underflow Inexact Rounded
dece199 apply   -0.000000000000001e-398 -> #8000000000000000  Subnormal Underflow Inexact Rounded

-- zeros
dece401 apply   0E-500                  -> #0000000000000000  Clamped
dece402 apply   0E-400                  -> #0000000000000000  Clamped
dece403 apply   0E-398                  -> #0000000000000000
dece404 apply   #0000000000000000       -> 0E-398
dece405 apply   0.000000000000000E-383  -> #0000000000000000
dece406 apply   #0000000000000000       -> 0E-398
dece407 apply   0E-2                    -> #2230000000000000
dece408 apply   #2230000000000000       -> 0.00
dece409 apply   0                       -> #2238000000000000
dece410 apply   #2238000000000000       -> 0
dece411 apply   0E+3                    -> #2244000000000000
dece412 apply   #2244000000000000       -> 0E+3
dece413 apply   0E+369                  -> #43fc000000000000
dece414 apply   #43fc000000000000       -> 0E+369
-- clamped zeros...
dece415 apply   0E+370                  -> #43fc000000000000  Clamped
dece416 apply   #43fc000000000000       -> 0E+369
dece417 apply   0E+384                  -> #43fc000000000000  Clamped
dece418 apply   #43fc000000000000       -> 0E+369
dece419 apply   0E+400                  -> #43fc000000000000  Clamped
dece420 apply   #43fc000000000000       -> 0E+369
dece421 apply   0E+500                  -> #43fc000000000000  Clamped
dece422 apply   #43fc000000000000       -> 0E+369

-- negative zeros
dece431 apply   -0E-400                 -> #8000000000000000  Clamped
dece432 apply   -0E-400                 -> #8000000000000000  Clamped
dece433 apply   -0E-398                 -> #8000000000000000
dece434 apply   #8000000000000000       -> -0E-398
dece435 apply   -0.000000000000000E-383 -> #8000000000000000
dece436 apply   #8000000000000000       -> -0E-398
dece437 apply   -0E-2                   -> #a230000000000000
dece438 apply   #a230000000000000       -> -0.00
dece439 apply   -0                      -> #a238000000000000
dece440 apply   #a238000000000000       -> -0
dece441 apply   -0E+3                   -> #a244000000000000
dece442 apply   #a244000000000000       -> -0E+3
dece443 apply   -0E+369                 -> #c3fc000000000000
dece444 apply   #c3fc000000000000       -> -0E+369
-- clamped zeros...
dece445 apply   -0E+370                 -> #c3fc000000000000  Clamped
dece446 apply   #c3fc000000000000       -> -0E+369
dece447 apply   -0E+384                 -> #c3fc000000000000  Clamped
dece448 apply   #c3fc000000000000       -> -0E+369
dece449 apply   -0E+400                 -> #c3fc000000000000  Clamped
dece450 apply   #c3fc000000000000       -> -0E+369
dece451 apply   -0E+500                 -> #c3fc000000000000  Clamped
dece452 apply   #c3fc000000000000       -> -0E+369

-- Specials
dece500 apply   Infinity          -> #7800000000000000
dece501 apply   #7878787878787878 -> #7800000000000000
dece502 apply   #7800000000000000 -> Infinity
dece503 apply   #7979797979797979 -> #7800000000000000
dece504 apply   #7900000000000000 -> Infinity
dece505 apply   #7a7a7a7a7a7a7a7a -> #7800000000000000
dece506 apply   #7a00000000000000 -> Infinity
dece507 apply   #7b7b7b7b7b7b7b7b -> #7800000000000000
dece508 apply   #7b00000000000000 -> Infinity

dece509 apply   NaN               -> #7c00000000000000
dece510 apply   #7c7c7c7c7c7c7c7c -> #7c007c7c7c7c7c7c
dece511 apply   #7c00000000000000 -> NaN
dece512 apply   #7d7d7d7d7d7d7d7d -> #7c017d7d7d7d7d7d
dece513 apply   #7d00000000000000 -> NaN
dece514 apply   #7e7e7e7e7e7e7e7e -> #7e007e7e7e7e7c7e
dece515 apply   #7e00000000000000 -> sNaN
dece516 apply   #7f7f7f7f7f7f7f7f -> #7e007f7f7f7f7c7f
dece517 apply   #7f00000000000000 -> sNaN
dece518 apply   #7fffffffffffffff -> sNaN999999999999999
dece519 apply   #7fffffffffffffff -> #7e00ff3fcff3fcff

dece520 apply   -Infinity         -> #f800000000000000
dece521 apply   #f878787878787878 -> #f800000000000000
dece522 apply   #f800000000000000 -> -Infinity
dece523 apply   #f979797979797979 -> #f800000000000000
dece524 apply   #f900000000000000 -> -Infinity
dece525 apply   #fa7a7a7a7a7a7a7a -> #f800000000000000
dece526 apply   #fa00000000000000 -> -Infinity
dece527 apply   #fb7b7b7b7b7b7b7b -> #f800000000000000
dece528 apply   #fb00000000000000 -> -Infinity

dece529 apply   -NaN              -> #fc00000000000000
dece530 apply   #fc7c7c7c7c7c7c7c -> #fc007c7c7c7c7c7c
dece531 apply   #fc00000000000000 -> -NaN
dece532 apply   #fd7d7d7d7d7d7d7d -> #fc017d7d7d7d7d7d
dece533 apply   #fd00000000000000 -> -NaN
dece534 apply   #fe7e7e7e7e7e7e7e -> #fe007e7e7e7e7c7e
dece535 apply   #fe00000000000000 -> -sNaN
dece536 apply   #ff7f7f7f7f7f7f7f -> #fe007f7f7f7f7c7f
dece537 apply   #ff00000000000000 -> -sNaN
dece538 apply   #ffffffffffffffff -> -sNaN999999999999999
dece539 apply   #ffffffffffffffff -> #fe00ff3fcff3fcff

-- diagnostic NaNs
dece540 apply   NaN                 -> #7c00000000000000
dece541 apply   NaN0                -> #7c00000000000000
dece542 apply   NaN1                -> #7c00000000000001
dece543 apply   NaN12               -> #7c00000000000012
dece544 apply   NaN79               -> #7c00000000000079
dece545 apply   NaN12345            -> #7c000000000049c5
dece546 apply   NaN123456           -> #7c00000000028e56
dece547 apply   NaN799799           -> #7c000000000f7fdf
dece548 apply   NaN799799799799799  -> #7c03dff7fdff7fdf
dece549 apply   NaN999999999999999  -> #7c00ff3fcff3fcff
dece550 apply   NaN1234567890123456 -> #7c00000000000000  -- too many digits

-- fold-down full sequence
dece601 apply   1E+384                  -> #47fc000000000000 Clamped
dece602 apply   #47fc000000000000       -> 1.000000000000000E+384
dece603 apply   1E+383                  -> #43fc800000000000 Clamped
dece604 apply   #43fc800000000000       -> 1.00000000000000E+383
dece605 apply   1E+382                  -> #43fc100000000000 Clamped
dece606 apply   #43fc100000000000       -> 1.0000000000000E+382
dece607 apply   1E+381                  -> #43fc010000000000 Clamped
dece608 apply   #43fc010000000000       -> 1.000000000000E+381
dece609 apply   1E+380                  -> #43fc002000000000 Clamped
dece610 apply   #43fc002000000000       -> 1.00000000000E+380
dece611 apply   1E+379                  -> #43fc000400000000 Clamped
dece612 apply   #43fc000400000000       -> 1.0000000000E+379
dece613 apply   1E+378                  -> #43fc000040000000 Clamped
dece614 apply   #43fc000040000000       -> 1.000000000E+378
dece615 apply   1E+377                  -> #43fc000008000000 Clamped
dece616 apply   #43fc000008000000       -> 1.00000000E+377
dece617 apply   1E+376                  -> #43fc000001000000 Clamped
dece618 apply   #43fc000001000000       -> 1.0000000E+376
dece619 apply   1E+375                  -> #43fc000000100000 Clamped
dece620 apply   #43fc000000100000       -> 1.000000E+375
dece621 apply   1E+374                  -> #43fc000000020000 Clamped
dece622 apply   #43fc000000020000       -> 1.00000E+374
dece623 apply   1E+373                  -> #43fc000000004000 Clamped
dece624 apply   #43fc000000004000       -> 1.0000E+373
dece625 apply   1E+372                  -> #43fc000000000400 Clamped
dece626 apply   #43fc000000000400       -> 1.000E+372
dece627 apply   1E+371                  -> #43fc000000000080 Clamped
dece628 apply   #43fc000000000080       -> 1.00E+371
dece629 apply   1E+370                  -> #43fc000000000010 Clamped
dece630 apply   #43fc000000000010       -> 1.0E+370
dece631 apply   1E+369                  -> #43fc000000000001
dece632 apply   #43fc000000000001       -> 1E+369
dece633 apply   1E+368                  -> #43f8000000000001
dece634 apply   #43f8000000000001       -> 1E+368
-- same with 9s
dece641 apply   9E+384                  -> #77fc000000000000 Clamped
dece642 apply   #77fc000000000000       -> 9.000000000000000E+384
dece643 apply   9E+383                  -> #43fc8c0000000000 Clamped
dece644 apply   #43fc8c0000000000       -> 9.00000000000000E+383
dece645 apply   9E+382                  -> #43fc1a0000000000 Clamped
dece646 apply   #43fc1a0000000000       -> 9.0000000000000E+382
dece647 apply   9E+381                  -> #43fc090000000000 Clamped
dece648 apply   #43fc090000000000       -> 9.000000000000E+381
dece649 apply   9E+380                  -> #43fc002300000000 Clamped
dece650 apply   #43fc002300000000       -> 9.00000000000E+380
dece651 apply   9E+379                  -> #43fc000680000000 Clamped
dece652 apply   #43fc000680000000       -> 9.0000000000E+379
dece653 apply   9E+378                  -> #43fc000240000000 Clamped
dece654 apply   #43fc000240000000       -> 9.000000000E+378
dece655 apply   9E+377                  -> #43fc000008c00000 Clamped
dece656 apply   #43fc000008c00000       -> 9.00000000E+377
dece657 apply   9E+376                  -> #43fc000001a00000 Clamped
dece658 apply   #43fc000001a00000       -> 9.0000000E+376
dece659 apply   9E+375                  -> #43fc000000900000 Clamped
dece660 apply   #43fc000000900000       -> 9.000000E+375
dece661 apply   9E+374                  -> #43fc000000023000 Clamped
dece662 apply   #43fc000000023000       -> 9.00000E+374
dece663 apply   9E+373                  -> #43fc000000006800 Clamped
dece664 apply   #43fc000000006800       -> 9.0000E+373
dece665 apply   9E+372                  -> #43fc000000002400 Clamped
dece666 apply   #43fc000000002400       -> 9.000E+372
dece667 apply   9E+371                  -> #43fc00000000008c Clamped
dece668 apply   #43fc00000000008c       -> 9.00E+371
dece669 apply   9E+370                  -> #43fc00000000001a Clamped
dece670 apply   #43fc00000000001a       -> 9.0E+370
dece671 apply   9E+369                  -> #43fc000000000009
dece672 apply   #43fc000000000009       -> 9E+369
dece673 apply   9E+368                  -> #43f8000000000009
dece674 apply   #43f8000000000009       -> 9E+368


-- Selected DPD codes
dece700 apply   #2238000000000000       -> 0
dece701 apply   #2238000000000009       -> 9
dece702 apply   #2238000000000010       -> 10
dece703 apply   #2238000000000019       -> 19
dece704 apply   #2238000000000020       -> 20
dece705 apply   #2238000000000029       -> 29
dece706 apply   #2238000000000030       -> 30
dece707 apply   #2238000000000039       -> 39
dece708 apply   #2238000000000040       -> 40
dece709 apply   #2238000000000049       -> 49
dece710 apply   #2238000000000050       -> 50
dece711 apply   #2238000000000059       -> 59
dece712 apply   #2238000000000060       -> 60
dece713 apply   #2238000000000069       -> 69
dece714 apply   #2238000000000070       -> 70
dece715 apply   #2238000000000071       -> 71
dece716 apply   #2238000000000072       -> 72
dece717 apply   #2238000000000073       -> 73
dece718 apply   #2238000000000074       -> 74
dece719 apply   #2238000000000075       -> 75
dece720 apply   #2238000000000076       -> 76
dece721 apply   #2238000000000077       -> 77
dece722 apply   #2238000000000078       -> 78
dece723 apply   #2238000000000079       -> 79

dece730 apply   #223800000000029e       -> 994
dece731 apply   #223800000000029f       -> 995
dece732 apply   #22380000000002a0       -> 520
dece733 apply   #22380000000002a1       -> 521

-- DPD: one of each of the huffman groups
dece740 apply   #22380000000003f7       -> 777
dece741 apply   #22380000000003f8       -> 778
dece742 apply   #22380000000003eb       -> 787
dece743 apply   #223800000000037d       -> 877
dece744 apply   #223800000000039f       -> 997
dece745 apply   #22380000000003bf       -> 979
dece746 apply   #22380000000003df       -> 799
dece747 apply   #223800000000006e       -> 888


-- DPD all-highs cases (includes the 24 redundant codes)
dece750 apply   #223800000000006e       -> 888
dece751 apply   #223800000000016e       -> 888
dece752 apply   #223800000000026e       -> 888
dece753 apply   #223800000000036e       -> 888
dece754 apply   #223800000000006f       -> 889
dece755 apply   #223800000000016f       -> 889
dece756 apply   #223800000000026f       -> 889
dece757 apply   #223800000000036f       -> 889

dece760 apply   #223800000000007e       -> 898
dece761 apply   #223800000000017e       -> 898
dece762 apply   #223800000000027e       -> 898
dece763 apply   #223800000000037e       -> 898
dece764 apply   #223800000000007f       -> 899
dece765 apply   #223800000000017f       -> 899
dece766 apply   #223800000000027f       -> 899
dece767 apply   #223800000000037f       -> 899

dece770 apply   #22380000000000ee       -> 988
dece771 apply   #22380000000001ee       -> 988
dece772 apply   #22380000000002ee       -> 988
dece773 apply   #22380000000003ee       -> 988
dece774 apply   #22380000000000ef       -> 989
dece775 apply   #22380000000001ef       -> 989
dece776 apply   #22380000000002ef       -> 989
dece777 apply   #22380000000003ef       -> 989

dece780 apply   #22380000000000fe       -> 998
dece781 apply   #22380000000001fe       -> 998
dece782 apply   #22380000000002fe       -> 998
dece783 apply   #22380000000003fe       -> 998
dece784 apply   #22380000000000ff       -> 999
dece785 apply   #22380000000001ff       -> 999
dece786 apply   #22380000000002ff       -> 999
dece787 apply   #22380000000003ff       -> 999