=> CubicInterpolate3D1(t, x0, y0, z0, x1, y1, z1, x2, y2, z2, x3, y3, z3);
select (x1, x2, x3, x4, x5, x6);
secp256k1_scalar_mul(x3, u5, u2);
select (x1, x2, x3, x4, x5);
select (x1, x2, x3, x4);
=> FindIntersection(x1, y1, x2, y2, x3, y3, x4, y4, epsilon);
=> HermiteInterpolate3D1(mu, x0, y0, z0, x1, y1, z1, x2, y2, z2, x3, y3, z3, tension, bias);
=> CubicBezierSelfIntersectionX(x0, y0, x1, y1, x2, y2, x3, y3);