xref: /aosp_15_r20/external/arm-optimized-routines/pl/math/asin_data.c (revision 412f47f9e737e10ed5cc46ec6a8d7fa2264f8a14)
1*412f47f9SXin Li /*
2*412f47f9SXin Li  * Coefficients for single-precision asin(x) function.
3*412f47f9SXin Li  *
4*412f47f9SXin Li  * Copyright (c) 2023, Arm Limited.
5*412f47f9SXin Li  * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
6*412f47f9SXin Li  */
7*412f47f9SXin Li 
8*412f47f9SXin Li #include "math_config.h"
9*412f47f9SXin Li 
10*412f47f9SXin Li /* Approximate asin(x) directly in [0x1p-106, 0.25]. See tools/asin.sollya
11*412f47f9SXin Li    for these coeffcients were generated.  */
12*412f47f9SXin Li const double __asin_poly[] = {
13*412f47f9SXin Li   /* Polynomial approximation of  (asin(sqrt(x)) - sqrt(x)) / (x * sqrt(x))
14*412f47f9SXin Li      on [ 0x1p-106, 0x1p-2 ], relative error: 0x1.c3d8e169p-57.  */
15*412f47f9SXin Li   0x1.555555555554ep-3, 0x1.3333333337233p-4,  0x1.6db6db67f6d9fp-5,
16*412f47f9SXin Li   0x1.f1c71fbd29fbbp-6, 0x1.6e8b264d467d6p-6,  0x1.1c5997c357e9dp-6,
17*412f47f9SXin Li   0x1.c86a22cd9389dp-7, 0x1.856073c22ebbep-7,  0x1.fd1151acb6bedp-8,
18*412f47f9SXin Li   0x1.087182f799c1dp-6, -0x1.6602748120927p-7, 0x1.cfa0dd1f9478p-6,
19*412f47f9SXin Li };
20