ghlyEqual(fwdExp, fwdRes, EPSILON);
    assertElementsRoughlyEqual(upExp, upRes, EPSILON);
  }

  function testLookAtDecomposition() {
    // This test does not use the default precision goog.vec.EPSILON due to
    // precision issues in some browsers, which leads to flaky tests.
    var EPSILON = 1e-4;

    var viewExp = goog.vec.Matrix4.create();
    var viewRes = goog.vec.Matrix4.create();
    var tmp = goog.vec.Matrix4.create();

    // Get a valid set of random vectors eye, forward, up by decomposing
 