c property

List<BigInt> c
final

Coefficients of the FACCT polynomial that approximates exp(-x): (2^-63) * sum(c[12 - i] * x^i for i in range(13)) is very close to exp(-x). Lifted from FACCT (https://doi.org/10.1109/TC.2019.2940949).

These MUST be stored as POSITIVE BigInt. In particular c[12] is 0x8000000000000000 == +2^63; a 64-bit signed int literal would make it negative and silently break the approximation. Building every entry from a hex string keeps them unambiguously positive and web-safe.

Implementation

static final List<BigInt> c = [
  BigInt.parse('00000004741183A3', radix: 16),
  BigInt.parse('00000036548CFC06', radix: 16),
  BigInt.parse('0000024FDCBF140A', radix: 16),
  BigInt.parse('0000171D939DE045', radix: 16),
  BigInt.parse('0000D00CF58F6F84', radix: 16),
  BigInt.parse('000680681CF796E3', radix: 16),
  BigInt.parse('002D82D8305B0FEA', radix: 16),
  BigInt.parse('011111110E066FD0', radix: 16),
  BigInt.parse('0555555555070F00', radix: 16),
  BigInt.parse('155555555581FF00', radix: 16),
  BigInt.parse('400000000002B400', radix: 16),
  BigInt.parse('7FFFFFFFFFFF4800', radix: 16),
  BigInt.parse('8000000000000000', radix: 16),
];