xref: /aosp_15_r20/external/arm-optimized-routines/pl/math/tools/erfcf.sollya (revision 412f47f9e737e10ed5cc46ec6a8d7fa2264f8a14)
1*412f47f9SXin Li// tables and constants for approximating erfcf(x).
2*412f47f9SXin Li//
3*412f47f9SXin Li// Copyright (c) 2023, Arm Limited.
4*412f47f9SXin Li// SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
5*412f47f9SXin Li
6*412f47f9SXin Lidisplay = hexadecimal;
7*412f47f9SXin Liprec=128;
8*412f47f9SXin Li
9*412f47f9SXin Li// Tables
10*412f47f9SXin Liprint("{ i, r, erfc(r), 2/sqrt(pi) * exp(-r^2) }");
11*412f47f9SXin Lifor i from 0 to 644 do {
12*412f47f9SXin Li  r = 0.0 + i / 64;
13*412f47f9SXin Li  t0 = single(erfc(r) * 2^47);
14*412f47f9SXin Li  t1 = single(2/sqrt(pi) * exp(-r * r) * 2^47);
15*412f47f9SXin Li  print("{ " @ t0 @ ",\t" @ t1 @ " },");
16*412f47f9SXin Li};
17*412f47f9SXin Li
18*412f47f9SXin Li// Constants
19*412f47f9SXin Lisingle(1/3);
20*412f47f9SXin Lisingle(2/15);
21*412f47f9SXin Lisingle(1/10);
22*412f47f9SXin Lisingle(2/sqrt(pi));
23