File: data.sail

package info (click to toggle)
sail-ocaml 0.19.1%2Bdfsg5-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,008 kB
  • sloc: ml: 75,941; ansic: 8,848; python: 1,342; exp: 560; sh: 474; makefile: 218; cpp: 36
file content (513 lines) | stat: -rw-r--r-- 22,371 bytes parent folder | download
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
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
/*==========================================================================*/
/*     Sail                                                                 */
/*                                                                          */
/* Copyright 2024 Intel Corporation                                         */
/*   Pan Li - pan2.li@intel.com                                             */
/*                                                                          */
/*  SPDX-License-Identifier: BSD-2-Clause                                   */
/*==========================================================================*/

$ifndef _FLOAT_DATA
$define _FLOAT_DATA

/* Half floating point */
let fp16_pos_snan_0      = 0x7c01
let fp16_pos_snan_1      = 0x7d10
let fp16_neg_snan_0      = 0xfc01
let fp16_neg_snan_1      = 0xfd10

let fp16_pos_qnan_0       = 0x7e00
let fp16_pos_qnan_1       = 0x7e01
let fp16_pos_qnan_default = 0x7e00
let fp16_neg_qnan_0       = 0xfe00
let fp16_neg_qnan_1       = 0xfe01
let fp16_neg_qnan_default = 0xfe00

let fp16_pos_inf         = 0x7c00
let fp16_neg_inf         = 0xfc00

let fp16_pos_zero        = 0x0000
let fp16_neg_zero        = 0x8000

let fp16_pos_denormal_0  = 0x0200
let fp16_pos_denormal_1  = 0x02f0
let fp16_neg_denormal_0  = 0x8200
let fp16_neg_denormal_1  = 0x82f0

let fp16_pos_normal_0    = 0x7a00
let fp16_pos_normal_1    = 0x71ff
let fp16_neg_normal_0    = 0xfa00
let fp16_neg_normal_1    = 0xf1ff

let fp16_pos_normal_add_2_op_0 = 0x04f0
let fp16_pos_normal_add_2_op_1 = 0x04fe
let fp16_pos_normal_add_2_sum  = 0x08f7

let fp16_pos_normal_add_3_op_0 = 0x74f1
let fp16_pos_normal_add_3_op_1 = 0x740f
let fp16_pos_normal_add_3_sum  = 0x7880

let fp16_neg_normal_add_4_op_0 = 0xf701
let fp16_neg_normal_add_4_op_1 = 0xf70f
let fp16_neg_normal_add_4_sum  = 0xfb08

let fp16_neg_normal_add_5_op_0 = 0xc901
let fp16_neg_normal_add_5_op_1 = 0xc9f1
let fp16_neg_normal_add_5_sum  = 0xcd79

let fp16_pos_normal_add_6_op_0     = 0x04f0
let fp16_pos_normal_add_6_op_1     = 0x0401
let fp16_pos_normal_add_6_sum_rne  = 0x0878
let fp16_pos_normal_add_6_sum_rna  = 0x0879
let fp16_pos_normal_add_6_sum_rdn  = 0x0878
let fp16_pos_normal_add_6_sum_rup  = 0x0879
let fp16_pos_normal_add_6_sum_rtz  = 0x0878

let fp16_neg_normal_add_7_op_0     = 0x88ff
let fp16_neg_normal_add_7_op_1     = 0x88fe
let fp16_neg_normal_add_7_sum_rne  = 0x8cfe
let fp16_neg_normal_add_7_sum_rna  = 0x8cff
let fp16_neg_normal_add_7_sum_rdn  = 0x8cff
let fp16_neg_normal_add_7_sum_rup  = 0x8cfe
let fp16_neg_normal_add_7_sum_rtz  = 0x8cfe

let fp16_pos_normal_add_8_op_0     = 0x070e
let fp16_pos_normal_add_8_op_1     = 0x0701
let fp16_pos_normal_add_8_sum_rne  = 0x0b08
let fp16_pos_normal_add_8_sum_rna  = 0x0b08
let fp16_pos_normal_add_8_sum_rdn  = 0x0b07
let fp16_pos_normal_add_8_sum_rup  = 0x0b08
let fp16_pos_normal_add_8_sum_rtz  = 0x0b07

