code: private double hermiteInterpolate(final double Y0, final double Y1, final double Y2, final double Y3,
                                        final double MU, final double TENSION, final double BIAS) {
          double m0;
          double m1;
          final double MU2;
          final double Mu3;
          final double A0;
          final double A1;
          final double A2;
          final double A3;
  
          MU2 = MU * MU;
          Mu3 = MU2 * MU;
          m0 = (Y1 - Y0) * (1 + BIAS) * (1 - TENSION) / 2;
          m0 += (Y2 - Y1) * (1 - BIAS) * (1 - TENSION) / 2;
          m1 = (Y2 - Y1) * (1 + BIAS) * (1 - TENSION) / 2;
          m1 += (Y3 - Y2) * (1 - BIAS) * (1 - TENSION) / 2;
          A0 = (2 * Mu3) - (3 * MU2) + 1;
          A1 = Mu3 - (2 * MU2) + MU;
          A2 = Mu3 - MU2;
          A3 = (-2 * Mu3) + (3 * MU2);
  
          return ((A0 * Y1) + (A1 * m0) + (A2 * m1) + (A3 * Y2));
      }
docs: Returns the value smoothed by a hermite interpolation function
  @param Y0
  @param Y1
  @param Y2
  @param Y3
  @param MU
  @param TENSION
  @param BIAS
  @return the value smoothed by a hermite interpolation function