diff -r 574e0baea136 -r a689e0187ef5 lvm.js --- a/lvm.js Sat Sep 21 14:02:16 2013 +0100 +++ b/lvm.js Sat Sep 21 14:31:22 2013 +0100 @@ -850,10 +850,16 @@ { var m = x.value; var e = 0; - while (Math.abs(m) >= 1) { - m = m / 2; - e = e + 1; - }; + if(m != 0) { + while (Math.abs(m) < 0.5) { + m = m * 2; + e = e - 1; + } + while (Math.abs(m) >= 1) { + m = m / 2; + e = e + 1; + } + } return [this.LValue(m), this.LValue(e)]; }, floor: function (x)