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