/*
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

static data_llong_1_t<float> g_llrintf_intel_data[] = {
  { // Entry 0
    (long long int)0.0,
    -0x1.p-149
  },
  { // Entry 1
    (long long int)0.0,
    0.0
  },
  { // Entry 2
    (long long int)0.0,
    0x1.p-149
  },
  { // Entry 3
    (long long int)0.0,
    0x1.fffffep-2
  },
  { // Entry 4
    (long long int)0.0,
    0x1.p-1
  },
  { // Entry 5
    (long long int)0x1.p0,
    0x1.000002p-1
  },
  { // Entry 6
    (long long int)0x1.p0,
    0x1.fffffep-1
  },
  { // Entry 7
    (long long int)0x1.p0,
    0x1.p0
  },
  { // Entry 8
    (long long int)0x1.p0,
    0x1.000002p0
  },
  { // Entry 9
    (long long int)0x1.p0,
    0x1.7ffffep0
  },
  { // Entry 10
    (long long int)0x1.p1,
    0x1.80p0
  },
  { // Entry 11
    (long long int)0x1.p1,
    0x1.800002p0
  },
  { // Entry 12
    (long long int)0x1.p1,
    0x1.fffffep0
  },
  { // Entry 13
    (long long int)0x1.p1,
    0x1.p1
  },
  { // Entry 14
    (long long int)0x1.p1,
    0x1.000002p1
  },
  { // Entry 15
    (long long int)0x1.p1,
    0x1.3ffffep1
  },
  { // Entry 16
    (long long int)0x1.p1,
    0x1.40p1
  },
  { // Entry 17
    (long long int)0x1.80p1,
    0x1.400002p1
  },
  { // Entry 18
    (long long int)0x1.90p6,
    0x1.8ffffep6
  },
  { // Entry 19
    (long long int)0x1.90p6,
    0x1.90p6
  },
  { // Entry 20
    (long long int)0x1.90p6,
    0x1.900002p6
  },
  { // Entry 21
    (long long int)0x1.90p6,
    0x1.91fffep6
  },
  { // Entry 22
    (long long int)0x1.90p6,
    0x1.92p6
  },
  { // Entry 23
    (long long int)0x1.94p6,
    0x1.920002p6
  },
  { // Entry 24
    (long long int)0x1.f4p9,
    0x1.f3fffep9
  },
  { // Entry 25
    (long long int)0x1.f4p9,
    0x1.f4p9
  },
  { // Entry 26
    (long long int)0x1.f4p9,
    0x1.f40002p9
  },
  { // Entry 27
    (long long int)0x1.f4p9,
    0x1.f43ffep9
  },
  { // Entry 28
    (long long int)0x1.f4p9,
    0x1.f440p9
  },
  { // Entry 29
    (long long int)0x1.f480p9,
    0x1.f44002p9
  },
  { // Entry 30
    (long long int)0x1.p21,
    0x1.fffffep20
  },
  { // Entry 31
    (long long int)0x1.p21,
    0x1.p21
  },
  { // Entry 32
    (long long int)0x1.p21,
    0x1.000002p21
  },
  { // Entry 33
    (long long int)0x1.p22,
    0x1.fffffep21
  },
  { // Entry 34
    (long long int)0x1.p22,
    0x1.p22
  },
  { // Entry 35
    (long long int)0x1.p22,
    0x1.000002p22
  },
  { // Entry 36
    (long long int)0x1.p23,
    0x1.fffffep22
  },
  { // Entry 37
    (long long int)0x1.p23,
    0x1.p23
  },
  { // Entry 38
    (long long int)0x1.000002p23,
    0x1.000002p23
  },
  { // Entry 39
    (long long int)0x1.fffffep23,
    0x1.fffffep23
  },
  { // Entry 40
    (long long int)0x1.p24,
    0x1.p24
  },
  { // Entry 41
    (long long int)0x1.000002p24,
    0x1.000002p24
  },
  { // Entry 42
    (long long int)0x1.fffffep24,
    0x1.fffffep24
  },
  { // Entry 43
    (long long int)0x1.p25,
    0x1.p25
  },
  { // Entry 44
    (long long int)0x1.000002p25,
    0x1.000002p25
  },
  { // Entry 45
    (long long int)-0x1.p0,
    -0x1.000002p-1
  },
  { // Entry 46
    (long long int)0.0,
    -0x1.p-1
  },
  { // Entry 47
    (long long int)0.0,
    -0x1.fffffep-2
  },
  { // Entry 48
    (long long int)-0x1.p0,
    -0x1.000002p0
  },
  { // Entry 49
    (long long int)-0x1.p0,
    -0x1.p0
  },
  { // Entry 50
    (long long int)-0x1.p0,
    -0x1.fffffep-1
  },
  { // Entry 51
    (long long int)-0x1.p1,
    -0x1.800002p0
  },
  { // Entry 52
    (long long int)-0x1.p1,
    -0x1.80p0
  },
  { // Entry 53
    (long long int)-0x1.p0,
    -0x1.7ffffep0
  },
  { // Entry 54
    (long long int)-0x1.p1,
    -0x1.000002p1
  },
  { // Entry 55
    (long long int)-0x1.p1,
    -0x1.p1
  },
  { // Entry 56
    (long long int)-0x1.p1,
    -0x1.fffffep0
  },
  { // Entry 57
    (long long int)-0x1.80p1,
    -0x1.400002p1
  },
  { // Entry 58
    (long long int)-0x1.p1,
    -0x1.40p1
  },
  { // Entry 59
    (long long int)-0x1.p1,
    -0x1.3ffffep1
  },
  { // Entry 60
    (long long int)-0x1.90p6,
    -0x1.900002p6
  },
  { // Entry 61
    (long long int)-0x1.90p6,
    -0x1.90p6
  },
  { // Entry 62
    (long long int)-0x1.90p6,
    -0x1.8ffffep6
  },
  { // Entry 63
    (long long int)-0x1.94p6,
    -0x1.920002p6
  },
  { // Entry 64
    (long long int)-0x1.90p6,
    -0x1.92p6
  },
  { // Entry 65
    (long long int)-0x1.90p6,
    -0x1.91fffep6
  },
  { // Entry 66
    (long long int)-0x1.f4p9,
    -0x1.f40002p9
  },
  { // Entry 67
    (long long int)-0x1.f4p9,
    -0x1.f4p9
  },
  { // Entry 68
    (long long int)-0x1.f4p9,
    -0x1.f3fffep9
  },
  { // Entry 69
    (long long int)-0x1.f480p9,
    -0x1.f44002p9
  },
  { // Entry 70
    (long long int)-0x1.f4p9,
    -0x1.f440p9
  },
  { // Entry 71
    (long long int)-0x1.f4p9,
    -0x1.f43ffep9
  },
  { // Entry 72
    (long long int)-0x1.p21,
    -0x1.000002p21
  },
  { // Entry 73
    (long long int)-0x1.p21,
    -0x1.p21
  },
  { // Entry 74
    (long long int)-0x1.p21,
    -0x1.fffffep20
  },
  { // Entry 75
    (long long int)-0x1.p22,
    -0x1.000002p22
  },
  { // Entry 76
    (long long int)-0x1.p22,
    -0x1.p22
  },
  { // Entry 77
    (long long int)-0x1.p22,
    -0x1.fffffep21
  },
  { // Entry 78
    (long long int)-0x1.000002p23,
    -0x1.000002p23
  },
  { // Entry 79
    (long long int)-0x1.p23,
    -0x1.p23
  },
  { // Entry 80
    (long long int)-0x1.p23,
    -0x1.fffffep22
  },
  { // Entry 81
    (long long int)-0x1.000002p24,
    -0x1.000002p24
  },
  { // Entry 82
    (long long int)-0x1.p24,
    -0x1.p24
  },
  { // Entry 83
    (long long int)-0x1.fffffep23,
    -0x1.fffffep23
  },
  { // Entry 84
    (long long int)-0x1.000002p25,
    -0x1.000002p25
  },
  { // Entry 85
    (long long int)-0x1.p25,
    -0x1.p25
  },
  { // Entry 86
    (long long int)-0x1.fffffep24,
    -0x1.fffffep24
  },
  { // Entry 87
    (long long int)0x1.fffffep29,
    0x1.fffffep29
  },
  { // Entry 88
    (long long int)0x1.p30,
    0x1.p30
  },
  { // Entry 89
    (long long int)0x1.000002p30,
    0x1.000002p30
  },
  { // Entry 90
    (long long int)0x1.fffffcp30,
    0x1.fffffcp30
  },
  { // Entry 91
    (long long int)0x1.fffffep30,
    0x1.fffffep30
  },
  { // Entry 92
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 93
    (long long int)0x1.000002p31,
    0x1.000002p31
  },
  { // Entry 94
    (long long int)0x1.000004p31,
    0x1.000004p31
  },
  { // Entry 95
    (long long int)0x1.fffffcp30,
    0x1.fffffcp30
  },
  { // Entry 96
    (long long int)0x1.fffffep30,
    0x1.fffffep30
  },
  { // Entry 97
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 98
    (long long int)0x1.000002p31,
    0x1.000002p31
  },
  { // Entry 99
    (long long int)0x1.000004p31,
    0x1.000004p31
  },
  { // Entry 100
    (long long int)0x1.fffffcp30,
    0x1.fffffcp30
  },
  { // Entry 101
    (long long int)0x1.fffffep30,
    0x1.fffffep30
  },
  { // Entry 102
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 103
    (long long int)0x1.000002p31,
    0x1.000002p31
  },
  { // Entry 104
    (long long int)0x1.000004p31,
    0x1.000004p31
  },
  { // Entry 105
    (long long int)0x1.fffffcp30,
    0x1.fffffcp30
  },
  { // Entry 106
    (long long int)0x1.fffffep30,
    0x1.fffffep30
  },
  { // Entry 107
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 108
    (long long int)0x1.000002p31,
    0x1.000002p31
  },
  { // Entry 109
    (long long int)0x1.000004p31,
    0x1.000004p31
  },
  { // Entry 110
    (long long int)0x1.fffffcp30,
    0x1.fffffcp30
  },
  { // Entry 111
    (long long int)0x1.fffffep30,
    0x1.fffffep30
  },
  { // Entry 112
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 113
    (long long int)0x1.000002p31,
    0x1.000002p31
  },
  { // Entry 114
    (long long int)0x1.000004p31,
    0x1.000004p31
  },
  { // Entry 115
    (long long int)0x1.fffffcp30,
    0x1.fffffcp30
  },
  { // Entry 116
    (long long int)0x1.fffffep30,
    0x1.fffffep30
  },
  { // Entry 117
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 118
    (long long int)0x1.000002p31,
    0x1.000002p31
  },
  { // Entry 119
    (long long int)0x1.000004p31,
    0x1.000004p31
  },
  { // Entry 120
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 121
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 122
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 123
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 124
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 125
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 126
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 127
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 128
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 129
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 130
    (long long int)-0x1.000002p30,
    -0x1.000002p30
  },
  { // Entry 131
    (long long int)-0x1.p30,
    -0x1.p30
  },
  { // Entry 132
    (long long int)-0x1.fffffep29,
    -0x1.fffffep29
  },
  { // Entry 133
    (long long int)-0x1.000004p31,
    -0x1.000004p31
  },
  { // Entry 134
    (long long int)-0x1.000002p31,
    -0x1.000002p31
  },
  { // Entry 135
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 136
    (long long int)-0x1.fffffep30,
    -0x1.fffffep30
  },
  { // Entry 137
    (long long int)-0x1.fffffcp30,
    -0x1.fffffcp30
  },
  { // Entry 138
    (long long int)-0x1.000004p31,
    -0x1.000004p31
  },
  { // Entry 139
    (long long int)-0x1.000002p31,
    -0x1.000002p31
  },
  { // Entry 140
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 141
    (long long int)-0x1.fffffep30,
    -0x1.fffffep30
  },
  { // Entry 142
    (long long int)-0x1.fffffcp30,
    -0x1.fffffcp30
  },
  { // Entry 143
    (long long int)-0x1.000004p31,
    -0x1.000004p31
  },
  { // Entry 144
    (long long int)-0x1.000002p31,
    -0x1.000002p31
  },
  { // Entry 145
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 146
    (long long int)-0x1.fffffep30,
    -0x1.fffffep30
  },
  { // Entry 147
    (long long int)-0x1.fffffcp30,
    -0x1.fffffcp30
  },
  { // Entry 148
    (long long int)-0x1.000004p31,
    -0x1.000004p31
  },
  { // Entry 149
    (long long int)-0x1.000002p31,
    -0x1.000002p31
  },
  { // Entry 150
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 151
    (long long int)-0x1.fffffep30,
    -0x1.fffffep30
  },
  { // Entry 152
    (long long int)-0x1.fffffcp30,
    -0x1.fffffcp30
  },
  { // Entry 153
    (long long int)-0x1.000004p31,
    -0x1.000004p31
  },
  { // Entry 154
    (long long int)-0x1.000002p31,
    -0x1.000002p31
  },
  { // Entry 155
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 156
    (long long int)-0x1.fffffep30,
    -0x1.fffffep30
  },
  { // Entry 157
    (long long int)-0x1.fffffcp30,
    -0x1.fffffcp30
  },
  { // Entry 158
    (long long int)-0x1.000004p31,
    -0x1.000004p31
  },
  { // Entry 159
    (long long int)-0x1.000002p31,
    -0x1.000002p31
  },
  { // Entry 160
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 161
    (long long int)-0x1.fffffep30,
    -0x1.fffffep30
  },
  { // Entry 162
    (long long int)-0x1.fffffcp30,
    -0x1.fffffcp30
  },
  { // Entry 163
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 164
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 165
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 166
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 167
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 168
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 169
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 170
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 171
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 172
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 173
    (long long int)0x1.fffffcp61,
    0x1.fffffcp61
  },
  { // Entry 174
    (long long int)0x1.fffffep61,
    0x1.fffffep61
  },
  { // Entry 175
    (long long int)0x1.p62,
    0x1.p62
  },
  { // Entry 176
    (long long int)0x1.000002p62,
    0x1.000002p62
  },
  { // Entry 177
    (long long int)0x1.000004p62,
    0x1.000004p62
  },
  { // Entry 178
    (long long int)0x1.fffffcp62,
    0x1.fffffcp62
  },
  { // Entry 179
    (long long int)0x1.fffffep62,
    0x1.fffffep62
  },
  { // Entry 180
    (long long int)-0x1.000004p62,
    -0x1.000004p62
  },
  { // Entry 181
    (long long int)-0x1.000002p62,
    -0x1.000002p62
  },
  { // Entry 182
    (long long int)-0x1.p62,
    -0x1.p62
  },
  { // Entry 183
    (long long int)-0x1.fffffep61,
    -0x1.fffffep61
  },
  { // Entry 184
    (long long int)-0x1.fffffcp61,
    -0x1.fffffcp61
  },
  { // Entry 185
    (long long int)-0x1.p63,
    -0x1.p63
  },
  { // Entry 186
    (long long int)-0x1.fffffep62,
    -0x1.fffffep62
  },
  { // Entry 187
    (long long int)-0x1.fffffcp62,
    -0x1.fffffcp62
  },
  { // Entry 188
    (long long int)0x1.p62,
    0x1.p62
  },
  { // Entry 189
    (long long int)-0x1.p62,
    -0x1.p62
  },
  { // Entry 190
    (long long int)-0x1.p63,
    -0x1.p63
  },
  { // Entry 191
    (long long int)0x1.fffffcp30,
    0x1.fffffcp30
  },
  { // Entry 192
    (long long int)0x1.fffffep30,
    0x1.fffffep30
  },
  { // Entry 193
    (long long int)0x1.p31,
    0x1.p31
  },
  { // Entry 194
    (long long int)-0x1.000002p31,
    -0x1.000002p31
  },
  { // Entry 195
    (long long int)-0x1.p31,
    -0x1.p31
  },
  { // Entry 196
    (long long int)-0x1.fffffep30,
    -0x1.fffffep30
  },
  { // Entry 197
    (long long int)0x1.p2,
    0x1.fffffep1
  },
  { // Entry 198
    (long long int)0x1.p2,
    0x1.p2
  },
  { // Entry 199
    (long long int)0x1.p2,
    0x1.000002p2
  },
  { // Entry 200
    (long long int)0x1.p3,
    0x1.fffffep2
  },
  { // Entry 201
    (long long int)0x1.p3,
    0x1.p3
  },
  { // Entry 202
    (long long int)0x1.p3,
    0x1.000002p3
  },
  { // Entry 203
    (long long int)0x1.p4,
    0x1.fffffep3
  },
  { // Entry 204
    (long long int)0x1.p4,
    0x1.p4
  },
  { // Entry 205
    (long long int)0x1.p4,
    0x1.000002p4
  },
  { // Entry 206
    (long long int)0x1.p5,
    0x1.fffffep4
  },
  { // Entry 207
    (long long int)0x1.p5,
    0x1.p5
  },
  { // Entry 208
    (long long int)0x1.p5,
    0x1.000002p5
  },
  { // Entry 209
    (long long int)0x1.p6,
    0x1.fffffep5
  },
  { // Entry 210
    (long long int)0x1.p6,
    0x1.p6
  },
  { // Entry 211
    (long long int)0x1.p6,
    0x1.000002p6
  },
  { // Entry 212
    (long long int)0x1.p7,
    0x1.fffffep6
  },
  { // Entry 213
    (long long int)0x1.p7,
    0x1.p7
  },
  { // Entry 214
    (long long int)0x1.p7,
    0x1.000002p7
  },
  { // Entry 215
    (long long int)0x1.p8,
    0x1.fffffep7
  },
  { // Entry 216
    (long long int)0x1.p8,
    0x1.p8
  },
  { // Entry 217
    (long long int)0x1.p8,
    0x1.000002p8
  },
  { // Entry 218
    (long long int)0x1.p9,
    0x1.fffffep8
  },
  { // Entry 219
    (long long int)0x1.p9,
    0x1.p9
  },
  { // Entry 220
    (long long int)0x1.p9,
    0x1.000002p9
  },
  { // Entry 221
    (long long int)0x1.p10,
    0x1.fffffep9
  },
  { // Entry 222
    (long long int)0x1.p10,
    0x1.p10
  },
  { // Entry 223
    (long long int)0x1.p10,
    0x1.000002p10
  },
  { // Entry 224
    (long long int)0x1.p11,
    0x1.fffffep10
  },
  { // Entry 225
    (long long int)0x1.p11,
    0x1.p11
  },
  { // Entry 226
    (long long int)0x1.p11,
    0x1.000002p11
  },
  { // Entry 227
    (long long int)0x1.p12,
    0x1.fffffep11
  },
  { // Entry 228
    (long long int)0x1.p12,
    0x1.p12
  },
  { // Entry 229
    (long long int)0x1.p12,
    0x1.000002p12
  },
  { // Entry 230
    (long long int)0x1.p2,
    0x1.1ffffep2
  },
  { // Entry 231
    (long long int)0x1.p2,
    0x1.20p2
  },
  { // Entry 232
    (long long int)0x1.40p2,
    0x1.200002p2
  },
  { // Entry 233
    (long long int)0x1.p3,
    0x1.0ffffep3
  },
  { // Entry 234
    (long long int)0x1.p3,
    0x1.10p3
  },
  { // Entry 235
    (long long int)0x1.20p3,
    0x1.100002p3
  },
  { // Entry 236
    (long long int)0x1.p4,
    0x1.07fffep4
  },
  { // Entry 237
    (long long int)0x1.p4,
    0x1.08p4
  },
  { // Entry 238
    (long long int)0x1.10p4,
    0x1.080002p4
  },
  { // Entry 239
    (long long int)0x1.p5,
    0x1.03fffep5
  },
  { // Entry 240
    (long long int)0x1.p5,
    0x1.04p5
  },
  { // Entry 241
    (long long int)0x1.08p5,
    0x1.040002p5
  },
  { // Entry 242
    (long long int)0x1.p6,
    0x1.01fffep6
  },
  { // Entry 243
    (long long int)0x1.p6,
    0x1.02p6
  },
  { // Entry 244
    (long long int)0x1.04p6,
    0x1.020002p6
  },
  { // Entry 245
    (long long int)0x1.p7,
    0x1.00fffep7
  },
  { // Entry 246
    (long long int)0x1.p7,
    0x1.01p7
  },
  { // Entry 247
    (long long int)0x1.02p7,
    0x1.010002p7
  },
  { // Entry 248
    (long long int)0x1.p8,
    0x1.007ffep8
  },
  { // Entry 249
    (long long int)0x1.p8,
    0x1.0080p8
  },
  { // Entry 250
    (long long int)0x1.01p8,
    0x1.008002p8
  },
  { // Entry 251
    (long long int)0x1.p9,
    0x1.003ffep9
  },
  { // Entry 252
    (long long int)0x1.p9,
    0x1.0040p9
  },
  { // Entry 253
    (long long int)0x1.0080p9,
    0x1.004002p9
  },
  { // Entry 254
    (long long int)0x1.p10,
    0x1.001ffep10
  },
  { // Entry 255
    (long long int)0x1.p10,
    0x1.0020p10
  },
  { // Entry 256
    (long long int)0x1.0040p10,
    0x1.002002p10
  },
  { // Entry 257
    (long long int)0x1.0040p10,
    0x1.005ffep10
  },
  { // Entry 258
    (long long int)0x1.0080p10,
    0x1.0060p10
  },
  { // Entry 259
    (long long int)0x1.0080p10,
    0x1.006002p10
  },
  { // Entry 260
    (long long int)0x1.p11,
    0x1.000ffep11
  },
  { // Entry 261
    (long long int)0x1.p11,
    0x1.0010p11
  },
  { // Entry 262
    (long long int)0x1.0020p11,
    0x1.001002p11
  },
  { // Entry 263
    (long long int)0x1.p12,
    0x1.0007fep12
  },
  { // Entry 264
    (long long int)0x1.p12,
    0x1.0008p12
  },
  { // Entry 265
    (long long int)0x1.0010p12,
    0x1.000802p12
  },
  { // Entry 266
    (long long int)0x1.80p1,
    0x1.921fb6p1
  },
  { // Entry 267
    (long long int)-0x1.80p1,
    -0x1.921fb6p1
  },
  { // Entry 268
    (long long int)0x1.p1,
    0x1.921fb6p0
  },
  { // Entry 269
    (long long int)-0x1.p1,
    -0x1.921fb6p0
  },
  { // Entry 270
    (long long int)0x1.p0,
    0x1.000002p0
  },
  { // Entry 271
    (long long int)-0x1.p0,
    -0x1.000002p0
  },
  { // Entry 272
    (long long int)0x1.p0,
    0x1.p0
  },
  { // Entry 273
    (long long int)-0x1.p0,
    -0x1.p0
  },
  { // Entry 274
    (long long int)0x1.p0,
    0x1.fffffep-1
  },
  { // Entry 275
    (long long int)-0x1.p0,
    -0x1.fffffep-1
  },
  { // Entry 276
    (long long int)0x1.p0,
    0x1.921fb6p-1
  },
  { // Entry 277
    (long long int)-0x1.p0,
    -0x1.921fb6p-1
  },
  { // Entry 278
    (long long int)0.0,
    0x1.000002p-126
  },
  { // Entry 279
    (long long int)0.0,
    -0x1.000002p-126
  },
  { // Entry 280
    (long long int)0.0,
    0x1.p-126
  },
  { // Entry 281
    (long long int)0.0,
    -0x1.p-126
  },
  { // Entry 282
    (long long int)0.0,
    0x1.fffffcp-127
  },
  { // Entry 283
    (long long int)0.0,
    -0x1.fffffcp-127
  },
  { // Entry 284
    (long long int)0.0,
    0x1.fffff8p-127
  },
  { // Entry 285
    (long long int)0.0,
    -0x1.fffff8p-127
  },
  { // Entry 286
    (long long int)0.0,
    0x1.p-148
  },
  { // Entry 287
    (long long int)0.0,
    -0x1.p-148
  },
  { // Entry 288
    (long long int)0.0,
    0x1.p-149
  },
  { // Entry 289
    (long long int)0.0,
    -0x1.p-149
  },
  { // Entry 290
    (long long int)0.0,
    0.0f
  },
  { // Entry 291
    (long long int)0.0,
    -0.0f
  },
  { // Entry 292
    (long long int)0x1.p1,
    0x1.80p0
  },
  { // Entry 293
    (long long int)-0x1.p1,
    -0x1.80p0
  },
  { // Entry 294
    (long long int)0x1.p1,
    0x1.40p1
  },
  { // Entry 295
    (long long int)-0x1.p1,
    -0x1.40p1
  },
  { // Entry 296
    (long long int)0.0,
    0x1.fffff0p-2
  },
  { // Entry 297
    (long long int)0.0,
    0x1.p-1
  },
  { // Entry 298
    (long long int)0x1.p0,
    0x1.000010p-1
  },
  { // Entry 299
    (long long int)0.0,
    -0x1.fffff0p-2
  },
  { // Entry 300
    (long long int)0.0,
    -0x1.p-1
  },
  { // Entry 301
    (long long int)-0x1.p0,
    -0x1.000010p-1
  },
  { // Entry 302
    (long long int)0x1.p1,
    0x1.800010p0
  },
  { // Entry 303
    (long long int)0x1.p0,
    0x1.7ffff0p0
  },
  { // Entry 304
    (long long int)-0x1.p1,
    -0x1.800010p0
  },
  { // Entry 305
    (long long int)-0x1.p0,
    -0x1.7ffff0p0
  }
};