| Jingwei Zhang | 5d4f0e6 | 2014-10-31 18:29:18 +0800 | [diff] [blame] | 1 | /* | 
 | 2 | Copyright (c) 2014, Intel Corporation | 
 | 3 | All rights reserved. | 
 | 4 |  | 
 | 5 | Redistribution and use in source and binary forms, with or without | 
 | 6 | modification, are permitted provided that the following conditions are met: | 
 | 7 |  | 
 | 8 |     * Redistributions of source code must retain the above copyright notice, | 
 | 9 |     * this list of conditions and the following disclaimer. | 
 | 10 |  | 
 | 11 |     * Redistributions in binary form must reproduce the above copyright notice, | 
 | 12 |     * this list of conditions and the following disclaimer in the documentation | 
 | 13 |     * and/or other materials provided with the distribution. | 
 | 14 |  | 
 | 15 |     * Neither the name of Intel Corporation nor the names of its contributors | 
 | 16 |     * may be used to endorse or promote products derived from this software | 
 | 17 |     * without specific prior written permission. | 
 | 18 |  | 
 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | 
 | 20 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | 
 | 21 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 
 | 22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR | 
 | 23 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | 
 | 24 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | 
 | 25 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | 
 | 26 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
 | 27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 
 | 28 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
 | 29 | */ | 
 | 30 |  | 
 | 31 | /******************************************************************************/ | 
 | 32 | //                     ALGORITHM DESCRIPTION | 
 | 33 | //                     --------------------- | 
 | 34 | // | 
 | 35 | //    Let x=2^k * mx, mx in [1,2) | 
 | 36 | // | 
 | 37 | //    Get B~1/mx based on the output of rcpss instruction (B0) | 
 | 38 | //    B = int((B0*LH*2^7+0.5))/2^7 | 
 | 39 | //    LH is a short approximation for log10(e) | 
 | 40 | // | 
 | 41 | //    Reduced argument: r=B*mx-LH (computed accurately in high and low parts) | 
 | 42 | // | 
 | 43 | //    Result:  k*log10(2) - log(B) + p(r) | 
 | 44 | //             p(r) is a degree 7 polynomial | 
 | 45 | //             -log(B) read from data table (high, low parts) | 
 | 46 | //             Result is formed from high and low parts | 
 | 47 | // | 
 | 48 | // Special cases: | 
 | 49 | //  log10(0) = -INF with divide-by-zero exception raised                                            | 
 | 50 | //  log10(1) = +0 | 
 | 51 | //  log10(x) = NaN with invalid exception raised if x < -0, including -INF | 
 | 52 | //  log10(+INF) = +INF | 
 | 53 | // | 
 | 54 | /******************************************************************************/ | 
 | 55 |  | 
 | 56 | #include <private/bionic_asm.h> | 
 | 57 | # -- Begin  static_func | 
 | 58 |         .text | 
 | 59 |         .align __bionic_asm_align | 
 | 60 |         .type static_func, @function | 
 | 61 | static_func: | 
 | 62 | ..B1.1: | 
 | 63 |         call      ..L2 | 
 | 64 | ..L2: | 
 | 65 |         popl      %eax | 
 | 66 |         lea       _GLOBAL_OFFSET_TABLE_+[. - ..L2](%eax), %eax | 
 | 67 |         lea       static_const_table@GOTOFF(%eax), %eax | 
 | 68 |         ret | 
 | 69 |         .size   static_func,.-static_func | 
 | 70 | # -- End  static_func | 
 | 71 |  | 
 | 72 | # -- Begin  log10 | 
 | 73 | ENTRY(log10) | 
 | 74 | # parameter 1: 8 + %ebp | 
 | 75 | ..B2.1: | 
 | 76 | ..B2.2: | 
 | 77 |         pushl     %ebp | 
 | 78 |         movl      %esp, %ebp | 
 | 79 |         subl      $104, %esp | 
 | 80 |         movl      %ebx, 40(%esp) | 
 | 81 |         call      static_func | 
 | 82 |         movl      %eax, %ebx | 
 | 83 |         xorpd     %xmm2, %xmm2 | 
 | 84 |         movl      $16368, %eax | 
 | 85 |         pinsrw    $3, %eax, %xmm2 | 
 | 86 |         movl      $1054736384, %ecx | 
 | 87 |         movd      %ecx, %xmm7 | 
 | 88 |         xorpd     %xmm3, %xmm3 | 
 | 89 |         movl      $30704, %edx | 
 | 90 |         pinsrw    $3, %edx, %xmm3 | 
 | 91 |         movsd     112(%esp), %xmm0 | 
 | 92 |         movapd    %xmm0, %xmm1 | 
 | 93 |         movl      $32768, %edx | 
 | 94 |         movd      %edx, %xmm4 | 
 | 95 |         movapd    2128(%ebx), %xmm5 | 
 | 96 |         pextrw    $3, %xmm0, %eax | 
 | 97 |         orpd      %xmm2, %xmm0 | 
 | 98 |         movl      $16352, %ecx | 
 | 99 |         psllq     $5, %xmm0 | 
 | 100 |         movsd     2144(%ebx), %xmm2 | 
 | 101 |         psrlq     $34, %xmm0 | 
 | 102 |         rcpss     %xmm0, %xmm0 | 
 | 103 |         psllq     $12, %xmm1 | 
 | 104 |         pshufd    $78, %xmm5, %xmm6 | 
 | 105 |         psrlq     $12, %xmm1 | 
 | 106 |         subl      $16, %eax | 
 | 107 |         cmpl      $32736, %eax | 
 | 108 |         jae       .L_2TAG_PACKET_0.0.2 | 
 | 109 | .L_2TAG_PACKET_1.0.2: | 
 | 110 |         mulss     %xmm7, %xmm0 | 
 | 111 |         orpd      %xmm3, %xmm1 | 
 | 112 |         andpd     %xmm1, %xmm5 | 
 | 113 |         paddd     %xmm4, %xmm0 | 
 | 114 |         subsd     %xmm5, %xmm1 | 
 | 115 |         movd      %xmm0, %edx | 
 | 116 |         psllq     $29, %xmm0 | 
 | 117 |         andpd     %xmm6, %xmm0 | 
 | 118 |         andl      $32752, %eax | 
 | 119 |         subl      %ecx, %eax | 
 | 120 |         cvtsi2sdl %eax, %xmm7 | 
 | 121 |         mulpd     %xmm0, %xmm5 | 
 | 122 |         mulsd     %xmm0, %xmm1 | 
 | 123 |         movsd     2064(%ebx), %xmm6 | 
 | 124 |         movapd    2080(%ebx), %xmm3 | 
 | 125 |         subsd     %xmm2, %xmm5 | 
 | 126 |         andl      $16711680, %edx | 
 | 127 |         shrl      $12, %edx | 
 | 128 |         movapd    -1504(%ebx,%edx), %xmm0 | 
 | 129 |         movapd    2096(%ebx), %xmm4 | 
 | 130 |         addsd     %xmm5, %xmm1 | 
 | 131 |         movapd    2112(%ebx), %xmm2 | 
 | 132 |         mulsd     %xmm7, %xmm6 | 
 | 133 |         pshufd    $68, %xmm1, %xmm5 | 
 | 134 |         mulsd     2072(%ebx), %xmm7 | 
 | 135 |         mulsd     %xmm1, %xmm3 | 
 | 136 |         addsd     %xmm6, %xmm0 | 
 | 137 |         mulpd     %xmm5, %xmm4 | 
 | 138 |         movsd     2152(%ebx), %xmm6 | 
 | 139 |         mulpd     %xmm5, %xmm5 | 
 | 140 |         addpd     %xmm2, %xmm4 | 
 | 141 |         mulpd     %xmm5, %xmm3 | 
 | 142 |         pshufd    $228, %xmm0, %xmm2 | 
 | 143 |         addsd     %xmm1, %xmm0 | 
 | 144 |         mulsd     %xmm1, %xmm4 | 
 | 145 |         subsd     %xmm0, %xmm2 | 
 | 146 |         mulsd     %xmm1, %xmm6 | 
 | 147 |         addsd     %xmm2, %xmm1 | 
 | 148 |         pshufd    $238, %xmm0, %xmm2 | 
 | 149 |         mulsd     %xmm5, %xmm5 | 
 | 150 |         addsd     %xmm2, %xmm7 | 
 | 151 |         addsd     %xmm6, %xmm1 | 
 | 152 |         addpd     %xmm3, %xmm4 | 
 | 153 |         addsd     %xmm7, %xmm1 | 
 | 154 |         mulpd     %xmm5, %xmm4 | 
 | 155 |         addsd     %xmm4, %xmm1 | 
 | 156 |         pshufd    $238, %xmm4, %xmm5 | 
 | 157 |         addsd     %xmm5, %xmm1 | 
 | 158 |         addsd     %xmm1, %xmm0 | 
 | 159 |         jmp       .L_2TAG_PACKET_2.0.2 | 
 | 160 | .L_2TAG_PACKET_0.0.2: | 
 | 161 |         movsd     112(%esp), %xmm0 | 
 | 162 |         movapd    %xmm0, %xmm1 | 
 | 163 |         addl      $16, %eax | 
 | 164 |         cmpl      $32768, %eax | 
 | 165 |         jae       .L_2TAG_PACKET_3.0.2 | 
 | 166 |         cmpl      $16, %eax | 
 | 167 |         jb        .L_2TAG_PACKET_4.0.2 | 
 | 168 | .L_2TAG_PACKET_5.0.2: | 
 | 169 |         addsd     %xmm0, %xmm0 | 
 | 170 |         jmp       .L_2TAG_PACKET_2.0.2 | 
 | 171 | .L_2TAG_PACKET_6.0.2: | 
 | 172 |         ja        .L_2TAG_PACKET_5.0.2 | 
 | 173 |         cmpl      $0, %edx | 
 | 174 |         ja        .L_2TAG_PACKET_5.0.2 | 
 | 175 |         jmp       .L_2TAG_PACKET_7.0.2 | 
 | 176 | .L_2TAG_PACKET_3.0.2: | 
 | 177 |         movd      %xmm1, %edx | 
 | 178 |         psrlq     $32, %xmm1 | 
 | 179 |         movd      %xmm1, %ecx | 
 | 180 |         addl      %ecx, %ecx | 
 | 181 |         cmpl      $-2097152, %ecx | 
 | 182 |         jae       .L_2TAG_PACKET_6.0.2 | 
 | 183 |         orl       %ecx, %edx | 
 | 184 |         cmpl      $0, %edx | 
 | 185 |         je        .L_2TAG_PACKET_8.0.2 | 
 | 186 | .L_2TAG_PACKET_7.0.2: | 
 | 187 |         xorpd     %xmm1, %xmm1 | 
 | 188 |         xorpd     %xmm0, %xmm0 | 
 | 189 |         movl      $32752, %eax | 
 | 190 |         pinsrw    $3, %eax, %xmm1 | 
 | 191 |         movl      $9, %edx | 
 | 192 |         mulsd     %xmm1, %xmm0 | 
 | 193 | .L_2TAG_PACKET_9.0.2: | 
 | 194 |         movsd     %xmm0, (%esp) | 
 | 195 |         movsd     112(%esp), %xmm0 | 
 | 196 |         fldl      (%esp) | 
 | 197 |         jmp       .L_2TAG_PACKET_10.0.2 | 
 | 198 | .L_2TAG_PACKET_8.0.2: | 
 | 199 |         xorpd     %xmm1, %xmm1 | 
 | 200 |         xorpd     %xmm0, %xmm0 | 
 | 201 |         movl      $49136, %eax | 
 | 202 |         pinsrw    $3, %eax, %xmm0 | 
 | 203 |         divsd     %xmm1, %xmm0 | 
 | 204 |         movl      $8, %edx | 
 | 205 |         jmp       .L_2TAG_PACKET_9.0.2 | 
 | 206 | .L_2TAG_PACKET_4.0.2: | 
 | 207 |         movd      %xmm1, %edx | 
 | 208 |         psrlq     $32, %xmm1 | 
 | 209 |         movd      %xmm1, %ecx | 
 | 210 |         orl       %ecx, %edx | 
 | 211 |         cmpl      $0, %edx | 
 | 212 |         je        .L_2TAG_PACKET_8.0.2 | 
 | 213 |         xorpd     %xmm1, %xmm1 | 
 | 214 |         movl      $18416, %eax | 
 | 215 |         pinsrw    $3, %eax, %xmm1 | 
 | 216 |         mulsd     %xmm1, %xmm0 | 
 | 217 |         xorpd     %xmm2, %xmm2 | 
 | 218 |         movl      $16368, %eax | 
 | 219 |         pinsrw    $3, %eax, %xmm2 | 
 | 220 |         movapd    %xmm0, %xmm1 | 
 | 221 |         pextrw    $3, %xmm0, %eax | 
 | 222 |         orpd      %xmm2, %xmm0 | 
 | 223 |         movl      $18416, %ecx | 
 | 224 |         psllq     $5, %xmm0 | 
 | 225 |         movsd     2144(%ebx), %xmm2 | 
 | 226 |         psrlq     $34, %xmm0 | 
 | 227 |         rcpss     %xmm0, %xmm0 | 
 | 228 |         psllq     $12, %xmm1 | 
 | 229 |         pshufd    $78, %xmm5, %xmm6 | 
 | 230 |         psrlq     $12, %xmm1 | 
 | 231 |         jmp       .L_2TAG_PACKET_1.0.2 | 
 | 232 | .L_2TAG_PACKET_2.0.2: | 
 | 233 |         movsd     %xmm0, 24(%esp) | 
 | 234 |         fldl      24(%esp) | 
 | 235 | .L_2TAG_PACKET_10.0.2: | 
 | 236 |         movl      40(%esp), %ebx | 
 | 237 |         movl      %ebp, %esp | 
 | 238 |         popl      %ebp | 
 | 239 |         ret        | 
 | 240 | ..B2.3: | 
 | 241 | END(log10) | 
 | 242 | # -- End  log10 | 
 | 243 |  | 
 | 244 | # Start file scope ASM | 