let fp16_neg_normal_add_9_op_0     = 0x8400
let fp16_neg_normal_add_9_op_1     = 0x8401
let fp16_neg_normal_add_9_sum_rne  = 0x8800
let fp16_neg_normal_add_9_sum_rna  = 0x8801
let fp16_neg_normal_add_9_sum_rdn  = 0x8801
let fp16_neg_normal_add_9_sum_rup  = 0x8800
let fp16_neg_normal_add_9_sum_rtz  = 0x8800

let fp16_pos_normal_add_10_op_0     = 0x7800
let fp16_pos_normal_add_10_op_1     = 0x7800
let fp16_pos_normal_add_10_sum_rne  = 0x7c00
let fp16_pos_normal_add_10_sum_rna  = 0x7c00
let fp16_pos_normal_add_10_sum_rdn  = 0x7bff
let fp16_pos_normal_add_10_sum_rup  = 0x7c00
let fp16_pos_normal_add_10_sum_rtz  = 0x7bff

let fp16_neg_normal_add_11_op_0     = 0xfb02
let fp16_neg_normal_add_11_op_1     = 0xfbff
let fp16_neg_normal_add_11_sum_rne  = 0xfc00
let fp16_neg_normal_add_11_sum_rna  = 0xfc00
let fp16_neg_normal_add_11_sum_rdn  = 0xfc00
let fp16_neg_normal_add_11_sum_rup  = 0xfbff
let fp16_neg_normal_add_11_sum_rtz  = 0xfbff

let fp16_pos_normal_add_12_op_0     = 0x7700
let fp16_pos_normal_add_12_op_1     = 0x7701
let fp16_pos_normal_add_12_sum_rne  = 0x7b00
let fp16_pos_normal_add_12_sum_rna  = 0x7b01
let fp16_pos_normal_add_12_sum_rdn  = 0x7b00
let fp16_pos_normal_add_12_sum_rup  = 0x7b01
let fp16_pos_normal_add_12_sum_rtz  = 0x7b00

let fp16_neg_normal_add_13_op_0     = 0xf70f
let fp16_neg_normal_add_13_op_1     = 0xf7f2
let fp16_neg_normal_add_13_sum_rne  = 0xfb80
let fp16_neg_normal_add_13_sum_rna  = 0xfb81
let fp16_neg_normal_add_13_sum_rdn  = 0xfb81
let fp16_neg_normal_add_13_sum_rup  = 0xfb80
let fp16_neg_normal_add_13_sum_rtz  = 0xfb80

let fp16_pos_denormal_add_0_op_0 = 0x00ff
let fp16_pos_denormal_add_0_op_1 = 0x0021
let fp16_pos_denormal_add_0_sum  = 0x0120

let fp16_pos_denormal_add_1_op_0 = 0x03ff
let fp16_pos_denormal_add_1_op_1 = 0x0002
let fp16_pos_denormal_add_1_sum  = 0x0401

let fp16_neg_denormal_add_0_op_0 = 0x80ff
let fp16_neg_denormal_add_0_op_1 = 0x8021
let fp16_neg_denormal_add_0_sum  = 0x8120

let fp16_neg_denormal_add_1_op_0 = 0x83ff
let fp16_neg_denormal_add_1_op_1 = 0x8002
let fp16_neg_denormal_add_1_sum  = 0x8401

/* Single floating point */
let fp32_pos_snan_0      = 0x7f800001
let fp32_pos_snan_1      = 0x7f8f0000
let fp32_neg_snan_0      = 0xff800001
let fp32_neg_snan_1      = 0xff8f0000

let fp32_pos_qnan_0       = 0x7fc00000
let fp32_pos_qnan_1       = 0x7fc00001
let fp32_pos_qnan_default = 0x7fc00000
let fp32_neg_qnan_0       = 0xffc00000
let fp32_neg_qnan_1       = 0xffc00001
let fp32_neg_qnan_default = 0xffc00000

let fp32_pos_inf         = 0x7f800000
let fp32_neg_inf         = 0xff800000

