JSFiddle - React, Tailwind, and code Playground

HTML

<div class="d1">Single Animation</div>
<div class="d2">Composed Animation, Part 1</div>

CSS

div {
    position: absolute;
    background: red;
    width: 160px;
    height: 100px;
}
.d1 {
    transition: transform 2s cubic-bezier(0.4, 0, 0.2, 1);
}

.d2 {
	transition: transform 1s cubic-bezier(0.4, 0, 0.2, 1) 0s;
    top: 116px
}

JavaScript

//    Single Animation, 2s from 0 to 200px
var d1 = document.querySelector('.d1')
d1.style.transform = 'translateX(200px)';

//    Composed Animation, Part 1, 1s from 0 to 100px
var d2 = document.querySelector('.d2');

//    Get first part bezier
//    cubic-bezier(0.4, 0, 0.2, 1)
var x = [0, 0.4, 0.2, 1]
var y = [0, 0,   1,   1]

function splitCubicBezier(options) {
  var z = options.z,
      cz = z-1,
      z2 = z*z,
      cz2 = cz*cz,
      z3 = z2*z,
      cz3 = cz2*cz,
      x = options.x,
      y = options.y;

  var left = [
    x[0],
    y[0],
    z*x[1] - cz*x[0], 
    z*y[1] - cz*y[0], 
    z2*x[2] - 2*z*cz*x[1] + cz2*x[0],
    z2*y[2] - 2*z*cz*y[1] + cz2*y[0],
    z3*x[3] - 3*z2*cz*x[2] + 3*z*cz2*x[1] - cz3*x[0],
    z3*y[3] - 3*z2*cz*y[2] + 3*z*cz2*y[1] - cz3*y[0]];

  var right = [
    z3*x[3] - 3*z2*cz*x[2] + 3*z*cz2*x[1] - cz3*x[0],
    z3*y[3] - 3*z2*cz*y[2] + 3*z*cz2*y[1] - cz3*y[0],
                    z2*x[3] - 2*z*cz*x[2] + cz2*x[1],
                    z2*y[3] - 2*z*cz*y[2] + cz2*y[1],
                                    z*x[3] - cz*x[2], 
                                    z*y[3] - cz*y[2], 
                                                x[3],
                                                y[3]];

  if (options.fitUnitSquare) {
    return {
      left: left.map(function(el, i) {
        if (i % 2 == 0) {

          var Xmin = left[0];
          var Xmax = left[6]; //should be 1
          var Sx = 1 / (Xmax - Xmin);
          return (el - Xmin) * Sx;
        } else {
			
          var Ymin = left[1];
          var Ymax = left[7]; //should be 1
          var Sy = 1 / (Ymax - Ymin);
          return (el - Ymin) * Sy;
        }
      }),
      right: right.map(function(el, i) {
        if (i % 2 == 0) {
          //xval
          var Xmin = right[0]; //should be 0
          var Xmax = right[6];
          var Sx = 1 / (Xmax - Xmin);
          return (el - Xmin) * Sx;
        } else {
          //yval
          var Ymin = right[1]; //should be...