diff --git a/src/14.Expression.polar.js b/src/14.Expression.polar.js
index <HASH>..<HASH> 100644
--- a/src/14.Expression.polar.js
+++ b/src/14.Expression.polar.js
@@ -2,14 +2,15 @@ Expression.prototype.polar = function() {
 	var ri = this.realimag();
 	var two = new Expression.Integer(2);
 	return Expression.List.ComplexPolar([
-		ri[0]['^'](two)['+'](ri[1]['^'](two)),
+		Global.sqrt.default(ri[0]['^'](two)['+'](ri[1]['^'](two))),
 		Global.atan2.default(Expression.Vector([ri[1], ri[0]]))
 	]);
 };
 Expression.prototype.abs = function() {
 	console.warn('SLOW?');
 	var ri = this.realimag();
-	return ri[0]['*'](ri[0])['+'](ri[1]['*'](ri[1]));
+	var two = new Expression.Integer(2);
+	return Global.sqrt.default(ri[0]['^'](two)['+'](ri[1]['^'](two)));
 };
 Expression.prototype.arg = function() {
 	console.warn('Slow?');
Fix absolute value of cartesian (was previously x*x+y*y, but should be Sqrt[x^2+y^2])