Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/arm-optimized-routines/math/tools/v_erf.sollya
48249 views
// polynomial for approximating erf(x).
// To generate coefficients for interval i (0 to 47) do:
// $ sollya v_erf.sollya $i
//
// Copyright (c) 2022-2024, Arm Limited.
// SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception

scale = 1/8;
deg = 9;

itv = parse(__argv[0]);
if (itv == 0)  then { a = 0x1p-1022; }
else                { a = itv * scale; };

prec=256;

poly = fpminimax(erf(scale*x+a), deg, [|D ...|], [0; 1]);

display = hexadecimal;
for i from 0 to deg do coeff(poly, i);