let fp32_pos_zero        = 0x00000000
let fp32_neg_zero        = 0x80000000

let fp32_pos_denormal_0  = 0x00700000
let fp32_pos_denormal_1  = 0x0010ff01
let fp32_neg_denormal_0  = 0x80700000
let fp32_neg_denormal_1  = 0x8010ff01

let fp32_pos_normal_0    = 0x1a000000
let fp32_pos_normal_1    = 0x0100002f
let fp32_neg_normal_0    = 0x9a000000
let fp32_neg_normal_1    = 0x8100002f

let fp32_pos_normal_add_2_op_0 = 0x3ebd70a4
let fp32_pos_normal_add_2_op_1 = 0x3ebdfff8
let fp32_pos_normal_add_2_sum  = 0x3f3db84e

let fp32_pos_normal_add_3_op_0 = 0x7efd70a4
let fp32_pos_normal_add_3_op_1 = 0x7ef00002
let fp32_pos_normal_add_3_sum  = 0x7f76b853

let fp32_neg_normal_add_4_op_0 = 0x8901000f
let fp32_neg_normal_add_4_op_1 = 0x89311a2f
let fp32_neg_normal_add_4_sum  = 0x89990d1f

let fp32_neg_normal_add_5_op_0 = 0xf7a70102
let fp32_neg_normal_add_5_op_1 = 0xf7affff0
let fp32_neg_normal_add_5_sum  = 0xf82b8079

let fp32_pos_normal_add_6_op_0     = 0x047239f0
let fp32_pos_normal_add_6_op_1     = 0x04723021
let fp32_pos_normal_add_6_sum_rne  = 0x04f23508
let fp32_pos_normal_add_6_sum_rna  = 0x04f23509
let fp32_pos_normal_add_6_sum_rdn  = 0x04f23508
let fp32_pos_normal_add_6_sum_rup  = 0x04f23509
let fp32_pos_normal_add_6_sum_rtz  = 0x04f23508

let fp32_neg_normal_add_7_op_0     = 0xccf001ff
let fp32_neg_normal_add_7_op_1     = 0xccfffffe
let fp32_neg_normal_add_7_sum_rne  = 0xcd7800fe
let fp32_neg_normal_add_7_sum_rna  = 0xcd7800ff
let fp32_neg_normal_add_7_sum_rdn  = 0xcd7800ff
let fp32_neg_normal_add_7_sum_rup  = 0xcd7800fe
let fp32_neg_normal_add_7_sum_rtz  = 0xcd7800fe

let fp32_pos_normal_add_8_op_0     = 0x0700000e
let fp32_pos_normal_add_8_op_1     = 0x07000001
let fp32_pos_normal_add_8_sum_rne  = 0x07800008
let fp32_pos_normal_add_8_sum_rna  = 0x07800008
let fp32_pos_normal_add_8_sum_rdn  = 0x07800007
let fp32_pos_normal_add_8_sum_rup  = 0x07800008
let fp32_pos_normal_add_8_sum_rtz  = 0x07800007

let fp32_neg_normal_add_9_op_0     = 0xaeffff00
let fp32_neg_normal_add_9_op_1     = 0xaeff0e01
let fp32_neg_normal_add_9_sum_rne  = 0xaf7f8680
let fp32_neg_normal_add_9_sum_rna  = 0xaf7f8681
let fp32_neg_normal_add_9_sum_rdn  = 0xaf7f8681
let fp32_neg_normal_add_9_sum_rup  = 0xaf7f8680
let fp32_neg_normal_add_9_sum_rtz  = 0xaf7f8680

let fp32_pos_normal_add_10_op_0     = 0x7f700000
let fp32_pos_normal_add_10_op_1     = 0x7f100001
let fp32_pos_normal_add_10_sum_rne  = 0x7f800000
let fp32_pos_normal_add_10_sum_rna  = 0x7f800000
let fp32_pos_normal_add_10_sum_rdn  = 0x7f7fffff
let fp32_pos_normal_add_10_sum_rup  = 0x7f800000
let fp32_pos_normal_add_10_sum_rtz  = 0x7f7fffff

