xref: /freebsd/contrib/arm-optimized-routines/math/aarch64/experimental/cbrt_data.c (revision f3087bef11543b42e0d69b708f367097a4118d24)
1*f3087befSAndrew Turner /*
2*f3087befSAndrew Turner  * Coefficients and table entries for double-precision cbrt(x).
3*f3087befSAndrew Turner  *
4*f3087befSAndrew Turner  * Copyright (c) 2022-2024, Arm Limited.
5*f3087befSAndrew Turner  * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
6*f3087befSAndrew Turner  */
7*f3087befSAndrew Turner 
8*f3087befSAndrew Turner #include "math_config.h"
9*f3087befSAndrew Turner 
10*f3087befSAndrew Turner const struct cbrt_data __cbrt_data
11*f3087befSAndrew Turner   = {.poly = { /* Coefficients for very rough approximation of cbrt(x) in [0.5, 1].
12*f3087befSAndrew Turner                   See cbrt.sollya for details of generation.  */
13*f3087befSAndrew Turner 	      0x1.c14e8ee44767p-2, 0x1.dd2d3f99e4c0ep-1, -0x1.08e83026b7e74p-1, 0x1.2c74eaa3ba428p-3},
14*f3087befSAndrew Turner      .table = { /* table[i] = 2^((i - 2) / 3).  */
15*f3087befSAndrew Turner 	         0x1.428a2f98d728bp-1, 0x1.965fea53d6e3dp-1, 0x1p0, 0x1.428a2f98d728bp0, 0x1.965fea53d6e3dp0}};
16