| Christopher Ferris | 995b813 | 2015-03-13 17:43:52 -0700 | [diff] [blame] | 245 | ALIAS_SYMBOL(log10l, log10); | 
| Jingwei Zhang | 5d4f0e6 | 2014-10-31 18:29:18 +0800 | [diff] [blame] | 246 | # End file scope ASM | 
 | 247 | 	.section .rodata, "a" | 
 | 248 | 	.align 16 | 
 | 249 | 	.align 16 | 
 | 250 | static_const_table: | 
 | 251 | 	.long	1352628224 | 
 | 252 | 	.long	1070810131 | 
 | 253 | 	.long	521319256 | 
 | 254 | 	.long	1025503025 | 
 | 255 | 	.long	2150839296 | 
 | 256 | 	.long	1070801944 | 
 | 257 | 	.long	3329350096 | 
 | 258 | 	.long	3170190015 | 
 | 259 | 	.long	1360613376 | 
 | 260 | 	.long	1070793794 | 
 | 261 | 	.long	2024059075 | 
 | 262 | 	.long	1024991594 | 
 | 263 | 	.long	1875350528 | 
 | 264 | 	.long	1070785680 | 
 | 265 | 	.long	2163882141 | 
 | 266 | 	.long	3163564137 | 
 | 267 | 	.long	2312126464 | 
 | 268 | 	.long	1070777602 | 
 | 269 | 	.long	1975711076 | 
 | 270 | 	.long	1023674196 | 
 | 271 | 	.long	1306336256 | 
 | 272 | 	.long	1070769560 | 
 | 273 | 	.long	3524899523 | 
 | 274 | 	.long	3170508164 | 
 | 275 | 	.long	1806334976 | 
 | 276 | 	.long	1070761553 | 
 | 277 | 	.long	4254777025 | 
 | 278 | 	.long	1025238739 | 
 | 279 | 	.long	2483193856 | 
 | 280 | 	.long	1070753581 | 
 | 281 | 	.long	3800671317 | 
 | 282 | 	.long	3172916830 | 
 | 283 | 	.long	2025350144 | 
 | 284 | 	.long	1070745644 | 
 | 285 | 	.long	1731514745 | 
 | 286 | 	.long	1025501083 | 
 | 287 | 	.long	3433285632 | 
 | 288 | 	.long	1070737741 | 
 | 289 | 	.long	2551857336 | 
 | 290 | 	.long	3169662186 | 
 | 291 | 	.long	1134317568 | 
 | 292 | 	.long	1070729873 | 
 | 293 | 	.long	3426297655 | 
 | 294 | 	.long	3172637891 | 
 | 295 | 	.long	2457152512 | 
 | 296 | 	.long	1070722038 | 
 | 297 | 	.long	63549415 | 
 | 298 | 	.long	1025415416 | 
 | 299 | 	.long	1861803008 | 
 | 300 | 	.long	1070714237 | 
 | 301 | 	.long	1910171636 | 
 | 302 | 	.long	1023977580 | 
 | 303 | 	.long	2414140416 | 
 | 304 | 	.long	1070706469 | 
 | 305 | 	.long	4002514337 | 
 | 306 | 	.long	3170841618 | 
 | 307 | 	.long	2900726784 | 
 | 308 | 	.long	1070698734 | 
 | 309 | 	.long	3268064083 | 
 | 310 | 	.long	1022459609 | 
 | 311 | 	.long	2123517952 | 
 | 312 | 	.long	1070691032 | 
 | 313 | 	.long	1767031218 | 
 | 314 | 	.long	1022448156 | 
 | 315 | 	.long	3194569728 | 
 | 316 | 	.long	1070683362 | 
 | 317 | 	.long	3402332618 | 
 | 318 | 	.long	3171671160 | 
 | 319 | 	.long	650882048 | 
 | 320 | 	.long	1070675725 | 
 | 321 | 	.long	4146023905 | 
 | 322 | 	.long	3171023038 | 
 | 323 | 	.long	1928988672 | 
 | 324 | 	.long	1070668119 | 
 | 325 | 	.long	1438617867 | 
 | 326 | 	.long	1016360491 | 
 | 327 | 	.long	1594908672 | 
 | 328 | 	.long	1070660545 | 
 | 329 | 	.long	971389377 | 
 | 330 | 	.long	1024763979 | 
 | 331 | 	.long	2818746368 | 
 | 332 | 	.long	1070653002 | 
 | 333 | 	.long	3555925341 | 
 | 334 | 	.long	3172434821 | 
 | 335 | 	.long	194584576 | 
 | 336 | 	.long	1070645491 | 
 | 337 | 	.long	943919215 | 
 | 338 | 	.long	3172950063 | 
 | 339 | 	.long	1215096832 | 
 | 340 | 	.long	1070638010 | 
 | 341 | 	.long	2283358588 | 
 | 342 | 	.long	1022335098 | 
 | 343 | 	.long	501519360 | 
 | 344 | 	.long	1070630560 | 
 | 345 | 	.long	480904295 | 
 | 346 | 	.long	1024437959 | 
 | 347 | 	.long	1278266368 | 
 | 348 | 	.long	1070623140 | 
 | 349 | 	.long	2755806066 | 
 | 350 | 	.long	3172342012 | 
 | 351 | 	.long	2487812096 | 
 | 352 | 	.long	1070615750 | 
 | 353 | 	.long	2489653202 | 
 | 354 | 	.long	3172481099 | 
 | 355 | 	.long	3085451264 | 
 | 356 | 	.long	1070608390 | 
 | 357 | 	.long	3759184951 | 
 | 358 | 	.long	3172574892 | 
 | 359 | 	.long	2039090176 | 
 | 360 | 	.long	1070601060 | 
 | 361 | 	.long	1361176676 | 
 | 362 | 	.long	3172355319 | 
 | 363 | 	.long	953057280 | 
 | 364 | 	.long	1070591423 | 
 | 365 | 	.long	1176587546 | 
 | 366 | 	.long	3166422018 | 
 | 367 | 	.long	3370524672 | 
 | 368 | 	.long	1070576879 | 
 | 369 | 	.long	3669570051 | 
 | 370 | 	.long	1025376630 | 
 | 371 | 	.long	749742080 | 
 | 372 | 	.long	1070562394 | 
 | 373 | 	.long	707700964 | 
 | 374 | 	.long	3170814058 | 
 | 375 | 	.long	4008353792 | 
 | 376 | 	.long	1070547965 | 
 | 377 | 	.long	3247327652 | 
 | 378 | 	.long	1022431400 | 
 | 379 | 	.long	2612455424 | 
 | 380 | 	.long	1070533594 | 
 | 381 | 	.long	2453457344 | 
 | 382 | 	.long	3172322969 | 
 | 383 | 	.long	3230920704 | 
 | 384 | 	.long	1070519279 | 
 | 385 | 	.long	1296781801 | 
 | 386 | 	.long	1025115335 | 
 | 387 | 	.long	3965253632 | 
 | 388 | 	.long	1070505020 | 
 | 389 | 	.long	373075289 | 
 | 390 | 	.long	1017938528 | 
 | 391 | 	.long	2593157120 | 
 | 392 | 	.long	1070476669 | 
 | 393 | 	.long	1068054086 | 
 | 394 | 	.long	1021616576 | 
 | 395 | 	.long	925962240 | 
 | 396 | 	.long	1070448537 | 
 | 397 | 	.long	850121213 | 
 | 398 | 	.long	1023928989 | 
 | 399 | 	.long	1732556800 | 
 | 400 | 	.long	1070420620 | 
 | 401 | 	.long	1305206740 | 
 | 402 | 	.long	3172665570 | 
 | 403 | 	.long	3815630848 | 
 | 404 | 	.long	1070392915 | 
 | 405 | 	.long	192642943 | 
 | 406 | 	.long	3172699907 | 
 | 407 | 	.long	2001758208 | 
 | 408 | 	.long	1070365420 | 
 | 409 | 	.long	2820786683 | 
 | 410 | 	.long	1024704867 | 
 | 411 | 	.long	16746496 | 
 | 412 | 	.long	1070338131 | 
 | 413 | 	.long	1399573110 | 
 | 414 | 	.long	3171372773 | 
 | 415 | 	.long	1886492672 | 
 | 416 | 	.long	1070311044 | 
 | 417 | 	.long	3621428075 | 
 | 418 | 	.long	3172974358 | 
 | 419 | 	.long	3338196992 | 
 | 420 | 	.long	1070284157 | 
 | 421 | 	.long	3793882035 | 
 | 422 | 	.long	1025124701 | 
 | 423 | 	.long	381769728 | 
 | 424 | 	.long	1070257468 | 
 | 425 | 	.long	3877933342 | 
 | 426 | 	.long	3170195490 | 
 | 427 | 	.long	2186491904 | 
 | 428 | 	.long	1070230972 | 
 | 429 | 	.long	1838687089 | 
 | 430 | 	.long	1017927292 | 
 | 431 | 	.long	1008330752 | 
 | 432 | 	.long	1070204668 | 
 | 433 | 	.long	2228321664 | 
 | 434 | 	.long	1025352196 | 
 | 435 | 	.long	2247065600 | 
 | 436 | 	.long	1070178552 | 
 | 437 | 	.long	1413900906 | 
 | 438 | 	.long	3170902532 | 
 | 439 | 	.long	2964070400 | 
 | 440 | 	.long	1070152622 | 
 | 441 | 	.long	3590454629 | 
 | 442 | 	.long	1025016844 | 
 | 443 | 	.long	465154048 | 
 | 444 | 	.long	1070126876 | 
 | 445 | 	.long	2079688550 | 
 | 446 | 	.long	3172268183 | 
 | 447 | 	.long	883615744 | 
 | 448 | 	.long	1070101310 | 
 | 449 | 	.long	989244452 | 
 | 450 | 	.long	3171900485 | 
 | 451 | 	.long	1993768960 | 
 | 452 | 	.long	1070075922 | 
 | 453 | 	.long	1124327841 | 
 | 454 | 	.long	3172964992 | 
 | 455 | 	.long	1794471936 | 
 | 456 | 	.long	1070050710 | 
 | 457 | 	.long	1140575046 | 
 | 458 | 	.long	1022673726 | 
 | 459 | 	.long	2797932544 | 
 | 460 | 	.long	1070025671 | 
 | 461 | 	.long	1894836933 | 
 | 462 | 	.long	3172544059 | 
 | 463 | 	.long	3433797632 | 
 | 464 | 	.long	1070000803 | 
 | 465 | 	.long	3221831166 | 
 | 466 | 	.long	3171921685 | 
 | 467 | 	.long	2338371584 | 
 | 468 | 	.long	1069976104 | 
 | 469 | 	.long	3732461053 | 
 | 470 | 	.long	3164513518 | 
 | 471 | 	.long	2644013056 | 
 | 472 | 	.long	1069951571 | 
 | 473 | 	.long	2519460462 | 
 | 474 | 	.long	3172548740 | 
 | 475 | 	.long	3383814144 | 
 | 476 | 	.long	1069927202 | 
 | 477 | 	.long	2290997657 | 
 | 478 | 	.long	1025499649 | 
 | 479 | 	.long	3781380096 | 
 | 480 | 	.long	1069902995 | 
 | 481 | 	.long	380479405 | 
 | 482 | 	.long	1025184136 | 
 | 483 | 	.long	3245785088 | 
 | 484 | 	.long	1069878948 | 
 | 485 | 	.long	1096398261 | 
 | 486 | 	.long	3169885192 | 
 | 487 | 	.long	1366712320 | 
 | 488 | 	.long	1069855059 | 
 | 489 | 	.long	2218343715 | 
 | 490 | 	.long	3170281628 | 
 | 491 | 	.long	2204717056 | 
 | 492 | 	.long	1069831325 | 
 | 493 | 	.long	2668334011 | 
 | 494 | 	.long	1025264524 | 
 | 495 | 	.long	1401772032 | 
 | 496 | 	.long	1069807745 | 
 | 497 | 	.long	4103993159 | 
 | 498 | 	.long	1022925721 | 
 | 499 | 	.long	3356721152 | 
 | 500 | 	.long	1069784316 | 
 | 501 | 	.long	3573790772 | 
 | 502 | 	.long	3172186527 | 
 | 503 | 	.long	4041148416 | 
 | 504 | 	.long	1069761037 | 
 | 505 | 	.long	4027691910 | 
 | 506 | 	.long	3171276990 | 
 | 507 | 	.long	3880151040 | 
 | 508 | 	.long	1069737906 | 
 | 509 | 	.long	4087118786 | 
 | 510 | 	.long	3172710734 | 
 | 511 | 	.long	3453364224 | 
 | 512 | 	.long	1069714921 | 
 | 513 | 	.long	99014299 | 
 | 514 | 	.long	3172003077 | 
 | 515 | 	.long	3491092480 | 
 | 516 | 	.long	1069692080 | 
 | 517 | 	.long	3801836701 | 
 | 518 | 	.long	3172989287 | 
 | 519 | 	.long	575580160 | 
 | 520 | 	.long	1069669382 | 
 | 521 | 	.long	1920406012 | 
 | 522 | 	.long	3170874125 | 
 | 523 | 	.long	22282240 | 
 | 524 | 	.long	1069646824 | 
 | 525 | 	.long	964193370 | 
 | 526 | 	.long	1019363159 | 
 | 527 | 	.long	2991429632 | 
 | 528 | 	.long	1069624404 | 
 | 529 | 	.long	3372589890 | 
 | 530 | 	.long	1023425053 | 
 | 531 | 	.long	2189645824 | 
 | 532 | 	.long	1069602122 | 
 | 533 | 	.long	2610503872 | 
 | 534 | 	.long	1023652442 | 
 | 535 | 	.long	3341467648 | 
 | 536 | 	.long	1069579975 | 
 | 537 | 	.long	1190292004 | 
 | 538 | 	.long	1022425665 | 
 | 539 | 	.long	3711293440 | 
 | 540 | 	.long	1069557962 | 
 | 541 | 	.long	1104795356 | 
 | 542 | 	.long	1023625829 | 
 | 543 | 	.long	1380401152 | 
 | 544 | 	.long	1069524644 | 
 | 545 | 	.long	1156998217 | 
 | 546 | 	.long	1025100499 | 
 | 547 | 	.long	765710336 | 
 | 548 | 	.long	1069481144 | 
 | 549 | 	.long	1736649113 | 
 | 550 | 	.long	1024999439 | 
 | 551 | 	.long	849412096 | 
 | 552 | 	.long	1069437902 | 
 | 553 | 	.long	2618178330 | 
 | 554 | 	.long	3170853629 | 
 | 555 | 	.long	1433104384 | 
 | 556 | 	.long	1069394915 | 
 | 557 | 	.long	43477267 | 
 | 558 | 	.long	3170378811 | 
 | 559 | 	.long	2548596736 | 
 | 560 | 	.long	1069352180 | 
 | 561 | 	.long	3967367063 | 
 | 562 | 	.long	1025246584 | 
 | 563 | 	.long	157577216 | 
 | 564 | 	.long	1069309695 | 
 | 565 | 	.long	100402533 | 
 | 566 | 	.long	3172825502 | 
 | 567 | 	.long	3326238720 | 
 | 568 | 	.long	1069267455 | 
 | 569 | 	.long	1176892909 | 
 | 570 | 	.long	1025464099 | 
 | 571 | 	.long	4155494400 | 
 | 572 | 	.long	1069225459 | 
 | 573 | 	.long	3713707617 | 
 | 574 | 	.long	3172630046 | 
 | 575 | 	.long	3545804800 | 
 | 576 | 	.long	1069183704 | 
 | 577 | 	.long	857007315 | 
 | 578 | 	.long	1024965777 | 
 | 579 | 	.long	2602520576 | 
 | 580 | 	.long	1069142187 | 
 | 581 | 	.long	2588758347 | 
 | 582 | 	.long	1022463131 | 
 | 583 | 	.long	2631196672 | 
 | 584 | 	.long	1069100905 | 
 | 585 | 	.long	2118424235 | 
 | 586 | 	.long	1022490989 | 
 | 587 | 	.long	838135808 | 
 | 588 | 	.long	1069059856 | 
 | 589 | 	.long	4117002727 | 
 | 590 | 	.long	1024874520 | 
 | 591 | 	.long	3210903552 | 
 | 592 | 	.long	1069019036 | 
 | 593 | 	.long	650070125 | 
 | 594 | 	.long	3172012966 | 
 | 595 | 	.long	3039211520 | 
 | 596 | 	.long	1068978444 | 
 | 597 | 	.long	438055812 | 
 | 598 | 	.long	1017743757 | 
 | 599 | 	.long	2385633280 | 
 | 600 | 	.long	1068938077 | 
 | 601 | 	.long	3011990369 | 
 | 602 | 	.long	3171312044 | 
 | 603 | 	.long	3491618816 | 
 | 604 | 	.long	1068897932 | 
 | 605 | 	.long	712813818 | 
 | 606 | 	.long	3172720400 | 
 | 607 | 	.long	183644160 | 
 | 608 | 	.long	1068858008 | 
 | 609 | 	.long	4287006742 | 
 | 610 | 	.long	1022379728 | 
 | 611 | 	.long	3639214080 | 
 | 612 | 	.long	1068818300 | 
 | 613 | 	.long	353762279 | 
 | 614 | 	.long	3172980009 | 
 | 615 | 	.long	3728416768 | 
 | 616 | 	.long	1068778808 | 
 | 617 | 	.long	1851367730 | 
 | 618 | 	.long	1025486574 | 
 | 619 | 	.long	3370094592 | 
 | 620 | 	.long	1068739529 | 
 | 621 | 	.long	4046594913 | 
 | 622 | 	.long	3172567047 | 
 | 623 | 	.long	1348407296 | 
 | 624 | 	.long	1068700461 | 
 | 625 | 	.long	143189675 | 
 | 626 | 	.long	1025397632 | 
 | 627 | 	.long	899403776 | 
 | 628 | 	.long	1068661601 | 
 | 629 | 	.long	3753687842 | 
 | 630 | 	.long	3170772772 | 
 | 631 | 	.long	1117708288 | 
 | 632 | 	.long	1068622947 | 
 | 633 | 	.long	1857340812 | 
 | 634 | 	.long	3170782678 | 
 | 635 | 	.long	1248276480 | 
 | 636 | 	.long	1068584497 | 
 | 637 | 	.long	1289858203 | 
 | 638 | 	.long	1025222289 | 
 | 639 | 	.long	683237376 | 
 | 640 | 	.long	1068546249 | 
 | 641 | 	.long	2356679608 | 
 | 642 | 	.long	3171629170 | 
 | 643 | 	.long	3253764096 | 
 | 644 | 	.long	1068508200 | 
 | 645 | 	.long	3267136556 | 
 | 646 | 	.long	1018554987 | 
 | 647 | 	.long	94478336 | 
 | 648 | 	.long	1068441756 | 
 | 649 | 	.long	1927868814 | 
 | 650 | 	.long	3169378180 | 
 | 651 | 	.long	3233144832 | 
 | 652 | 	.long	1068366445 | 
 | 653 | 	.long	2682188854 | 
 | 654 | 	.long	1023964004 | 
 | 655 | 	.long	2940297216 | 
 | 656 | 	.long	1068291522 | 
 | 657 | 	.long	275301289 | 
 | 658 | 	.long	1023944679 | 
 | 659 | 	.long	3677708288 | 
 | 660 | 	.long	1068216982 | 
 | 661 | 	.long	302658771 | 
 | 662 | 	.long	1024465567 | 
 | 663 | 	.long	1576968192 | 
 | 664 | 	.long	1068142822 | 
 | 665 | 	.long	3672035940 | 
 | 666 | 	.long	3172254610 | 
 | 667 | 	.long	1614069760 | 
 | 668 | 	.long	1068069037 | 
 | 669 | 	.long	480052905 | 
 | 670 | 	.long	3172692062 | 
 | 671 | 	.long	424435712 | 
 | 672 | 	.long	1067995624 | 
 | 673 | 	.long	2207869657 | 
 | 674 | 	.long	3170965436 | 
 | 675 | 	.long	3477782528 | 
 | 676 | 	.long	1067922578 | 
 | 677 | 	.long	2980661858 | 
 | 678 | 	.long	3164990018 | 
 | 679 | 	.long	3598401536 | 
 | 680 | 	.long	1067849897 | 
 | 681 | 	.long	1974393034 | 
 | 682 | 	.long	3171357083 | 
 | 683 | 	.long	2435235840 | 
 | 684 | 	.long	1067777577 | 
 | 685 | 	.long	1385289011 | 
 | 686 | 	.long	1024615823 | 
 | 687 | 	.long	1867333632 | 
 | 688 | 	.long	1067705614 | 
 | 689 | 	.long	3442236633 | 
 | 690 | 	.long	1025334384 | 
 | 691 | 	.long	3999301632 | 
 | 692 | 	.long	1067634004 | 
 | 693 | 	.long	3506472073 | 
 | 694 | 	.long	1025132546 | 
 | 695 | 	.long	2566971392 | 
 | 696 | 	.long	1067562745 | 
 | 697 | 	.long	1425757592 | 
 | 698 | 	.long	3172358463 | 
 | 699 | 	.long	112943104 | 
 | 700 | 	.long	1067491833 | 
 | 701 | 	.long	1693407156 | 
 | 702 | 	.long	3172426603 | 
 | 703 | 	.long	3079929856 | 
 | 704 | 	.long	1067392159 | 
 | 705 | 	.long	3999942455 | 
 | 706 | 	.long	1018549369 | 
 | 707 | 	.long	2443837440 | 
 | 708 | 	.long	1067251701 | 
 | 709 | 	.long	974534460 | 
 | 710 | 	.long	1023963412 | 
 | 711 | 	.long	359366656 | 
 | 712 | 	.long	1067111917 | 
 | 713 | 	.long	2204915018 | 
 | 714 | 	.long	1013514416 | 
 | 715 | 	.long	3564519424 | 
 | 716 | 	.long	1066972799 | 
 | 717 | 	.long	3977441659 | 
 | 718 | 	.long	3170879860 | 
 | 719 | 	.long	2011086848 | 
 | 720 | 	.long	1066834343 | 
 | 721 | 	.long	590145514 | 
 | 722 | 	.long	1025390011 | 
 | 723 | 	.long	3216982016 | 
 | 724 | 	.long	1066696541 | 
 | 725 | 	.long	3629120110 | 
 | 726 | 	.long	1024330313 | 
 | 727 | 	.long	2194128896 | 
 | 728 | 	.long	1066559388 | 
 | 729 | 	.long	2367098512 | 
 | 730 | 	.long	3172260338 | 
 | 731 | 	.long	2916220928 | 
 | 732 | 	.long	1066422877 | 
 | 733 | 	.long	2262431886 | 
 | 734 | 	.long	1021229446 | 
 | 735 | 	.long	2263941120 | 
 | 736 | 	.long	1066172214 | 
 | 737 | 	.long	3118507287 | 
 | 738 | 	.long	1021484970 | 
 | 739 | 	.long	3076292608 | 
 | 740 | 	.long	1065901726 | 
 | 741 | 	.long	1411737803 | 
 | 742 | 	.long	3172957147 | 
 | 743 | 	.long	1186136064 | 
 | 744 | 	.long	1065632488 | 
 | 745 | 	.long	3109349337 | 
 | 746 | 	.long	1025397383 | 
 | 747 | 	.long	3085303808 | 
 | 748 | 	.long	1065364487 | 
 | 749 | 	.long	584715031 | 
 | 750 | 	.long	3172596519 | 
 | 751 | 	.long	1821048832 | 
 | 752 | 	.long	1064842211 | 
 | 753 | 	.long	2182246895 | 
 | 754 | 	.long	3172536214 | 
 | 755 | 	.long	697368576 | 
 | 756 | 	.long	1064311094 | 
 | 757 | 	.long	3157561765 | 
 | 758 | 	.long	3172716357 | 
 | 759 | 	.long	894042112 | 
 | 760 | 	.long	1063260131 | 
 | 761 | 	.long	3237958154 | 
 | 762 | 	.long	3172587292 | 
 | 763 | 	.long	0 | 
 | 764 | 	.long	0 | 
 | 765 | 	.long	0 | 
 | 766 | 	.long	0 | 
 | 767 | 	.long	1352628224 | 
 | 768 | 	.long	1066615827 | 
 | 769 | 	.long	521319256 | 
 | 770 | 	.long	1021308721 | 
 | 771 | 	.long	3248877870 | 
 | 772 | 	.long	1077250164 | 
 | 773 | 	.long	1691676429 | 
 | 774 | 	.long	3221787401 | 
 | 775 | 	.long	945132465 | 
 | 776 | 	.long	3223701783 | 
 | 777 | 	.long	3700831335 | 
 | 778 | 	.long	1073506818 | 
 | 779 | 	.long	2141010593 | 
 | 780 | 	.long	1075227551 | 
 | 781 | 	.long	3698831637 | 
 | 782 | 	.long	3220339442 | 
 | 783 | 	.long	4160749568 | 
 | 784 | 	.long	4294967295 | 
 | 785 | 	.long	0 | 
 | 786 | 	.long	4294959104 | 
 | 787 | 	.long	0 | 
 | 788 | 	.long	1071366144 | 
 | 789 | 	.long	3207479560 | 
 | 790 | 	.long	1062894188 | 
 | 791 | 	.type	static_const_table,@object | 
 | 792 | 	.size	static_const_table,2160 | 
 | 793 | 	.data | 
 | 794 | 	.section .note.GNU-stack, "" | 
 | 795 | # End |