rem: return (dot === null) ? null : Math.acos(this.dot(vector) / (this.modulus() * vector.modulus())); 
add: if (dot === null || this.modulus() === 0 || vector.modulus() === 0) { return null; } var theta = this.dot(vector) / (this.modulus() * vector.modulus()); if (theta < -1) { theta = -1; } if (theta > 1) { theta = 1; } return Math.acos(theta); 
context:     this.angleFrom = function(vector) {      var dot = this.dot(vector);      return (dot === null) ? null : Math.acos(this.dot(vector) / (this.modulus() * vector.modulus()));    };
meta: 3877	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/3877/8730348bad675fff06578253600446b0146c1ec3/sylvester.src.js/clean/sylvester.src.js