--- gridspeed.old 2004-02-24 13:04:54.000000000 -0700 +++ gridspeed 2004-03-01 20:28:11.000000000 -0700 @@ -11,14 +11,16 @@ my $m = 2; my $c = 1; my $nc; - CHECK: while(1){ - if(($nc = $d*($m-1)+1/$m) < $c){ - $c = $nc; - $m++; - next CHECK; - }else{ - last CHECK; - } + my $m = sqrt($n*($n - 1)/(2*$n - 1)); + $m += .5; + $m =~ s/\..*$//; + my $c1 = $d*($m - 1) + 1/$m; + my $c2 = $d*($m) + 1/($m + 1); + if($c2 < $c1){ + $m++; + $c = $c2; + }else{ + $c = $c1; } if($c < 1){ $sum2 -= 1 - $c;