1/*
2 * Copyright (C) 2014 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#include <math.h>
18
19#include <gtest/gtest.h>
20
21#if defined(__BIONIC__)
22typedef struct {
23  float expected;
24  float call_data;
25} logf_intel_data_t;
26
27static logf_intel_data_t g_logf_intel_data[] = {
28  { // Entry 0
29    -0x1.bb9d3aeb8c87b02d7763eba8b48a102dp1,
30    0x1.000002p-5
31  },
32  { // Entry 1
33    0x1.fffffe000002aaaaa6aaaab111110666p-24,
34    0x1.000002p0
35  },
36  { // Entry 2
37    -0x1.c6b45ceb09a5a7c82aacd1cadf7253dcp4,
38    0x1.000008p-41
39  },
40  { // Entry 3
41    -0x1.d1cb7cea86d09f62474b14c45f4cb680p3,
42    0x1.000010p-21
43  },
44  { // Entry 4
45    -0x1.fe2800e87c347d788f394ef2e93db868p5,
46    0x1.000080p-92
47  },
48  { // Entry 5
49    0x1.1fffaf001e5ff32f85c436e59fe73b1ep-17,
50    0x1.000090p0
51  },
52  { // Entry 6
53    -0x1.0a27a3fffa7e0d031d9a55d157a0e8c8p1,
54    0x1.0007p-3
55  },
56  { // Entry 7
57    0x1.54de6ee78989a9acfc875c1d45e16490p-9,
58    0x1.00aaa8p0
59  },
60  { // Entry 8
61    0x1.8f4826fff787c58fab520e505952bb55p-9,
62    0x1.00c7f2p0
63  },
64  { // Entry 9
65    -0x1.6150cefffc83ba2da43d8d7455ef2fdep-1,
66    0x1.00cap-1
67  },
68  { // Entry 10
69    0x1.cf2e3eb0928bdf5cbf064a27c6422c85p-9,
70    0x1.00e8p0
71  },
72  { // Entry 11
73    0x1.f0ee8a9a67ab36597ffd3c93304d0cc5p-9,
74    0x1.00f8f0p0
75  },
76  { // Entry 12
77    0x1.fbdfc897d239fb49dc1c31afeaea1ea5p-9,
78    0x1.00fe6ep0
79  },
80  { // Entry 13
81    0x1.fdc5e48f893e8f48967ee4ff1e895dd5p-9,
82    0x1.00ff62p0
83  },
84  { // Entry 14
85    0x1.be79c70058ec8f9a6c04043f52763c30p-8,
86    0x1.01c0p0
87  },
88  { // Entry 15
89    0x1.e3afef036c442bea46d105f6864ea6f3p-8,
90    0x1.01e57ap0
91  },
92  { // Entry 16
93    0x1.eb92db03d89f25719af908ebb6e7e510p-8,
94    0x1.01ed6cp0
95  },
96  { // Entry 17
97    0x1.f873b502f9427cb1a14872267ffae2f8p-8,
98    0x1.01fa66p0
99  },
100  { // Entry 18
101    0x1.fc108903fcd4cd445800cb06c164d0b0p-8,
102    0x1.01fe0ap0
103  },
104  { // Entry 19
105    0x1.fea168fad6274232ad3998c3e39e43d9p-8,
106    0x1.0200a0p0
107  },
108  { // Entry 20
109    0x1.0ce4c9fe3edd7f45dc38d30f76305931p-7,
110    0x1.021cp0
111  },
112  { // Entry 21
113    0x1.0ee096e2764f9f1e64840607436cc093p-7,
114    0x1.0220p0
115  },
116  { // Entry 22
117    0x1.fc098efffe49fe32c3576def6f303335p-7,
118    0x1.03fffep0
119  },
120  { // Entry 23
121    -0x1.58fed400015fff94ac3bb9ebbc81c8aep-1,
122    0x1.04ffp-1
123  },
124  { // Entry 24
125    -0x1.58b1f1ffffa56b55b6a722e0ab2c5ae6p-1,
126    0x1.052634p-1
127  },
128  { // Entry 25
129    0x1.e720a3003d099731c85ce6d689546a76p-6,
130    0x1.07b9c4p0
131  },
132  { // Entry 26
133    0x1.f5a4cb00353937ad8b1e07a6a469189fp-6,
134    0x1.07f59cp0
135  },
136  { // Entry 27
137    -0x1.b0080fffd588ec91883715736aae0f50p4,
138    0x1.08p-39
139  },
140  { // Entry 28
141    0x1.7f64a700002b54d6fb5d69bc35c5e2cap-1,
142    0x1.0ea7b0p1
143  },
144  { // Entry 29
145    0x1.cf2825078d8bd21f5b5543342e66b54dp-5,
146    0x1.0ee4p0
147  },
148  { // Entry 30
149    0x1.845657000391f340da745d9e5d283165p-1,
150    0x1.1148p1
151  },
152  { // Entry 31
153    -0x1.b959420004b51fb80d8329172d8922f6p3,
154    0x1.12c8p-20
155  },
156  { // Entry 32
157    -0x1.3cb226cef9a610cf77dc0067902b4099p-1,
158    0x1.13d4p-1
159  },
160  { // Entry 33
161    0x1.5e1a22fccd87d40b6e7ebc0226374d61p-4,
162    0x1.16d8p0
163  },
164  { // Entry 34
165    -0x1.35fb76dd8c7a211f33842af42c599114p-1,
166    0x1.1778p-1
167  },
168  { // Entry 35
169    -0x1.35028ad9d8c85c1fca93f355d4796bc1p-1,
170    0x1.18p-1
171  },
172  { // Entry 36
173    0x1.a3f71cff14b8111aded976c26d18960ep-4,
174    0x1.1ba4p0
175  },
176  { // Entry 37
177    -0x1.55a061fff90fa6df755f7aef5ab9f978p1,
178    0x1.1bf4p-4
179  },
180  { // Entry 38
181    -0x1.ce5ffde66a9af783b86443209ecec164p3,
182    0x1.1ce0p-21
183  },
184  { // Entry 39
185    -0x1.ce3a55ea5d47322bdbbe0fff5479ca1ep3,
186    0x1.1e30p-21
187  },
188  { // Entry 40
189    0x1.e23792ef52971fd6c72a99f598a0fbacp-4,
190    0x1.1ffcp0
191  },
192  { // Entry 41
193    0x1.8fe0c85314ba5e09e115528c02ef6e31p0,
194    0x1.312e78p2
195  },
196  { // Entry 42
197    -0x1.fdedfade465d57336a9b8a3562d3b176p-2,
198    0x1.372c16p-1
199  },
200  { // Entry 43
201    -0x1.fd9c98de7d89b9e29546a9b7692cacddp-2,
202    0x1.3744d2p-1
203  },
204  { // Entry 44
205    -0x1.fd5656de0c66d47b7b9cf4fa68b356e4p-2,
206    0x1.375a2ep-1
207  },
208  { // Entry 45
209    -0x1.fca98cde0ceb18d6d7bab7705d14de17p-2,
210    0x1.378ebcp-1
211  },
212  { // Entry 46
213    -0x1.fc0a58de4ea7c9432ac00ff0adb6db7ep-2,
214    0x1.37bf30p-1
215  },
216  { // Entry 47
217    -0x1.ebdede51de7d7b359acc23ec312af2d4p-2,
218    0x1.3cb56ap-1
219  },
220  { // Entry 48
221    -0x1.dae0dedfdda2569379630abffcaffff2p-2,
222    0x1.420208p-1
223  },
224  { // Entry 49
225    -0x1.d930ca53ae8e0695d14e48376b584668p-2,
226    0x1.428a04p-1
227  },
228  { // Entry 50
229    0x1.ec3649c72c05a069c2d000090851c639p-3,
230    0x1.458cbep0
231  },
232  { // Entry 51
233    0x1.f3e63257ecd12b0d9ccc9ff34c3f3d6ep-3,
234    0x1.46c626p0
235  },
236  { // Entry 52
237    -0x1.693cfa30b633b1d03f4ecd88a750ac79p-2,
238    0x1.67cd3ap-1
239  },
240  { // Entry 53
241    -0x1.692b5e42108b73d7599518074ce8670ap-2,
242    0x1.67d36ap-1
243  },
244  { // Entry 54
245    -0x1.63bbba1771b8208d851ab36cd6d93f38p-2,
246    0x1.69bdbap-1
247  },
248  { // Entry 55
249    0x1.62e25eec85781e60cb49b4f21becabdfp-2,
250    0x1.6a0942p0
251  },
252  { // Entry 56
253    0x1.62e3ce9ef86f6524351edd87310e8743p-2,
254    0x1.6a09c4p0
255  },
256  { // Entry 57
257    -0x1.3c607adedb168d9d89c6b2265b4dd0a4p-2,
258    0x1.77ea38p-1
259  },
260  { // Entry 58
261    -0x1.194432fffcb092d891670b7f8f628fc4p6,
262    0x1.77fffep-102
263  },
264  { // Entry 59
265    0x1.193ea500258270930f8e7d7af244dcffp0,
266    0x1.7ffffcp1
267  },
268  { // Entry 60
269    -0x1.dac08de1d26b0f69e1ed58bd3d9fd82bp3,
270    0x1.82fe92p-22
271  },
272  { // Entry 61
273    0x1.c8d70de117cb2fe459ed64cc67e5abc9p3,
274    0x1.830608p20
275  },
276  { // Entry 62
277    0x1.f2272ae325a57546f69496cf261be046p1,
278    0x1.88p5
279  },
280  { // Entry 63
281    0x1.c9c5ade34763c0b9a180d863bfc7f106p3,
282    0x1.8e7686p20
283  },
284  { // Entry 64
285    -0x1.f991d108abe1fc9c91e91ae7f707bd4fp-3,
286    0x1.8ffffep-1
287  },
288  { // Entry 65
289    -0x1.827d4d002e5d13215ce5f8de87566933p1,
290    0x1.8ffffep-5
291  },
292  { // Entry 66
293    -0x1.f305bd058b3c9e64101476e5de911d83p-3,
294    0x1.9147e0p-1
295  },
296  { // Entry 67
297    -0x1.ee7ee50650878a84e97f4cec96736bc5p-3,
298    0x1.922b30p-1
299  },
300  { // Entry 68
301    0x1.dc0391005bf0fccb92c262eeb6a300e4p0,
302    0x1.9ae278p2
303  },
304  { // Entry 69
305    -0x1.2650b600000be0c5902c7a15495161c5p1,
306    0x1.9aeea0p-4
307  },
308  { // Entry 70
309    -0x1.7ba9b7ffff3d189f5a17149697c12ce2p1,
310    0x1.a5e970p-5
311  },
312  { // Entry 71
313    -0x1.206170fffc9e8a93c1986e21787bed5ap1,
314    0x1.ae6ef0p-4
315  },
316  { // Entry 72
317    -0x1.d73d7ffc1e7abc4225e39878828f8666p3,
318    0x1.afe26cp-22
319  },
320  { // Entry 73
321    -0x1.25174700000008ddbe755739d626364fp3,
322    0x1.b97c70p-14
323  },
324  { // Entry 74
325    -0x1.1ca5b500035fc07c389a9e5cbfd78edbp1,
326    0x1.bb2c2cp-4
327  },
328  { // Entry 75
329    -0x1.24b0ebfffcc32ee1b9b739e2a4c7d059p3,
330    0x1.bf0970p-14
331  },
332  { // Entry 76
333    -0x1.669915000230d74fa2da2f40bbdf4469p3,
334    0x1.c7fffep-17
335  },
336  { // Entry 77
337    -0x1.954aeedf4d5f5fb7c474a35723b4e707p-1,
338    0x1.cffffep-2
339  },
340  { // Entry 78
341    -0x1.92e76afffcd449b3ac5d412b622f78a8p-4,
342    0x1.d008e4p-1
343  },
344  { // Entry 79
345    -0x1.ffa24f1c1233a9f8e8ae684edf89313fp-5,
346    0x1.e10040p-1
347  },
348  { // Entry 80
349    -0x1.117889fffffbdf8a5cd7c34f7246f3cfp1,
350    0x1.e39bb4p-4
351  },
352  { // Entry 81
353    -0x1.894ac2dcdde549d0d0922b5b4f54e028p-5,
354    0x1.e7fffep-1
355  },
356  { // Entry 82
357    -0x1.381d36ffe60eb1dfb0686574074223e7p-5,
358    0x1.ecdc1cp-1
359  },
360  { // Entry 83
361    0x1.d14973edb3656c771e18eca84bc94c76p4,
362    0x1.effffep41
363  },
364  { // Entry 84
365    -0x1.efea18fff1115e81636f53b65665e16ep-6,
366    0x1.f0bc20p-1
367  },
368  { // Entry 85
369    -0x1.a5b584ffdad31147d1140b1694740ad7p-6,
370    0x1.f2fd60p-1
371  },
372  { // Entry 86
373    -0x1.62b35affdf0a2429284b006b680bd1bep-6,
374    0x1.f508e4p-1
375  },
376  { // Entry 87
377    -0x1.0cb140ffff9f8f1e06e7f9af0a531a5bp1,
378    0x1.f600dcp-4
379  },
380  { // Entry 88
381    -0x1.0bfe70eb451ad09a7cb75c1eedfa6150p1,
382    0x1.f8c010p-4
383  },
384  { // Entry 89
385    -0x1.70c8c50dce246dd6bcb0461e7dc4937ep-7,
386    0x1.fa4522p-1
387  },
388  { // Entry 90
389    -0x1.416a71b773a2c3e3980b11efd1a197b5p-8,
390    0x1.fd7ebep-1
391  },
392  { // Entry 91
393    -0x1.c0c674621c5b474a430e13570c580388p-9,
394    0x1.fe3ffep-1
395  },
396  { // Entry 92
397    -0x1.04863cfffbbf7edb167cb60df3f3d599p-9,
398    0x1.fefbbcp-1
399  },
400  { // Entry 93
401    -0x1.0a5ddf00004ebf2a6feee99d5bddde34p1,
402    0x1.ff353cp-4
403  },
404  { // Entry 94
405    -0x1.d80366485b747247a45bb9a470179df1p-15,
406    0x1.fff8a0p-1
407  },
408  { // Entry 95
409    -0x1.d1cb7fea86c49f63074b0d445fb65014p3,
410    0x1.fffff0p-22
411  },
412  { // Entry 96
413    0x1.d1cb7dea86bc9f62dca06199b5053f03p3,
414    0x1.fffff0p20
415  },
416  { // Entry 97
417    -0x1.00000200000555556555558888893333p-22,
418    0x1.fffff8p-1
419  },
420  { // Entry 98
421    -0x1.00000100000155555755555888888dddp-23,
422    0x1.fffffcp-1
423  },
424  { // Entry 99
425    -0x1.000000800000555555955555888888b3p-24,
426    0x1.fffffep-1
427  },
428  { // Entry 100
429    -0x1.62e43115a8fb47c3a7c2e76a80cca9a5p-2,
430    0x1.6a09e6p-1
431  },
432  { // Entry 101
433    -0x1.da391a70d28a24641626f5e9155324b5p-3,
434    0x1.962b60p-1
435  },
436  { // Entry 102
437    -0x1.06fbe6a4e25295f80fb2274afe6d3bacp-3,
438    0x1.c24cdap-1
439  },
440  { // Entry 103
441    -0x1.1e0a6d053425d3d6528aa717ecc9a578p-5,
442    0x1.ee6e54p-1
443  },
444  { // Entry 104
445    0x1.9e549c3779f093451892a1fe4e67b50ep-5,
446    0x1.0d47e6p0
447  },
448  { // Entry 105
449    0x1.08e0b9f3a7944bab3ecb56d6a7ff03b5p-3,
450    0x1.2358a2p0
451  },
452  { // Entry 106
453    0x1.9e645d60ff198986479346d164ecad7ep-3,
454    0x1.39695ep0
455  },
456  { // Entry 107
457    0x1.14dd670cac0212506bf72fb762d8a7dbp-2,
458    0x1.4f7a1ap0
459  },
460  { // Entry 108
461    0x1.561819aca49de6b1d1ccda1095c74502p-2,
462    0x1.658ad6p0
463  },
464  { // Entry 109
465    0x1.936a7c496c3e21406af9f4ac9beac6a5p-2,
466    0x1.7b9b92p0
467  },
468  { // Entry 110
469    0x1.cd45a8d7e3403f5278d5e3d566349f75p-2,
470    0x1.91ac4ep0
471  },
472  { // Entry 111
473    0x1.02044831211ed0068efa4c2a8b9870bfp-1,
474    0x1.a7bd0ap0
475  },
476  { // Entry 112
477    0x1.1c01d5f6d3a50d31c45cbfddd0272765p-1,
478    0x1.bdcdc6p0
479  },
480  { // Entry 113
481    0x1.34bde46fd84fca43ba3f4799acab10ffp-1,
482    0x1.d3de82p0
483  },
484  { // Entry 114
485    0x1.4c5618136a3221d84476b78353fabc80p-1,
486    0x1.e9ef3ep0
487  },
488  { // Entry 115
489    0x1.62e429efa395f35781c7670787e58c2bp-1,
490    0x1.fffffap0
491  },
492  { // Entry 116
493    -0x1.62e43115a8fb47c3a7c2e76a80cca9a5p-2,
494    0x1.6a09e6p-1
495  },
496  { // Entry 117
497    -0x1.24cfd09514bae9e21501d1a28c37d51ep-2,
498    0x1.80aa84p-1
499  },
500  { // Entry 118
501    -0x1.d4902a7f6a1d18da241dffb42a0818edp-3,
502    0x1.974b22p-1
503  },
504  { // Entry 119
505    -0x1.65d5607cc85baba26e2faf78865dc991p-3,
506    0x1.adebc0p-1
507  },
508  { // Entry 120
509    -0x1.f991d8f6e2f011943d5a6a60cd646002p-4,
510    0x1.c48c5ep-1
511  },
512  { // Entry 121
513    -0x1.31b9a995502d59241500cd1ce955f5c4p-4,
514    0x1.db2cfcp-1
515  },
516  { // Entry 122
517    -0x1.ccb7994bda818c26cc15fca660f364ecp-6,
518    0x1.f1cd9ap-1
519  },
520  { // Entry 123
521    0x1.0b9492bd99570e8a2a2f5a7f59644b42p-6,
522    0x1.04371cp0
523  },
524  { // Entry 124
525    0x1.e2705e9cc554d8b565433c8fad2db164p-5,
526    0x1.0f876cp0
527  },
528  { // Entry 125
529    0x1.986d321688b074a21eb26b41679ee309p-4,
530    0x1.1ad7bcp0
531  },
532  { // Entry 126
533    0x1.1c89919fb208ebda275d6fee75577a43p-3,
534    0x1.26280cp0
535  },
536  { // Entry 127
537    0x1.69d463db5d0d8cbc5da8bd2c1f5d2953p-3,
538    0x1.31785cp0
539  },
540  { // Entry 128
541    0x1.b44f87381611ab2806d6f00d213de2cfp-3,
542    0x1.3cc8acp0
543  },
544  { // Entry 129
545    0x1.fc2d80e5311b3f7e05f26b963044ea08p-3,
546    0x1.4818fcp0
547  },
548  { // Entry 130
549    0x1.20cdd9262c59a7726689f4fe5ffa58fep-2,
550    0x1.53694cp0
551  },
552  { // Entry 131
553    0x1.426182db20e23d0b473ae1c2d1975c3fp-2,
554    0x1.5eb99cp0
555  },
556  { // Entry 132
557    0x1.62e42ec99e429eeb7fcbe6f58eff3117p-2,
558    0x1.6a09e6p0
559  },
560  { // Entry 133
561    -0x1.269621134db92783beb7676c0aa9c2a3p-2,
562    0x1.80p-1
563  },
564  { // Entry 134
565    -0x1.89fa484d355b5e186f5662b3da3e745bp-3,
566    0x1.a66666p-1
567  },
568  { // Entry 135
569    -0x1.af8e892d15de87e2e9e59dff5c0633bep-4,
570    0x1.ccccccp-1
571  },
572  { // Entry 136
573    -0x1.9ecebcb597ea1bb43d896f584759744ap-6,
574    0x1.f33332p-1
575  },
576  { // Entry 137
577    0x1.8fb04b8da65ceb85a2edb7d0ff0ad2d3p-5,
578    0x1.0cccccp0
579  },
580  { // Entry 138
581    0x1.e27076e2af2e5e9ea87ffe1fe9e155dbp-4,
582    0x1.20p0
583  },
584  { // Entry 139
585    0x1.756506739ebaf1cd58855d231e777a59p-3,
586    0x1.333334p0
587  },
588  { // Entry 140
589    0x1.f18dce2898f5ba919d825d9696c6c774p-3,
590    0x1.466668p0
591  },
592  { // Entry 141
593    0x1.334ea564424013b7739afbc9478741b5p-2,
594    0x1.59999cp0
595  },
596  { // Entry 142
597    0x1.6aac0d0fe3871ab60d70d41e954c2bd3p-2,
598    0x1.6cccd0p0
599  },
600  { // Entry 143
601    0x1.9f323ecbf984bf2b68d766f405221819p-2,
602    0x1.80p0
603  },
604  { // Entry 144
605    0.0,
606    0x1.p0
607  },
608  { // Entry 145
609    0x1.8663fd6538c872349ec1a85e05ec5fb5p-4,
610    0x1.19999ap0
611  },
612  { // Entry 146
613    0x1.756506739ebaf1cd58855d231e777a59p-3,
614    0x1.333334p0
615  },
616  { // Entry 147
617    0x1.0ca93b6f56afbacd07973b0a3c67fc47p-2,
618    0x1.4ccccep0
619  },
620  { // Entry 148
621    0x1.588c32237c6aefe96e1db27c46710d39p-2,
622    0x1.666668p0
623  },
624  { // Entry 149
625    0x1.9f3244214ed68647ddc799823e05a9b1p-2,
626    0x1.800002p0
627  },
628  { // Entry 150
629    0x1.e148a7a27268594dfd4dd6c301fece79p-2,
630    0x1.99999cp0
631  },
632  { // Entry 151
633    0x1.0fae84dc95e1a7d9897472d55a7563e8p-1,
634    0x1.b33336p0
635  },
636  { // Entry 152
637    0x1.2cf2633bc7fc9d9d9929319aa918822cp-1,
638    0x1.ccccd0p0
639  },
640  { // Entry 153
641    0x1.48a1165df274ab7963f8550dcbfb6aebp-1,
642    0x1.e6666ap0
643  },
644  { // Entry 154
645    0x1.62e42fefa39ef35793c7673007e5ed5ep-1,
646    0x1.p1
647  },
648  { // Entry 155
649    0x1.1542457337d42e1c6b73c89d862ba171p6,
650    0x1.p100
651  },
652  { // Entry 156
653    0x1.15a3de7291226038f89b79079dad1c89p6,
654    0x1.19999ap100
655  },
656  { // Entry 157
657    0x1.15fcf7f671a38b9552200b4c17badd2fp6,
658    0x1.333334p100
659  },
660  { // Entry 158
661    0x1.164eeeaea72addd7387b5fd89068096ep6,
662    0x1.4ccccep100
663  },
664  { // Entry 159
665    0x1.169ad1a55b50990c54e1e6500272127fp6,
666    0x1.666668p100
667  },
668  { // Entry 160
669    0x1.16e177b7592304a2b35190370869a71bp6,
670    0x1.800002p100
671  },
672  { // Entry 161
673    0x1.17238e1ada469675b9711674492da040p6,
674    0x1.99999cp100
675  },
676  { // Entry 162
677    0x1.1761a27cf0fff16c1e86b18330e08c39p6,
678    0x1.b33336p100
679  },
680  { // Entry 163
681    0x1.179c2a39af642757a6a61b00bb7dd276p6,
682    0x1.ccccd0p100
683  },
684  { // Entry 164
685    0x1.17d3879ff3b917735e3bb947a1c39847p6,
686    0x1.e6666ap100
687  },
688  { // Entry 165
689    0x1.18080dd3171b6c031a9b576be63b6d4cp6,
690    0x1.p101
691  },
692  { // Entry 166
693    -0x1.0000080000555559555588888b333357p-20,
694    0x1.ffffe0p-1
695  },
696  { // Entry 167
697    -0x1.0000040000155555d5555888889ddddep-21,
698    0x1.fffff0p-1
699  },
700  { // Entry 168
701    0.0,
702    0x1.p0
703  },
704  { // Entry 169
705    0x1.fffff800002aaaa9aaaab11110e66667p-22,
706    0x1.000008p0
707  },
708  { // Entry 170
709    0x1.fffff00000aaaaa2aaab11110bbbbc04p-21,
710    0x1.000010p0
711  },
712  { // Entry 171
713    -0x1.000000800000555555955555888888b3p-24,
714    0x1.fffffep-1
715  },
716  { // Entry 172
717    -0x1.000000800000555555955555888888b3p-24,
718    0x1.fffffep-1
719  },
720  { // Entry 173
721    -0x1.000000800000555555955555888888b3p-24,
722    0x1.fffffep-1
723  },
724  { // Entry 174
725    -0x1.000000800000555555955555888888b3p-24,
726    0x1.fffffep-1
727  },
728  { // Entry 175
729    -0x1.000000800000555555955555888888b3p-24,
730    0x1.fffffep-1
731  },
732  { // Entry 176
733    -0x1.000000800000555555955555888888b3p-24,
734    0x1.fffffep-1
735  },
736  { // Entry 177
737    -0x1.000000800000555555955555888888b3p-24,
738    0x1.fffffep-1
739  },
740  { // Entry 178
741    -0x1.000000800000555555955555888888b3p-24,
742    0x1.fffffep-1
743  },
744  { // Entry 179
745    -0x1.000000800000555555955555888888b3p-24,
746    0x1.fffffep-1
747  },
748  { // Entry 180
749    -0x1.000000800000555555955555888888b3p-24,
750    0x1.fffffep-1
751  },
752  { // Entry 181
753    -0x1.000000800000555555955555888888b3p-24,
754    0x1.fffffep-1
755  },
756  { // Entry 182
757    -0x1.000000800000555555955555888888b3p-24,
758    0x1.fffffep-1
759  },
760  { // Entry 183
761    -0x1.000000800000555555955555888888b3p-24,
762    0x1.fffffep-1
763  },
764  { // Entry 184
765    -0x1.000000800000555555955555888888b3p-24,
766    0x1.fffffep-1
767  },
768  { // Entry 185
769    -0x1.000000800000555555955555888888b3p-24,
770    0x1.fffffep-1
771  },
772  { // Entry 186
773    0x1.62e42feba39ef15793c611dab1909808p6,
774    0x1.fffffep127
775  },
776  { // Entry 187
777    -0x1.9d1d9fccf4770743f2061e1de931a650p6,
778    0x1.p-149
779  },
780  { // Entry 188
781    -0x1.62e436bdd09a876194940b96cb28fd7fp-2,
782    0x1.6a09e4p-1
783  },
784  { // Entry 189
785    -0x1.62e43115a8fb47c3a7c2e76a80cca9a5p-2,
786    0x1.6a09e6p-1
787  },
788  { // Entry 190
789    -0x1.62e42b6d81640825bf89d8b8d9d0ff58p-2,
790    0x1.6a09e8p-1
791  },
792  { // Entry 191
793    0x1.62e4292176a35f4d92fac2c944a2dd3dp-2,
794    0x1.6a09e4p0
795  },
796  { // Entry 192
797    0x1.62e42ec99e429eeb7fcbe6f58eff3117p-2,
798    0x1.6a09e6p0
799  },
800  { // Entry 193
801    0x1.62e43471c5d9de896804f5a735fadb65p-2,
802    0x1.6a09e8p0
803  },
804  { // Entry 194
805    -0x1.62e431efa39ff357947211db3290986fp-1,
806    0x1.fffffep-2
807  },
808  { // Entry 195
809    -0x1.62e42fefa39ef35793c7673007e5ed5ep-1,
810    0x1.p-1
811  },
812  { // Entry 196
813    -0x1.62e42befa3a2f3578e7211e2b2908b3cp-1,
814    0x1.000002p-1
815  },
816  { // Entry 197
817    -0x1.26962668a3120b11fac40bc7b22b5a8dp-2,
818    0x1.7ffffep-1
819  },
820  { // Entry 198
821    -0x1.269621134db92783beb7676c0aa9c2a3p-2,
822    0x1.80p-1
823  },
824  { // Entry 199
825    -0x1.26961bbdf867606749c734ddd1c6310bp-2,
826    0x1.800002p-1
827  },
828  { // Entry 200
829    0x1.9f323976a42bdb9d2ccac2985da0802fp-2,
830    0x1.7ffffep0
831  },
832  { // Entry 201
833    0x1.9f323ecbf984bf2b68d766f405221819p-2,
834    0x1.80p0
835  },
836  { // Entry 202
837    0x1.9f3244214ed68647ddc799823e05a9b1p-2,
838    0x1.800002p0
839  },
840  { // Entry 203
841    0x1.54de6ee78989a9acfc875c1d45e16490p-9,
842    0x1.00aaa8p0
843  },
844  { // Entry 204
845    0x1.54e26c3eab6ea24115a4ecbc6c21c3dep-9,
846    0x1.00aaaap0
847  },
848  { // Entry 205
849    0x1.54e66995c55e3ad40cb2b01d77b8b63fp-9,
850    0x1.00aaacp0
851  },
852  { // Entry 206
853    0x1.62e42eefa39e7357937211da729097d5p0,
854    0x1.fffffep1
855  },
856  { // Entry 207
857    0x1.62e42fefa39ef35793c7673007e5ed5ep0,
858    0x1.p2
859  },
860  { // Entry 208
861    0x1.62e431efa39cf357967211d6b2909e6fp0,
862    0x1.000002p2
863  },
864  { // Entry 209
865    0x1.62e42defa39df357931cbc84dd3b424dp-1,
866    0x1.fffffep0
867  },
868  { // Entry 210
869    0x1.62e42fefa39ef35793c7673007e5ed5ep-1,
870    0x1.p1
871  },
872  { // Entry 211
873    0x1.62e433efa39af357991cbc7d5d3b4f80p-1,
874    0x1.000002p1
875  },
876  { // Entry 212
877    -0x1.000000800000555555955555888888b3p-24,
878    0x1.fffffep-1
879  },
880  { // Entry 213
881    0.0,
882    0x1.p0
883  },
884  { // Entry 214
885    0x1.fffffe000002aaaaa6aaaab111110666p-24,
886    0x1.000002p0
887  },
888  { // Entry 215
889    -0x1.62e431efa39ff357947211db3290986fp-1,
890    0x1.fffffep-2
891  },
892  { // Entry 216
893    -0x1.62e42fefa39ef35793c7673007e5ed5ep-1,
894    0x1.p-1
895  },
896  { // Entry 217
897    -0x1.62e42befa3a2f3578e7211e2b2908b3cp-1,
898    0x1.000002p-1
899  },
900  { // Entry 218
901    -0x1.62e430efa39f7357941cbc859d3b42e7p0,
902    0x1.fffffep-3
903  },
904  { // Entry 219
905    -0x1.62e42fefa39ef35793c7673007e5ed5ep0,
906    0x1.p-2
907  },
908  { // Entry 220
909    -0x1.62e42defa3a0f357911cbc895d3b3c4dp0,
910    0x1.000002p-2
911  },
912  { // Entry 221
913    -0x1.0a2b2473bab77681af00380ed0971ccbp1,
914    0x1.fffffep-4
915  },
916  { // Entry 222
917    -0x1.0a2b23f3bab73681aed58d6405ec7206p1,
918    0x1.p-3
919  },
920  { // Entry 223
921    -0x1.0a2b22f3bab83681ad803810b097197ep1,
922    0x1.000002p-3
923  },
924  { // Entry 224
925    -0x1.62e4306fa39f335793f211dad2909822p1,
926    0x1.fffffep-5
927  },
928  { // Entry 225
929    -0x1.62e42fefa39ef35793c7673007e5ed5ep1,
930    0x1.p-4
931  },
932  { // Entry 226
933    -0x1.62e42eefa39ff357927211dcb29094d5p1,
934    0x1.000002p-4
935  },
936  { // Entry 227
937    -0x1.bb9d3c6b8c86f02d78e3eba6d48a137ap1,
938    0x1.fffffep-6
939  },
940  { // Entry 228
941    -0x1.bb9d3beb8c86b02d78b940fc09df68b6p1,
942    0x1.p-5
943  },
944  { // Entry 229
945    -0x1.bb9d3aeb8c87b02d7763eba8b48a102dp1,
946    0x1.000002p-5
947  },
948  { // Entry 230
949    -0x1.0a2b2433bab75681aeeae2b96b41c769p2,
950    0x1.fffffep-7
951  },
952  { // Entry 231
953    -0x1.0a2b23f3bab73681aed58d6405ec7206p2,
954    0x1.p-6
955  },
956  { // Entry 232
957    -0x1.0a2b2373bab7b681ae2ae2ba5b41c5c2p2,
958    0x1.000002p-6
959  },
960  { // Entry 233
961    -0x1.3687aa31af2b34eca163cf9f6c3e8514p2,
962    0x1.fffffep-8
963  },
964  { // Entry 234
965    -0x1.3687a9f1af2b14eca14e7a4a06e92fb2p2,
966    0x1.p-7
967  },
968  { // Entry 235
969    -0x1.3687a971af2b94eca0a3cfa05c3e836ep2,
970    0x1.000002p-7
971  },
972  { // Entry 236
973    -0x1.62e4302fa39f135793dcbc856d3b42c0p2,
974    0x1.fffffep-9
975  },
976  { // Entry 237
977    -0x1.62e42fefa39ef35793c7673007e5ed5ep2,
978    0x1.p-8
979  },
980  { // Entry 238
981    -0x1.62e42f6fa39f7357931cbc865d3b411ap2,
982    0x1.000002p-8
983  },
984  { // Entry 239
985    -0x1.8f40b62d9812f1c28655a96b6e38006cp2,
986    0x1.fffffep-10
987  },
988  { // Entry 240
989    -0x1.8f40b5ed9812d1c28640541608e2ab0ap2,
990    0x1.p-9
991  },
992  { // Entry 241
993    -0x1.8f40b56d981351c28595a96c5e37fec6p2,
994    0x1.000002p-9
995  },
996  { // Entry 242
997    -0x1.bb9d3c2b8c86d02d78ce96516f34be18p2,
998    0x1.fffffep-11
999  },
1000  { // Entry 243
1001    -0x1.bb9d3beb8c86b02d78b940fc09df68b6p2,
1002    0x1.p-10
1003  },
1004  { // Entry 244
1005    -0x1.bb9d3b6b8c87302d780e96525f34bc71p2,
1006    0x1.000002p-10
1007  },
1008  { // Entry 245
1009    -0x1.20596712b4f135b7281cae81b9157b8dp3,
1010    0x1.fffffep-14
1011  },
1012  { // Entry 246
1013    -0x1.205966f2b4f125b7281203d7066ad0dcp3,
1014    0x1.p-13
1015  },
1016  { // Entry 247
1017    -0x1.205966b2b4f165b727bcae8231157abap3,
1018    0x1.000002p-13
1019  },
1020  { // Entry 248
1021    -0x1.20596712b4f135b7281cae81b9157b8dp3,
1022    0x1.fffffep-14
1023  },
1024  { // Entry 249
1025    -0x1.205966f2b4f125b7281203d7066ad0dcp3,
1026    0x1.p-13
1027  },
1028  { // Entry 250
1029    -0x1.205966b2b4f165b727bcae8231157abap3,
1030    0x1.000002p-13
1031  },
1032  { // Entry 251
1033    -0x1.0a2b2473bab77681af00380ed0971ccbp1,
1034    0x1.fffffep-4
1035  },
1036  { // Entry 252
1037    -0x1.0a2b23f3bab73681aed58d6405ec7206p1,
1038    0x1.p-3
1039  },
1040  { // Entry 253
1041    -0x1.0a2b22f3bab83681ad803810b097197ep1,
1042    0x1.000002p-3
1043  },
1044  { // Entry 254
1045    -0x1.1178f14710961bedaf9f799a53afc33dp-3,
1046    0x1.bffffep-1
1047  },
1048  { // Entry 255
1049    -0x1.1178e8227e47bde338b41fc72de81e3bp-3,
1050    0x1.c0p-1
1051  },
1052  { // Entry 256
1053    -0x1.1178defdec03d2c915604897971b7658p-3,
1054    0x1.c00002p-1
1055  },
1056  { // Entry 257
1057    -0x1.62e4306fa39f335793f211dad2909822p1,
1058    0x1.fffffep-5
1059  },
1060  { // Entry 258
1061    -0x1.62e42fefa39ef35793c7673007e5ed5ep1,
1062    0x1.p-4
1063  },
1064  { // Entry 259
1065    -0x1.62e42eefa39ff357927211dcb29094d5p1,
1066    0x1.000002p-4
1067  },
1068  { // Entry 260
1069    -0x1.08599c6af4ba93c693b13122f6824a8bp-4,
1070    0x1.dffffep-1
1071  },
1072  { // Entry 261
1073    -0x1.08598b59e3a0688a3fd9bf503372c12fp-4,
1074    0x1.e0p-1
1075  },
1076  { // Entry 262
1077    -0x1.08597a48d29871a4649d0a66ccbd5edbp-4,
1078    0x1.e00002p-1
1079  },
1080  { // Entry 263
1081    -0x1.bb9d3c6b8c86f02d78e3eba6d48a137ap1,
1082    0x1.fffffep-6
1083  },
1084  { // Entry 264
1085    -0x1.bb9d3beb8c86b02d78b940fc09df68b6p1,
1086    0x1.p-5
1087  },
1088  { // Entry 265
1089    -0x1.bb9d3aeb8c87b02d7763eba8b48a102dp1,
1090    0x1.000002p-5
1091  },
1092  { // Entry 266
1093    -0x1.0415f9a6b665d7a7b9958d7d28f62a74p-5,
1094    0x1.effffep-1
1095  },
1096  { // Entry 267
1097    -0x1.0415d89e7444470173c75d4d8889de0ep-5,
1098    0x1.f0p-1
1099  },
1100  { // Entry 268
1101    -0x1.0415b7963244cf65919a578b2daa29d5p-5,
1102    0x1.f00002p-1
1103  },
1104  { // Entry 269
1105    -0x1.0a2b2433bab75681aeeae2b96b41c769p2,
1106    0x1.fffffep-7
1107  },
1108  { // Entry 270
1109    -0x1.0a2b23f3bab73681aed58d6405ec7206p2,
1110    0x1.p-6
1111  },
1112  { // Entry 271
1113    -0x1.0a2b2373bab7b681ae2ae2ba5b41c5c2p2,
1114    0x1.000002p-6
1115  },
1116  { // Entry 272
1117    -0x1.0205a68d45e67ed01e10e322bd43a170p-6,
1118    0x1.f7fffep-1
1119  },
1120  { // Entry 273
1121    -0x1.020565893584749f23a105b9c7bb9a6fp-6,
1122    0x1.f8p-1
1123  },
1124  { // Entry 274
1125    -0x1.02052485256476af6f4daabd139b5e57p-6,
1126    0x1.f80002p-1
1127  },
1128  { // Entry 275
1129    -0x1.3687aa31af2b34eca163cf9f6c3e8514p2,
1130    0x1.fffffep-8
1131  },
1132  { // Entry 276
1133    -0x1.3687a9f1af2b14eca14e7a4a06e92fb2p2,
1134    0x1.p-7
1135  },
1136  { // Entry 277
1137    -0x1.3687a971af2b94eca0a3cfa05c3e836ep2,
1138    0x1.000002p-7
1139  },
1140  { // Entry 278
1141    -0x1.0101d85a923025b54cbaae499d5e40bfp-7,
1142    0x1.fbfffep-1
1143  },
1144  { // Entry 279
1145    -0x1.010157588de7128ccc5a82f9da00f48bp-7,
1146    0x1.fcp-1
1147  },
1148  { // Entry 280
1149    -0x1.0100d6568a200574745b39f0aae26685p-7,
1150    0x1.fc0002p-1
1151  },
1152  { // Entry 281
1153    -0x1.62e4302fa39f135793dcbc856d3b42c0p2,
1154    0x1.fffffep-9
1155  },
1156  { // Entry 282
1157    -0x1.62e42fefa39ef35793c7673007e5ed5ep2,
1158    0x1.p-8
1159  },
1160  { // Entry 283
1161    -0x1.62e42f6fa39f7357931cbc865d3b411ap2,
1162    0x1.000002p-8
1163  },
1164  { // Entry 284
1165    -0x1.008156968a355a68f2be9b035772c9c3p-8,
1166    0x1.fdfffep-1
1167  },
1168  { // Entry 285
1169    -0x1.0080559588b357e598e33d8d9db37a29p-8,
1170    0x1.fep-1
1171  },
1172  { // Entry 286
1173    -0x1.007f549488335866440de7a1f2084736p-8,
1174    0x1.fe0002p-1
1175  },
1176  { // Entry 287
1177    -0x1.8f40b62d9812f1c28655a96b6e38006cp2,
1178    0x1.fffffep-10
1179  },
1180  { // Entry 288
1181    -0x1.8f40b5ed9812d1c28640541608e2ab0ap2,
1182    0x1.p-9
1183  },
1184  { // Entry 289
1185    -0x1.8f40b56d981351c28595a96c5e37fec6p2,
1186    0x1.000002p-9
1187  },
1188  { // Entry 290
1189    -0x1.0042165dd9caff419b1eccdf720a36d2p-9,
1190    0x1.fefffep-1
1191  },
1192  { // Entry 291
1193    -0x1.0040155d5889de70671eeec0bfcefe53p-9,
1194    0x1.ffp-1
1195  },
1196  { // Entry 292
1197    -0x1.003e145cd94abf2033bf71dc3028520cp-9,
1198    0x1.ff0002p-1
1199  },
1200  { // Entry 293
1201    -0x1.bb9d3c2b8c86d02d78ce96516f34be18p2,
1202    0x1.fffffep-11
1203  },
1204  { // Entry 294
1205    -0x1.bb9d3beb8c86b02d78b940fc09df68b6p2,
1206    0x1.p-10
1207  },
1208  { // Entry 295
1209    -0x1.bb9d3b6b8c87302d780e96525f34bc71p2,
1210    0x1.000002p-10
1211  },
1212  { // Entry 296
1213    -0x1.0024065697999797f377cb852750240bp-10,
1214    0x1.ff7ffep-1
1215  },
1216  { // Entry 297
1217    -0x1.00200556558893357cd7e1f486bd0705p-10,
1218    0x1.ff80p-1
1219  },
1220  { // Entry 298
1221    -0x1.001c045617798f93464c0067a7eaae4fp-10,
1222    0x1.ff8002p-1
1223  },
1224  { // Entry 299
1225    -0x1.20596712b4f135b7281cae81b9157b8dp3,
1226    0x1.fffffep-14
1227  },
1228  { // Entry 300
1229    -0x1.205966f2b4f125b7281203d7066ad0dcp3,
1230    0x1.p-13
1231  },
1232  { // Entry 301
1233    -0x1.205966b2b4f165b727bcae8231157abap3,
1234    0x1.000002p-13
1235  },
1236  { // Entry 302
1237    -0x1.002401156dd698a14a193857b6b2e2bdp-13,
1238    0x1.ffeffep-1
1239  },
1240  { // Entry 303
1241    -0x1.0004001555d558889dde702b028c9996p-13,
1242    0x1.fff0p-1
1243  },
1244  { // Entry 304
1245    -0x1.ffc7fe2abbac310fe54784015d23a61dp-14,
1246    0x1.fff002p-1
1247  },
1248  { // Entry 305
1249    HUGE_VALF,
1250    HUGE_VALF
1251  },
1252  { // Entry 306
1253    0x1.62e42feba39ef15793c611dab1909808p6,
1254    0x1.fffffep127
1255  },
1256  { // Entry 307
1257    0x1.62e42fe7a39eeb5793bcbc854d3b429ap6,
1258    0x1.fffffcp127
1259  },
1260  { // Entry 308
1261    0x1.250d0505fece83f5f3328cc322f65153p0,
1262    0x1.921fb6p1
1263  },
1264  { // Entry 309
1265    0x1.ce6bb438b3fc2928a53b64ac7c0d6a91p-2,
1266    0x1.921fb6p0
1267  },
1268  { // Entry 310
1269    0x1.fffffe000002aaaaa6aaaab111110666p-24,
1270    0x1.000002p0
1271  },
1272  { // Entry 311
1273    0.0,
1274    0x1.p0
1275  },
1276  { // Entry 312
1277    -0x1.000000800000555555955555888888b3p-24,
1278    0x1.fffffep-1
1279  },
1280  { // Entry 313
1281    -0x1.eeb9574d26837b0d04a6d367277ce056p-3,
1282    0x1.921fb6p-1
1283  },
1284  { // Entry 314
1285    -0x1.5d589f27e5107f8a356d9ee8ad1baae4p6,
1286    0x1.000002p-126
1287  },
1288  { // Entry 315
1289    -0x1.5d589f2fe510778a3578499347c655a9p6,
1290    0x1.p-126
1291  },
1292  { // Entry 316
1293    -0x1.5d589f37e5107f8a3582f43e0271006dp6,
1294    0x1.fffffcp-127
1295  },
1296  { // Entry 317
1297    -0x1.5d589f3fe510978a35cd9ee99d1bae31p6,
1298    0x1.fffff8p-127
1299  },
1300  { // Entry 318
1301    -0x1.9a57d76d152fc95d42de8f4f8921da75p6,
1302    0x1.p-148
1303  },
1304  { // Entry 319
1305    -0x1.9d1d9fccf4770743f2061e1de931a650p6,
1306    0x1.p-149
1307  },
1308  { // Entry 320
1309    -HUGE_VALF,
1310    0.0f
1311  },
1312  { // Entry 321
1313    -HUGE_VALF,
1314    -0.0f
1315  },
1316};
1317#endif // __BIONIC__
1318
1319TEST(math_logf, logf_intel) {
1320#if defined(__BIONIC__)
1321  for (size_t i = 0; i < sizeof(g_logf_intel_data)/sizeof(logf_intel_data_t); i++) {
1322    EXPECT_FLOAT_EQ(g_logf_intel_data[i].expected, logf(g_logf_intel_data[i].call_data)) << "Failed on element " << i;
1323  }
1324#else // __BIONIC__
1325  GTEST_LOG_(INFO) << "This test does nothing.";
1326#endif // __BIONIC__
1327}
1328