/* The initial step is 1; this means that each step increases t by 1 (so fd_init () immediately followed by fd_fwd (f) n times makes f be the value of the curve for t==n).  */
static void fd_init(double x, double y, double z, double w, double f[4])
/* The initial step is 1; this means that each step increases t by 1 (so fd_init () immediately followed by fd_fwd (f) n times makes f be the value of the curve for t==n).  */
static void fd_init(double x, double y, double z, double w, double f[4])
{
    f[0] = x;
    f[1] = w - x;
    f[2] = 6. * (w - 2. * z + y);
    f[3] = 6. * (w - 3. * z + 3. * y - x);
}