let fp32_neg_normal_add_11_op_0     = 0xff7fffff
let fp32_neg_normal_add_11_op_1     = 0xff700002
let fp32_neg_normal_add_11_sum_rne  = 0xff800000
let fp32_neg_normal_add_11_sum_rna  = 0xff800000
let fp32_neg_normal_add_11_sum_rdn  = 0xff800000
let fp32_neg_normal_add_11_sum_rup  = 0xff7fffff
let fp32_neg_normal_add_11_sum_rtz  = 0xff7fffff

let fp32_pos_normal_add_12_op_0     = 0x7e800001
let fp32_pos_normal_add_12_op_1     = 0x7e800ff0
let fp32_pos_normal_add_12_sum_rne  = 0x7f0007f8
let fp32_pos_normal_add_12_sum_rna  = 0x7f0007f9
let fp32_pos_normal_add_12_sum_rdn  = 0x7f0007f8
let fp32_pos_normal_add_12_sum_rup  = 0x7f0007f9
let fp32_pos_normal_add_12_sum_rtz  = 0x7f0007f8

let fp32_neg_normal_add_13_op_0     = 0xfeffffff
let fp32_neg_normal_add_13_op_1     = 0xfefff0f0
let fp32_neg_normal_add_13_sum_rne  = 0xff7ff878
let fp32_neg_normal_add_13_sum_rna  = 0xff7ff878
let fp32_neg_normal_add_13_sum_rdn  = 0xff7ff878
let fp32_neg_normal_add_13_sum_rup  = 0xff7ff877
let fp32_neg_normal_add_13_sum_rtz  = 0xff7ff877

let fp32_pos_denormal_add_0_op_0 = 0x000fffff
let fp32_pos_denormal_add_0_op_1 = 0x00000021
let fp32_pos_denormal_add_0_sum  = 0x00100020

let fp32_pos_denormal_add_1_op_0 = 0x007fffff
let fp32_pos_denormal_add_1_op_1 = 0x00000002
let fp32_pos_denormal_add_1_sum  = 0x00800001

let fp32_neg_denormal_add_0_op_0 = 0x800fffff
let fp32_neg_denormal_add_0_op_1 = 0x80000021
let fp32_neg_denormal_add_0_sum  = 0x80100020

let fp32_neg_denormal_add_1_op_0 = 0x807fffff
let fp32_neg_denormal_add_1_op_1 = 0x80000002
let fp32_neg_denormal_add_1_sum  = 0x80800001

/* Double floating point */
let fp64_pos_snan_0      = 0x7ff0000000000001
let fp64_pos_snan_1      = 0x7ff7000000000000
let fp64_neg_snan_0      = 0xfff0000000000001
let fp64_neg_snan_1      = 0xfff7000000000000

let fp64_pos_qnan_0       = 0x7ff8000000000000
let fp64_pos_qnan_1       = 0x7fff000000000000
let fp64_pos_qnan_default = 0x7ff8000000000000
let fp64_neg_qnan_0       = 0xfff8000000000000
let fp64_neg_qnan_1       = 0xffff000000000000
let fp64_neg_qnan_default = 0xfff8000000000000

let fp64_pos_inf         = 0x7ff0000000000000
let fp64_neg_inf         = 0xfff0000000000000

let fp64_pos_zero        = 0x0000000000000000
let fp64_neg_zero        = 0x8000000000000000

let fp64_pos_denormal_0  = 0x000f000000000000
let fp64_pos_denormal_1  = 0x0000000fff000000
let fp64_neg_denormal_0  = 0x800f000000000000
let fp64_neg_denormal_1  = 0x8000000fff000000

let fp64_pos_normal_0    = 0x1000000000000000
let fp64_pos_normal_1    = 0x0100001111000000
let fp64_neg_normal_0    = 0x9000000000000000
let fp64_neg_normal_1    = 0x8100001111000000

let fp64_pos_normal_add_2_op_0 = 0x011101238430d021
let fp64_pos_normal_add_2_op_1 = 0x01110fffffff2321
let fp64_pos_normal_add_2_sum  = 0x01210891c217f9a1

let fp64_pos_normal_add_3_op_0 = 0x7efd70a4abcdabcd
let fp64_pos_normal_add_3_op_1 = 0x7efd70000000000b
let fp64_pos_normal_add_3_sum  = 0x7f0d705255e6d5eC

