I'm trying your easeInOutCubic: ``` double easeInOutCubic( double t ) { return t < 0.5 ? 4 * t * t * t : 1 + (--t) * (2 * (--t)) * (2 * t); } ``` But it returns wrong result for case t >= 0.5. 