/*
 * 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<double> g_llrint_intel_data[] = {
  { // Entry 0
    (long long int)0.0,
    -0x1.0p-1074
  },
  { // Entry 1
    (long long int)0.0,
    -0.0
  },
  { // Entry 2
    (long long int)0.0,
    0x1.0p-1074
  },
  { // Entry 3
    (long long int)0.0,
    0x1.fffffffffffffp-2
  },
  { // Entry 4
    (long long int)0.0,
    0x1.0p-1
  },
  { // Entry 5
    (long long int)0x1.p0,
    0x1.0000000000001p-1
  },
  { // Entry 6
    (long long int)0x1.p0,
    0x1.fffffffffffffp-1
  },
  { // Entry 7
    (long long int)0x1.p0,
    0x1.0p0
  },
  { // Entry 8
    (long long int)0x1.p0,
    0x1.0000000000001p0
  },
  { // Entry 9
    (long long int)0x1.p0,
    0x1.7ffffffffffffp0
  },
  { // Entry 10
    (long long int)0x1.p1,
    0x1.8p0
  },
  { // Entry 11
    (long long int)0x1.p1,
    0x1.8000000000001p0
  },
  { // Entry 12
    (long long int)0x1.p1,
    0x1.fffffffffffffp0
  },
  { // Entry 13
    (long long int)0x1.p1,
    0x1.0p1
  },
  { // Entry 14
    (long long int)0x1.p1,
    0x1.0000000000001p1
  },
  { // Entry 15
    (long long int)0x1.p1,
    0x1.3ffffffffffffp1
  },
  { // Entry 16
    (long long int)0x1.p1,
    0x1.4p1
  },
  { // Entry 17
    (long long int)0x1.80p1,
    0x1.4000000000001p1
  },
  { // Entry 18
    (long long int)0x1.90p6,
    0x1.8ffffffffffffp6
  },
  { // Entry 19
    (long long int)0x1.90p6,
    0x1.9p6
  },
  { // Entry 20
    (long long int)0x1.90p6,
    0x1.9000000000001p6
  },
  { // Entry 21
    (long long int)0x1.90p6,
    0x1.91fffffffffffp6
  },
  { // Entry 22
    (long long int)0x1.90p6,
    0x1.920p6
  },
  { // Entry 23
    (long long int)0x1.94p6,
    0x1.9200000000001p6
  },
  { // Entry 24
    (long long int)0x1.f4p9,
    0x1.f3fffffffffffp9
  },
  { // Entry 25
    (long long int)0x1.f4p9,
    0x1.f40p9
  },
  { // Entry 26
    (long long int)0x1.f4p9,
    0x1.f400000000001p9
  },
  { // Entry 27
    (long long int)0x1.f4p9,
    0x1.f43ffffffffffp9
  },
  { // Entry 28
    (long long int)0x1.f4p9,
    0x1.f44p9
  },
  { // Entry 29
    (long long int)0x1.f480p9,
    0x1.f440000000001p9
  },
  { // Entry 30
    (long long int)0x1.p50,
    0x1.fffffffffffffp49
  },
  { // Entry 31
    (long long int)0x1.p50,
    0x1.0p50
  },
  { // Entry 32
    (long long int)0x1.p50,
    0x1.0000000000001p50
  },
  { // Entry 33
    (long long int)0x1.p51,
    0x1.fffffffffffffp50
  },
  { // Entry 34
    (long long int)0x1.p51,
    0x1.0p51
  },
  { // Entry 35
    (long long int)0x1.p51,
    0x1.0000000000001p51
  },
  { // Entry 36
    (long long int)0x1.p52,
    0x1.fffffffffffffp51
  },
  { // Entry 37
    (long long int)0x1.p52,
    0x1.0p52
  },
  { // Entry 38
    (long long int)0x1.00000000000010p52,
    0x1.0000000000001p52
  },
  { // Entry 39
    (long long int)0x1.fffffffffffff0p52,
    0x1.fffffffffffffp52
  },
  { // Entry 40
    (long long int)0x1.p53,
    0x1.0p53
  },
  { // Entry 41
    (long long int)0x1.00000000000010p53,
    0x1.0000000000001p53
  },
  { // Entry 42
    (long long int)0x1.fffffffffffff0p53,
    0x1.fffffffffffffp53
  },
  { // Entry 43
    (long long int)0x1.p54,
    0x1.0p54
  },
  { // Entry 44
    (long long int)0x1.00000000000010p54,
    0x1.0000000000001p54
  },
  { // Entry 45
    (long long int)-0x1.p0,
    -0x1.0000000000001p-1
  },
  { // Entry 46
    (long long int)0.0,
    -0x1.0p-1
  },
  { // Entry 47
    (long long int)0.0,
    -0x1.fffffffffffffp-2
  },
  { // Entry 48
    (long long int)-0x1.p0,
    -0x1.0000000000001p0
  },
  { // Entry 49
    (long long int)-0x1.p0,
    -0x1.0p0
  },
  { // Entry 50
    (long long int)-0x1.p0,
    -0x1.fffffffffffffp-1
  },
  { // Entry 51
    (long long int)-0x1.p1,
    -0x1.8000000000001p0
  },
  { // Entry 52
    (long long int)-0x1.p1,
    -0x1.8p0
  },
  { // Entry 53
    (long long int)-0x1.p0,
    -0x1.7ffffffffffffp0
  },
  { // Entry 54
    (long long int)-0x1.p1,
    -0x1.0000000000001p1
  },
  { // Entry 55
    (long long int)-0x1.p1,
    -0x1.0p1
  },
  { // Entry 56
    (long long int)-0x1.p1,
    -0x1.fffffffffffffp0
  },
  { // Entry 57
    (long long int)-0x1.80p1,
    -0x1.4000000000001p1
  },
  { // Entry 58
    (long long int)-0x1.p1,
    -0x1.4p1
  },
  { // Entry 59
    (long long int)-0x1.p1,
    -0x1.3ffffffffffffp1
  },
  { // Entry 60
    (long long int)-0x1.90p6,
    -0x1.9000000000001p6
  },
  { // Entry 61
    (long long int)-0x1.90p6,
    -0x1.9p6
  },
  { // Entry 62
    (long long int)-0x1.90p6,
    -0x1.8ffffffffffffp6
  },
  { // Entry 63
    (long long int)-0x1.94p6,
    -0x1.9200000000001p6
  },
  { // Entry 64
    (long long int)-0x1.90p6,
    -0x1.920p6
  },
  { // Entry 65
    (long long int)-0x1.90p6,
    -0x1.91fffffffffffp6
  },
  { // Entry 66
    (long long int)-0x1.f4p9,
    -0x1.f400000000001p9
  },
  { // Entry 67
    (long long int)-0x1.f4p9,
    -0x1.f40p9
  },
  { // Entry 68
    (long long int)-0x1.f4p9,
    -0x1.f3fffffffffffp9
  },
  { // Entry 69
    (long long int)-0x1.f480p9,
    -0x1.f440000000001p9
  },
  { // Entry 70
    (long long int)-0x1.f4p9,
    -0x1.f44p9
  },
  { // Entry 71
    (long long int)-0x1.f4p9,
    -0x1.f43ffffffffffp9
  },
  { // Entry 72
    (long long int)-0x1.p50,
    -0x1.0000000000001p50
  },
  { // Entry 73
    (long long int)-0x1.p50,
    -0x1.0p50
  },
  { // Entry 74
    (long long int)-0x1.p50,
    -0x1.fffffffffffffp49
  },
  { // Entry 75
    (long long int)-0x1.p51,
    -0x1.0000000000001p51
  },
  { // Entry 76
    (long long int)-0x1.p51,
    -0x1.0p51
  },
  { // Entry 77
    (long long int)-0x1.p51,
    -0x1.fffffffffffffp50
  },
  { // Entry 78
    (long long int)-0x1.00000000000010p52,
    -0x1.0000000000001p52
  },
  { // Entry 79
    (long long int)-0x1.p52,
    -0x1.0p52
  },
  { // Entry 80
    (long long int)-0x1.p52,
    -0x1.fffffffffffffp51
  },
  { // Entry 81
    (long long int)-0x1.00000000000010p53,
    -0x1.0000000000001p53
  },
  { // Entry 82
    (long long int)-0x1.p53,
    -0x1.0p53
  },
  { // Entry 83
    (long long int)-0x1.fffffffffffff0p52,
    -0x1.fffffffffffffp52
  },
  { // Entry 84
    (long long int)-0x1.00000000000010p54,
    -0x1.0000000000001p54
  },
  { // Entry 85
    (long long int)-0x1.p54,
    -0x1.0p54
  },
  { // Entry 86
    (long long int)-0x1.fffffffffffff0p53,
    -0x1.fffffffffffffp53
  },
  { // Entry 87
    (long long int)0x1.p30,
    0x1.fffffffffffffp29
  },
  { // Entry 88
    (long long int)0x1.p30,
    0x1.0p30
  },
  { // Entry 89
    (long long int)0x1.p30,
    0x1.0000000000001p30
  },
  { // Entry 90
    (long long int)0x1.fffffff8p30,
    0x1.fffffff7ffffep30
  },
  { // Entry 91
    (long long int)0x1.fffffff8p30,
    0x1.fffffff7fffffp30
  },
  { // Entry 92
    (long long int)0x1.fffffff8p30,
    0x1.fffffff80p30
  },
  { // Entry 93
    (long long int)0x1.fffffff8p30,
    0x1.fffffff800001p30
  },
  { // Entry 94
    (long long int)0x1.fffffff8p30,
    0x1.fffffff800002p30
  },
  { // Entry 95
    (long long int)0x1.fffffff8p30,
    0x1.fffffff9ffffep30
  },
  { // Entry 96
    (long long int)0x1.fffffff8p30,
    0x1.fffffff9fffffp30
  },
  { // Entry 97
    (long long int)0x1.fffffff8p30,
    0x1.fffffffa0p30
  },
  { // Entry 98
    (long long int)0x1.fffffffcp30,
    0x1.fffffffa00001p30
  },
  { // Entry 99
    (long long int)0x1.fffffffcp30,
    0x1.fffffffa00002p30
  },
  { // Entry 100
    (long long int)0x1.fffffffcp30,
    0x1.fffffffbffffep30
  },
  { // Entry 101
    (long long int)0x1.fffffffcp30,
    0x1.fffffffbfffffp30
  },
  { // Entry 102
    (long long int)0x1.fffffffcp30,
    0x1.fffffffc0p30
  },
  { // Entry 103
    (long long int)0x1.fffffffcp30,
    0x1.fffffffc00001p30
  },
  { // Entry 104
    (long long int)0x1.fffffffcp30,
    0x1.fffffffc00002p30
  },
  { // Entry 105
    (long long int)0x1.fffffffcp30,
    0x1.fffffffdffffep30
  },
  { // Entry 106
    (long long int)0x1.fffffffcp30,
    0x1.fffffffdfffffp30
  },
  { // Entry 107
    (long long int)0x1.p31,
    0x1.fffffffe0p30
  },
  { // Entry 108
    (long long int)0x1.p31,
    0x1.fffffffe00001p30
  },
  { // Entry 109
    (long long int)0x1.p31,
    0x1.fffffffe00002p30
  },
  { // Entry 110
    (long long int)0x1.p31,
    0x1.ffffffffffffep30
  },
  { // Entry 111
    (long long int)0x1.p31,
    0x1.fffffffffffffp30
  },
  { // Entry 112
    (long long int)0x1.p31,
    0x1.0p31
  },
  { // Entry 113
    (long long int)0x1.p31,
    0x1.0000000000001p31
  },
  { // Entry 114
    (long long int)0x1.p31,
    0x1.0000000000002p31
  },
  { // Entry 115
    (long long int)0x1.p31,
    0x1.00000000ffffep31
  },
  { // Entry 116
    (long long int)0x1.p31,
    0x1.00000000fffffp31
  },
  { // Entry 117
    (long long int)0x1.p31,
    0x1.000000010p31
  },
  { // Entry 118
    (long long int)0x1.00000002p31,
    0x1.0000000100001p31
  },
  { // Entry 119
    (long long int)0x1.00000002p31,
    0x1.0000000100002p31
  },
  { // Entry 120
    (long long int)0x1.ffffffe0p30,
    0x1.ffffffep30
  },
  { // Entry 121
    (long long int)0x1.ffffffe4p30,
    0x1.ffffffe40p30
  },
  { // Entry 122
    (long long int)0x1.ffffffe8p30,
    0x1.ffffffe80p30
  },
  { // Entry 123
    (long long int)0x1.ffffffecp30,
    0x1.ffffffec0p30
  },
  { // Entry 124
    (long long int)0x1.fffffff0p30,
    0x1.fffffffp30
  },
  { // Entry 125
    (long long int)0x1.fffffff4p30,
    0x1.fffffff40p30
  },
  { // Entry 126
    (long long int)0x1.fffffff8p30,
    0x1.fffffff80p30
  },
  { // Entry 127
    (long long int)0x1.fffffffcp30,
    0x1.fffffffc0p30
  },
  { // Entry 128
    (long long int)0x1.p31,
    0x1.0p31
  },
  { // Entry 129
    (long long int)0x1.00000002p31,
    0x1.000000020p31
  },
  { // Entry 130
    (long long int)-0x1.p30,
    -0x1.0000000000001p30
  },
  { // Entry 131
    (long long int)-0x1.p30,
    -0x1.0p30
  },
  { // Entry 132
    (long long int)-0x1.p30,
    -0x1.fffffffffffffp29
  },
  { // Entry 133
    (long long int)-0x1.fffffff8p30,
    -0x1.fffffff800002p30
  },
  { // Entry 134
    (long long int)-0x1.fffffff8p30,
    -0x1.fffffff800001p30
  },
  { // Entry 135
    (long long int)-0x1.fffffff8p30,
    -0x1.fffffff80p30
  },
  { // Entry 136
    (long long int)-0x1.fffffff8p30,
    -0x1.fffffff7fffffp30
  },
  { // Entry 137
    (long long int)-0x1.fffffff8p30,
    -0x1.fffffff7ffffep30
  },
  { // Entry 138
    (long long int)-0x1.fffffffcp30,
    -0x1.fffffffa00002p30
  },
  { // Entry 139
    (long long int)-0x1.fffffffcp30,
    -0x1.fffffffa00001p30
  },
  { // Entry 140
    (long long int)-0x1.fffffff8p30,
    -0x1.fffffffa0p30
  },
  { // Entry 141
    (long long int)-0x1.fffffff8p30,
    -0x1.fffffff9fffffp30
  },
  { // Entry 142
    (long long int)-0x1.fffffff8p30,
    -0x1.fffffff9ffffep30
  },
  { // Entry 143
    (long long int)-0x1.fffffffcp30,
    -0x1.fffffffc00002p30
  },
  { // Entry 144
    (long long int)-0x1.fffffffcp30,
    -0x1.fffffffc00001p30
  },
  { // Entry 145
    (long long int)-0x1.fffffffcp30,
    -0x1.fffffffc0p30
  },
  { // Entry 146
    (long long int)-0x1.fffffffcp30,
    -0x1.fffffffbfffffp30
  },
  { // Entry 147
    (long long int)-0x1.fffffffcp30,
    -0x1.fffffffbffffep30
  },
  { // Entry 148
    (long long int)-0x1.p31,
    -0x1.fffffffe00002p30
  },
  { // Entry 149
    (long long int)-0x1.p31,
    -0x1.fffffffe00001p30
  },
  { // Entry 150
    (long long int)-0x1.p31,
    -0x1.fffffffe0p30
  },
  { // Entry 151
    (long long int)-0x1.fffffffcp30,
    -0x1.fffffffdfffffp30
  },
  { // Entry 152
    (long long int)-0x1.fffffffcp30,
    -0x1.fffffffdffffep30
  },
  { // Entry 153
    (long long int)-0x1.p31,
    -0x1.0000000000002p31
  },
  { // Entry 154
    (long long int)-0x1.p31,
    -0x1.0000000000001p31
  },
  { // Entry 155
    (long long int)-0x1.p31,
    -0x1.0p31
  },
  { // Entry 156
    (long long int)-0x1.p31,
    -0x1.fffffffffffffp30
  },
  { // Entry 157
    (long long int)-0x1.p31,
    -0x1.ffffffffffffep30
  },
  { // Entry 158
    (long long int)-0x1.00000002p31,
    -0x1.0000000100002p31
  },
  { // Entry 159
    (long long int)-0x1.00000002p31,
    -0x1.0000000100001p31
  },
  { // Entry 160
    (long long int)-0x1.p31,
    -0x1.000000010p31
  },
  { // Entry 161
    (long long int)-0x1.p31,
    -0x1.00000000fffffp31
  },
  { // Entry 162
    (long long int)-0x1.p31,
    -0x1.00000000ffffep31
  },
  { // Entry 163
    (long long int)-0x1.ffffffe0p30,
    -0x1.ffffffep30
  },
  { // Entry 164
    (long long int)-0x1.ffffffe0p30,
    -0x1.ffffffep30
  },
  { // Entry 165
    (long long int)-0x1.ffffffe0p30,
    -0x1.ffffffep30
  },
  { // Entry 166
    (long long int)-0x1.ffffffe0p30,
    -0x1.ffffffep30
  },
  { // Entry 167
    (long long int)-0x1.ffffffe0p30,
    -0x1.ffffffep30
  },
  { // Entry 168
    (long long int)-0x1.ffffffe0p30,
    -0x1.ffffffep30
  },
  { // Entry 169
    (long long int)-0x1.ffffffe0p30,
    -0x1.ffffffep30
  },
  { // Entry 170
    (long long int)-0x1.ffffffe0p30,
    -0x1.ffffffep30
  },
  { // Entry 171
    (long long int)-0x1.ffffffe0p30,
    -0x1.ffffffep30
  },
  { // Entry 172
    (long long int)-0x1.ffffffe0p30,
    -0x1.ffffffep30
  },
  { // Entry 173
    (long long int)0x1.ffffffffffffe0p61,
    0x1.ffffffffffffep61
  },
  { // Entry 174
    (long long int)0x1.fffffffffffff0p61,
    0x1.fffffffffffffp61
  },
  { // Entry 175
    (long long int)0x1.p62,
    0x1.0p62
  },
  { // Entry 176
    (long long int)0x1.00000000000010p62,
    0x1.0000000000001p62
  },
  { // Entry 177
    (long long int)0x1.00000000000020p62,
    0x1.0000000000002p62
  },
  { // Entry 178
    (long long int)0x1.ffffffffffffe0p62,
    0x1.ffffffffffffep62
  },
  { // Entry 179
    (long long int)0x1.fffffffffffff0p62,
    0x1.fffffffffffffp62
  },
  { // Entry 180
    (long long int)-0x1.00000000000020p62,
    -0x1.0000000000002p62
  },
  { // Entry 181
    (long long int)-0x1.00000000000010p62,
    -0x1.0000000000001p62
  },
  { // Entry 182
    (long long int)-0x1.p62,
    -0x1.0p62
  },
  { // Entry 183
    (long long int)-0x1.fffffffffffff0p61,
    -0x1.fffffffffffffp61
  },
  { // Entry 184
    (long long int)-0x1.ffffffffffffe0p61,
    -0x1.ffffffffffffep61
  },
  { // Entry 185
    (long long int)-0x1.p63,
    -0x1.0p63
  },
  { // Entry 186
    (long long int)-0x1.fffffffffffff0p62,
    -0x1.fffffffffffffp62
  },
  { // Entry 187
    (long long int)-0x1.ffffffffffffe0p62,
    -0x1.ffffffffffffep62
  },
  { // Entry 188
    (long long int)0x1.p62,
    0x1.0p62
  },
  { // Entry 189
    (long long int)-0x1.p62,
    -0x1.0p62
  },
  { // Entry 190
    (long long int)-0x1.p63,
    -0x1.0p63
  },
  { // Entry 191
    (long long int)0x1.fffffffcp30,
    0x1.fffffffbfffffp30
  },
  { // Entry 192
    (long long int)0x1.fffffffcp30,
    0x1.fffffffc0p30
  },
  { // Entry 193
    (long long int)0x1.fffffffcp30,
    0x1.fffffffc00001p30
  },
  { // Entry 194
    (long long int)-0x1.p31,
    -0x1.0000000000001p31
  },
  { // Entry 195
    (long long int)-0x1.p31,
    -0x1.0p31
  },
  { // Entry 196
    (long long int)-0x1.p31,
    -0x1.fffffffffffffp30
  },
  { // Entry 197
    (long long int)0x1.p2,
    0x1.fffffffffffffp1
  },
  { // Entry 198
    (long long int)0x1.p2,
    0x1.0p2
  },
  { // Entry 199
    (long long int)0x1.p2,
    0x1.0000000000001p2
  },
  { // Entry 200
    (long long int)0x1.p3,
    0x1.fffffffffffffp2
  },
  { // Entry 201
    (long long int)0x1.p3,
    0x1.0p3
  },
  { // Entry 202
    (long long int)0x1.p3,
    0x1.0000000000001p3
  },
  { // Entry 203
    (long long int)0x1.p4,
    0x1.fffffffffffffp3
  },
  { // Entry 204
    (long long int)0x1.p4,
    0x1.0p4
  },
  { // Entry 205
    (long long int)0x1.p4,
    0x1.0000000000001p4
  },
  { // Entry 206
    (long long int)0x1.p5,
    0x1.fffffffffffffp4
  },
  { // Entry 207
    (long long int)0x1.p5,
    0x1.0p5
  },
  { // Entry 208
    (long long int)0x1.p5,
    0x1.0000000000001p5
  },
  { // Entry 209
    (long long int)0x1.p6,
    0x1.fffffffffffffp5
  },
  { // Entry 210
    (long long int)0x1.p6,
    0x1.0p6
  },
  { // Entry 211
    (long long int)0x1.p6,
    0x1.0000000000001p6
  },
  { // Entry 212
    (long long int)0x1.p7,
    0x1.fffffffffffffp6
  },
  { // Entry 213
    (long long int)0x1.p7,
    0x1.0p7
  },
  { // Entry 214
    (long long int)0x1.p7,
    0x1.0000000000001p7
  },
  { // Entry 215
    (long long int)0x1.p8,
    0x1.fffffffffffffp7
  },
  { // Entry 216
    (long long int)0x1.p8,
    0x1.0p8
  },
  { // Entry 217
    (long long int)0x1.p8,
    0x1.0000000000001p8
  },
  { // Entry 218
    (long long int)0x1.p9,
    0x1.fffffffffffffp8
  },
  { // Entry 219
    (long long int)0x1.p9,
    0x1.0p9
  },
  { // Entry 220
    (long long int)0x1.p9,
    0x1.0000000000001p9
  },
  { // Entry 221
    (long long int)0x1.p10,
    0x1.fffffffffffffp9
  },
  { // Entry 222
    (long long int)0x1.p10,
    0x1.0p10
  },
  { // Entry 223
    (long long int)0x1.p10,
    0x1.0000000000001p10
  },
  { // Entry 224
    (long long int)0x1.p11,
    0x1.fffffffffffffp10
  },
  { // Entry 225
    (long long int)0x1.p11,
    0x1.0p11
  },
  { // Entry 226
    (long long int)0x1.p11,
    0x1.0000000000001p11
  },
  { // Entry 227
    (long long int)0x1.p12,
    0x1.fffffffffffffp11
  },
  { // Entry 228
    (long long int)0x1.p12,
    0x1.0p12
  },
  { // Entry 229
    (long long int)0x1.p12,
    0x1.0000000000001p12
  },
  { // Entry 230
    (long long int)0x1.p2,
    0x1.1ffffffffffffp2
  },
  { // Entry 231
    (long long int)0x1.p2,
    0x1.2p2
  },
  { // Entry 232
    (long long int)0x1.40p2,
    0x1.2000000000001p2
  },
  { // Entry 233
    (long long int)0x1.p3,
    0x1.0ffffffffffffp3
  },
  { // Entry 234
    (long long int)0x1.p3,
    0x1.1p3
  },
  { // Entry 235
    (long long int)0x1.20p3,
    0x1.1000000000001p3
  },
  { // Entry 236
    (long long int)0x1.p4,
    0x1.07fffffffffffp4
  },
  { // Entry 237
    (long long int)0x1.p4,
    0x1.080p4
  },
  { // Entry 238
    (long long int)0x1.10p4,
    0x1.0800000000001p4
  },
  { // Entry 239
    (long long int)0x1.p5,
    0x1.03fffffffffffp5
  },
  { // Entry 240
    (long long int)0x1.p5,
    0x1.040p5
  },
  { // Entry 241
    (long long int)0x1.08p5,
    0x1.0400000000001p5
  },
  { // Entry 242
    (long long int)0x1.p6,
    0x1.01fffffffffffp6
  },
  { // Entry 243
    (long long int)0x1.p6,
    0x1.020p6
  },
  { // Entry 244
    (long long int)0x1.04p6,
    0x1.0200000000001p6
  },
  { // Entry 245
    (long long int)0x1.p7,
    0x1.00fffffffffffp7
  },
  { // Entry 246
    (long long int)0x1.p7,
    0x1.010p7
  },
  { // Entry 247
    (long long int)0x1.02p7,
    0x1.0100000000001p7
  },
  { // Entry 248
    (long long int)0x1.p8,
    0x1.007ffffffffffp8
  },
  { // Entry 249
    (long long int)0x1.p8,
    0x1.008p8
  },
  { // Entry 250
    (long long int)0x1.01p8,
    0x1.0080000000001p8
  },
  { // Entry 251
    (long long int)0x1.p9,
    0x1.003ffffffffffp9
  },
  { // Entry 252
    (long long int)0x1.p9,
    0x1.004p9
  },
  { // Entry 253
    (long long int)0x1.0080p9,
    0x1.0040000000001p9
  },
  { // Entry 254
    (long long int)0x1.p10,
    0x1.001ffffffffffp10
  },
  { // Entry 255
    (long long int)0x1.p10,
    0x1.002p10
  },
  { // Entry 256
    (long long int)0x1.0040p10,
    0x1.0020000000001p10
  },
  { // Entry 257
    (long long int)0x1.0040p10,
    0x1.005ffffffffffp10
  },
  { // Entry 258
    (long long int)0x1.0080p10,
    0x1.006p10
  },
  { // Entry 259
    (long long int)0x1.0080p10,
    0x1.0060000000001p10
  },
  { // Entry 260
    (long long int)0x1.p11,
    0x1.000ffffffffffp11
  },
  { // Entry 261
    (long long int)0x1.p11,
    0x1.001p11
  },
  { // Entry 262
    (long long int)0x1.0020p11,
    0x1.0010000000001p11
  },
  { // Entry 263
    (long long int)0x1.p12,
    0x1.0007fffffffffp12
  },
  { // Entry 264
    (long long int)0x1.p12,
    0x1.00080p12
  },
  { // Entry 265
    (long long int)0x1.0010p12,
    0x1.0008000000001p12
  },
  { // Entry 266
    (long long int)0x1.80p1,
    0x1.921fb54442d18p1
  },
  { // Entry 267
    (long long int)-0x1.80p1,
    -0x1.921fb54442d18p1
  },
  { // Entry 268
    (long long int)0x1.p1,
    0x1.921fb54442d18p0
  },
  { // Entry 269
    (long long int)-0x1.p1,
    -0x1.921fb54442d18p0
  },
  { // Entry 270
    (long long int)0x1.p0,
    0x1.0000000000001p0
  },
  { // Entry 271
    (long long int)-0x1.p0,
    -0x1.0000000000001p0
  },
  { // Entry 272
    (long long int)0x1.p0,
    0x1.0p0
  },
  { // Entry 273
    (long long int)-0x1.p0,
    -0x1.0p0
  },
  { // Entry 274
    (long long int)0x1.p0,
    0x1.fffffffffffffp-1
  },
  { // Entry 275
    (long long int)-0x1.p0,
    -0x1.fffffffffffffp-1
  },
  { // Entry 276
    (long long int)0x1.p0,
    0x1.921fb54442d18p-1
  },
  { // Entry 277
    (long long int)-0x1.p0,
    -0x1.921fb54442d18p-1
  },
  { // Entry 278
    (long long int)0.0,
    0x1.0000000000001p-1022
  },
  { // Entry 279
    (long long int)0.0,
    -0x1.0000000000001p-1022
  },
  { // Entry 280
    (long long int)0.0,
    0x1.0p-1022
  },
  { // Entry 281
    (long long int)0.0,
    -0x1.0p-1022
  },
  { // Entry 282
    (long long int)0.0,
    0x1.ffffffffffffep-1023
  },
  { // Entry 283
    (long long int)0.0,
    -0x1.ffffffffffffep-1023
  },
  { // Entry 284
    (long long int)0.0,
    0x1.ffffffffffffcp-1023
  },
  { // Entry 285
    (long long int)0.0,
    -0x1.ffffffffffffcp-1023
  },
  { // Entry 286
    (long long int)0.0,
    0x1.0p-1073
  },
  { // Entry 287
    (long long int)0.0,
    -0x1.0p-1073
  },
  { // Entry 288
    (long long int)0.0,
    0x1.0p-1074
  },
  { // Entry 289
    (long long int)0.0,
    -0x1.0p-1074
  },
  { // Entry 290
    (long long int)0.0,
    0.0
  },
  { // Entry 291
    (long long int)0.0,
    -0.0
  },
  { // Entry 292
    (long long int)0x1.p1,
    0x1.8p0
  },
  { // Entry 293
    (long long int)-0x1.p1,
    -0x1.8p0
  },
  { // Entry 294
    (long long int)0x1.p1,
    0x1.4p1
  },
  { // Entry 295
    (long long int)-0x1.p1,
    -0x1.4p1
  },
  { // Entry 296
    (long long int)0.0,
    0x1.fffffp-2
  },
  { // Entry 297
    (long long int)0.0,
    0x1.0p-1
  },
  { // Entry 298
    (long long int)0x1.p0,
    0x1.00001p-1
  },
  { // Entry 299
    (long long int)0.0,
    -0x1.fffffp-2
  },
  { // Entry 300
    (long long int)0.0,
    -0x1.0p-1
  },
  { // Entry 301
    (long long int)-0x1.p0,
    -0x1.00001p-1
  },
  { // Entry 302
    (long long int)0x1.p1,
    0x1.80001p0
  },
  { // Entry 303
    (long long int)0x1.p0,
    0x1.7ffffp0
  },
  { // Entry 304
    (long long int)-0x1.p1,
    -0x1.80001p0
  },
  { // Entry 305
    (long long int)-0x1.p0,
    -0x1.7ffffp0
  }
};