let fp64_neg_normal_add_4_op_0 = 0xf020102030405060
let fp64_neg_normal_add_4_op_1 = 0xf0201ffffffffff2
let fp64_neg_normal_add_4_sum  = 0xf030181018202829

let fp64_neg_normal_add_5_op_0 = 0x8f00abcddeadbeaf
let fp64_neg_normal_add_5_op_1 = 0x8f00000000000001
let fp64_neg_normal_add_5_sum  = 0x8f1055e6ef56df58

let fp64_pos_normal_add_6_op_0     = 0x07cf0000000ede00
let fp64_pos_normal_add_6_op_1     = 0x07cf0002ffe93201
let fp64_pos_normal_add_6_sum_rne  = 0x07df00017ffc0800
let fp64_pos_normal_add_6_sum_rna  = 0x07df00017ffc0801
let fp64_pos_normal_add_6_sum_rdn  = 0x07df00017ffc0800
let fp64_pos_normal_add_6_sum_rup  = 0x07df00017ffc0801
let fp64_pos_normal_add_6_sum_rtz  = 0x07df00017ffc0800

let fp64_neg_normal_add_7_op_0     = 0xccffffffffe001ff
let fp64_neg_normal_add_7_op_1     = 0xccfffff0ee1223fe
let fp64_neg_normal_add_7_sum_rne  = 0xcd0ffff876f912fe
let fp64_neg_normal_add_7_sum_rna  = 0xcd0ffff876f912ff
let fp64_neg_normal_add_7_sum_rdn  = 0xcd0ffff876f912ff
let fp64_neg_normal_add_7_sum_rup  = 0xcd0ffff876f912fe
let fp64_neg_normal_add_7_sum_rtz  = 0xcd0ffff876f912fe

let fp64_pos_normal_add_8_op_0     = 0x077222229820320e
let fp64_pos_normal_add_8_op_1     = 0x0772ffffff000001
let fp64_pos_normal_add_8_sum_rne  = 0x078291114b901908
let fp64_pos_normal_add_8_sum_rna  = 0x078291114b901908
let fp64_pos_normal_add_8_sum_rdn  = 0x078291114b901907
let fp64_pos_normal_add_8_sum_rup  = 0x078291114b901908
let fp64_pos_normal_add_8_sum_rtz  = 0x078291114b901907

let fp64_neg_normal_add_9_op_0     = 0xaeee902323ffff00
let fp64_neg_normal_add_9_op_1     = 0xaeee839202ff0e01
let fp64_neg_normal_add_9_sum_rne  = 0xaefe89da937f8680
let fp64_neg_normal_add_9_sum_rna  = 0xaefe89da937f8681
let fp64_neg_normal_add_9_sum_rdn  = 0xaefe89da937f8681
let fp64_neg_normal_add_9_sum_rup  = 0xaefe89da937f8680
let fp64_neg_normal_add_9_sum_rtz  = 0xaefe89da937f8680

let fp64_pos_normal_add_10_op_0     = 0x7fe0000000000000
let fp64_pos_normal_add_10_op_1     = 0x7fe8fffff000ff01
let fp64_pos_normal_add_10_sum_rne  = 0x7ff0000000000000
let fp64_pos_normal_add_10_sum_rna  = 0x7ff0000000000000
let fp64_pos_normal_add_10_sum_rdn  = 0x7fefffffffffffff
let fp64_pos_normal_add_10_sum_rup  = 0x7ff0000000000000
let fp64_pos_normal_add_10_sum_rtz  = 0x7fefffffffffffff

let fp64_neg_normal_add_11_op_0     = 0xffefffffffffffff
let fp64_neg_normal_add_11_op_1     = 0xffeffffffffffff1
let fp64_neg_normal_add_11_sum_rne  = 0xfff0000000000000
let fp64_neg_normal_add_11_sum_rna  = 0xfff0000000000000
let fp64_neg_normal_add_11_sum_rdn  = 0xfff0000000000000
let fp64_neg_normal_add_11_sum_rup  = 0xffefffffffffffff
let fp64_neg_normal_add_11_sum_rtz  = 0xffefffffffffffff

let fp64_pos_normal_add_12_op_0     = 0x7fd00000ff000000
let fp64_pos_normal_add_12_op_1     = 0x7fd11ff11ff2f221
let fp64_pos_normal_add_12_sum_rne  = 0x7fe08ff90f797910
let fp64_pos_normal_add_12_sum_rna  = 0x7fe08ff90f797911
let fp64_pos_normal_add_12_sum_rdn  = 0x7fe08ff90f797910
let fp64_pos_normal_add_12_sum_rup  = 0x7fe08ff90f797911
let fp64_pos_normal_add_12_sum_rtz  = 0x7fe08ff90f797910

let fp64_neg_normal_add_13_op_0     = 0xffd0000fffffffff
let fp64_neg_normal_add_13_op_1     = 0xffd001fffffffffc
let fp64_neg_normal_add_13_sum_rne  = 0xffe00107fffffffe
let fp64_neg_normal_add_13_sum_rna  = 0xffe00107fffffffe
let fp64_neg_normal_add_13_sum_rdn  = 0xffe00107fffffffe
let fp64_neg_normal_add_13_sum_rup  = 0xffe00107fffffffd
let fp64_neg_normal_add_13_sum_rtz  = 0xffe00107fffffffd

let fp64_pos_denormal_add_0_op_0 = 0x0000ffffffffffff
let fp64_pos_denormal_add_0_op_1 = 0x0000000000000041
let fp64_pos_denormal_add_0_sum  = 0x0001000000000040

let fp64_pos_denormal_add_1_op_0 = 0x000fffffffffffff
let fp64_pos_denormal_add_1_op_1 = 0x0000000000000002
let fp64_pos_denormal_add_1_sum  = 0x0010000000000001

let fp64_neg_denormal_add_0_op_0 = 0x8000ffffffffffff
let fp64_neg_denormal_add_0_op_1 = 0x8000000000000041
let fp64_neg_denormal_add_0_sum  = 0x8001000000000040

let fp64_neg_denormal_add_1_op_0 = 0x800fffffffffffff
let fp64_neg_denormal_add_1_op_1 = 0x8000000000000002
let fp64_neg_denormal_add_1_sum  = 0x8010000000000001

/* Quad floating point */
let fp128_pos_snan_0     = 0x7fff0000000000000000000000000001
let fp128_pos_snan_1     = 0x7fff000000000000ff00000000000000
let fp128_neg_snan_0     = 0xffff0000000000000000000000000001
let fp128_neg_snan_1     = 0xffff000000000000ff00000000000000

let fp128_pos_qnan_0       = 0x7fff8000000000000000000000000001
let fp128_pos_qnan_1       = 0x7fff8d00000000000000000000000000
let fp128_pos_qnan_default = 0x7fff8000000000000000000000000000
let fp128_neg_qnan_0       = 0xffff8000000000000000000000000001
let fp128_neg_qnan_1       = 0xffff8d00000000000000000000000000
let fp128_neg_qnan_default = 0xffff8000000000000000000000000000

let fp128_pos_inf        = 0x7fff0000000000000000000000000000
let fp128_neg_inf        = 0xffff0000000000000000000000000000

let fp128_pos_zero       = 0x00000000000000000000000000000000
let fp128_neg_zero       = 0x80000000000000000000000000000000

let fp128_pos_denormal_0 = 0x0000f000000000000000000000000000
let fp128_pos_denormal_1 = 0x0000000fff0000000000000000000000
let fp128_neg_denormal_0 = 0x8000f000000000000000000000000000
let fp128_neg_denormal_1 = 0x8000000fff0000000000000000000000

let fp128_pos_normal_0   = 0x10000000000000000000000000000000
let fp128_pos_normal_1   = 0x01000011110000000000000000000000
let fp128_neg_normal_0   = 0x90000000000000000000000000000000
let fp128_neg_normal_1   = 0x81000011110000000000000000000000

let fp128_pos_normal_add_2_op_0 = 0x011101238430d0210000adecd12de823
let fp128_pos_normal_add_2_op_1 = 0x01110123ffffffffffffffffffffffff
let fp128_pos_normal_add_2_sum  = 0x01120123c2186810800056f66896f411

let fp128_pos_normal_add_3_op_0 = 0x7efd70a4abcdabcd92042deaedbecde2
let fp128_pos_normal_add_3_op_1 = 0x7efd70f1111111111112222222222334
let fp128_pos_normal_add_3_sum  = 0x7efe70cade6f5e6f518b280687f0788b

let fp128_neg_normal_add_4_op_0 = 0xf0201f203040506002003020499290e0
let fp128_neg_normal_add_4_op_1 = 0xf0201f2ffffffff20000000000122212
let fp128_neg_normal_add_4_sum  = 0xf0211f28182028290100181024d25979

let fp128_neg_normal_add_5_op_0 = 0x8f00abfffffffffffffffffffffffffe
let fp128_neg_normal_add_5_op_1 = 0x8f00abc0000000000000000000000000
let fp128_neg_normal_add_5_sum  = 0x8f01abdfffffffffffffffffffffffff

let fp128_pos_normal_add_6_op_0     = 0x07cf030392039210e3020000000ede00
let fp128_pos_normal_add_6_op_1     = 0x07cffeeeeaaaaaaaaa332002ffe93201
let fp128_pos_normal_add_6_sum_rne  = 0x07d080f93e571e5dc69a90017ffc0800
let fp128_pos_normal_add_6_sum_rna  = 0x07d080f93e571e5dc69a90017ffc0801
let fp128_pos_normal_add_6_sum_rdn  = 0x07d080f93e571e5dc69a90017ffc0800
let fp128_pos_normal_add_6_sum_rup  = 0x07d080f93e571e5dc69a90017ffc0801
let fp128_pos_normal_add_6_sum_rtz  = 0x07d080f93e571e5dc69a90017ffc0800

let fp128_neg_normal_add_7_op_0     = 0xccffffffeeeeeeeee0000212ffe001ff
let fp128_neg_normal_add_7_op_1     = 0xccfffff0aabbccde23853233ee1223fe
let fp128_neg_normal_add_7_sum_rne  = 0xcd00fff84cd55de681c29a2376f912fe
let fp128_neg_normal_add_7_sum_rna  = 0xcd00fff84cd55de681c29a2376f912ff
let fp128_neg_normal_add_7_sum_rdn  = 0xcd00fff84cd55de681c29a2376f912ff
let fp128_neg_normal_add_7_sum_rup  = 0xcd00fff84cd55de681c29a2376f912fe
let fp128_neg_normal_add_7_sum_rtz  = 0xcd00fff84cd55de681c29a2376f912fe

let fp128_pos_normal_add_8_op_0     = 0x07722227626482dbce79de229820320e
let fp128_pos_normal_add_8_op_1     = 0x0772fffdddddddbbbccccaafff000001
let fp128_pos_normal_add_8_sum_rne  = 0x07739112a021304bc5a354694b901908
let fp128_pos_normal_add_8_sum_rna  = 0x07739112a021304bc5a354694b901908
let fp128_pos_normal_add_8_sum_rdn  = 0x07739112a021304bc5a354694b901907
let fp128_pos_normal_add_8_sum_rup  = 0x07739112a021304bc5a354694b901908
let fp128_pos_normal_add_8_sum_rtz  = 0x07739112a021304bc5a354694b901907

let fp128_neg_normal_add_9_op_0     = 0xaeeff983dbcdd2993221902323ffff00
let fp128_neg_normal_add_9_op_1     = 0xaeef839202ff9928940929dbc3390e01
let fp128_neg_normal_add_9_sum_rne  = 0xaef0be8aef66b5e0e3155cff739c8680
let fp128_neg_normal_add_9_sum_rna  = 0xaef0be8aef66b5e0e3155cff739c8681
let fp128_neg_normal_add_9_sum_rdn  = 0xaef0be8aef66b5e0e3155cff739c8681
let fp128_neg_normal_add_9_sum_rup  = 0xaef0be8aef66b5e0e3155cff739c8680
let fp128_neg_normal_add_9_sum_rtz  = 0xaef0be8aef66b5e0e3155cff739c8680

let fp128_pos_normal_add_10_op_0     = 0x7ffe00000000000000000000fffffde1
let fp128_pos_normal_add_10_op_1     = 0x7ffe00000fff292912000000ffffffd0
let fp128_pos_normal_add_10_sum_rne  = 0x7fff0000000000000000000000000000
let fp128_pos_normal_add_10_sum_rna  = 0x7fff0000000000000000000000000000
let fp128_pos_normal_add_10_sum_rdn  = 0x7ffeffffffffffffffffffffffffffff
let fp128_pos_normal_add_10_sum_rup  = 0x7fff0000000000000000000000000000
let fp128_pos_normal_add_10_sum_rtz  = 0x7ffeffffffffffffffffffffffffffff

let fp128_neg_normal_add_11_op_0     = 0xfffefffffffffffffffffffffffffdf1
let fp128_neg_normal_add_11_op_1     = 0xfffeffffffffffffffffffffffffffd0
let fp128_neg_normal_add_11_sum_rne  = 0xffff0000000000000000000000000000
let fp128_neg_normal_add_11_sum_rna  = 0xffff0000000000000000000000000000
let fp128_neg_normal_add_11_sum_rdn  = 0xffff0000000000000000000000000000
let fp128_neg_normal_add_11_sum_rup  = 0xfffeffffffffffffffffffffffffffff
let fp128_neg_normal_add_11_sum_rtz  = 0xfffeffffffffffffffffffffffffffff

let fp128_pos_normal_add_12_op_0     = 0x7ffd00000000000000000000fffffde7
let fp128_pos_normal_add_12_op_1     = 0x7ffdffffffffffffffffffffffffffd0
let fp128_pos_normal_add_12_sum_rne  = 0x7ffe800000000000000000007ffffedc
let fp128_pos_normal_add_12_sum_rna  = 0x7ffe800000000000000000007ffffedc
let fp128_pos_normal_add_12_sum_rdn  = 0x7ffe800000000000000000007ffffedb
let fp128_pos_normal_add_12_sum_rup  = 0x7ffe800000000000000000007ffffedc
let fp128_pos_normal_add_12_sum_rtz  = 0x7ffe800000000000000000007ffffedb

let fp128_neg_normal_add_13_op_0     = 0xfffd0000000d0ff1242214ffddde3aab
let fp128_neg_normal_add_13_op_1     = 0xfffd000000000fffffffffffffffffd0
let fp128_neg_normal_add_13_sum_rne  = 0xfffe000000068ff892110a7feeef1d3e
let fp128_neg_normal_add_13_sum_rna  = 0xfffe000000068ff892110a7feeef1d3e
let fp128_neg_normal_add_13_sum_rdn  = 0xfffe000000068ff892110a7feeef1d3e
let fp128_neg_normal_add_13_sum_rup  = 0xfffe000000068ff892110a7feeef1d3d
let fp128_neg_normal_add_13_sum_rtz  = 0xfffe000000068ff892110a7feeef1d3d

let fp128_pos_denormal_add_0_op_0 = 0x00000fffffffffffffffffffffffffff
let fp128_pos_denormal_add_0_op_1 = 0x00000000000000000000000000000091
let fp128_pos_denormal_add_0_sum  = 0x00001000000000000000000000000090

let fp128_pos_denormal_add_1_op_0 = 0x0000ffffffffffffffffffffffffffff
let fp128_pos_denormal_add_1_op_1 = 0x00000000000000000000000000000003
let fp128_pos_denormal_add_1_sum  = 0x00010000000000000000000000000002

let fp128_neg_denormal_add_0_op_0 = 0x80000fffffffffffffffffffffffffff
let fp128_neg_denormal_add_0_op_1 = 0x80000000000000000000000000000091
let fp128_neg_denormal_add_0_sum  = 0x80001000000000000000000000000090

let fp128_neg_denormal_add_1_op_0 = 0x8000ffffffffffffffffffffffffffff
let fp128_neg_denormal_add_1_op_1 = 0x80000000000000000000000000000003
let fp128_neg_denormal_add_1_sum  = 0x80010000000000000000000000000002

$endif