Index: trunk/src/org/openstreetmap/josm/data/imagery/AbstractWMSTileSource.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/imagery/AbstractWMSTileSource.java	(revision 16626)
+++ trunk/src/org/openstreetmap/josm/data/imagery/AbstractWMSTileSource.java	(revision 16627)
@@ -36,5 +36,5 @@
     private int[] tileYMax;
     private double[] degreesPerTile;
-    private static final float SCALE_DENOMINATOR_ZOOM_LEVEL_1 = 559082264.0287178f;
+    private static final double SCALE_DENOMINATOR_ZOOM_LEVEL_1 = 5.59082264028718e08;
     private Projection tileProjection;
 
@@ -92,5 +92,5 @@
 
         for (int zoom = 1; zoom <= getMaxZoom(); zoom++) {
-            // use well known scale set "GoogleCompatibile" from OGC WMTS spec to calculate number of tiles per zoom level
+            // use well known scale set "GoogleCompatible" from OGC WMTS spec to calculate number of tiles per zoom level
             // this makes the zoom levels "glued" to standard TMS zoom levels
             degreesPerTile[zoom] = (SCALE_DENOMINATOR_ZOOM_LEVEL_1 / Math.pow(2d, zoom - 1d)) * crsScale;
Index: trunk/src/org/openstreetmap/josm/data/projection/proj/AbstractProj.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/proj/AbstractProj.java	(revision 16626)
+++ trunk/src/org/openstreetmap/josm/data/projection/proj/AbstractProj.java	(revision 16627)
@@ -42,14 +42,14 @@
     private static final double C00 = 1.0;
     private static final double C02 = 0.25;
-    private static final double C04 = 0.046875;
-    private static final double C06 = 0.01953125;
-    private static final double C08 = 0.01068115234375;
+    private static final double C04 = 4.6875E-02;
+    private static final double C06 = 1.953125E-02;
+    private static final double C08 = 1.068115234375E-02;
     private static final double C22 = 0.75;
-    private static final double C44 = 0.46875;
-    private static final double C46 = 0.01302083333333333333;
-    private static final double C48 = 0.00712076822916666666;
-    private static final double C66 = 0.36458333333333333333;
-    private static final double C68 = 0.00569661458333333333;
-    private static final double C88 = 0.3076171875;
+    private static final double C44 = 4.6875E-01;
+    private static final double C46 = 1.30208333333333E-02;
+    private static final double C48 = 7.12076822916667E-03;
+    private static final double C66 = 3.64583333333333E-01;
+    private static final double C68 = 5.69661458333333E-03;
+    private static final double C88 = 3.076171875E-01;
 
     /**
Index: trunk/src/org/openstreetmap/josm/data/projection/proj/CassiniSoldner.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/proj/CassiniSoldner.java	(revision 16626)
+++ trunk/src/org/openstreetmap/josm/data/projection/proj/CassiniSoldner.java	(revision 16627)
@@ -41,9 +41,9 @@
      * case of the Cassini-Soldner.
      */
-    private static final double C1 = 0.16666666666666666666;
-    private static final double C2 = 0.008333333333333333333;
-    private static final double C3 = 0.041666666666666666666;
-    private static final double C4 = 0.33333333333333333333;
-    private static final double C5 = 0.066666666666666666666;
+    private static final double C1 = 1. / 6;
+    private static final double C2 = 1. / 120;
+    private static final double C3 = 1. / 24;
+    private static final double C4 = 1. / 3;
+    private static final double C5 = 1. / 15;
 
     @Override
Index: trunk/src/org/openstreetmap/josm/data/projection/proj/LambertAzimuthalEqualArea.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/proj/LambertAzimuthalEqualArea.java	(revision 16626)
+++ trunk/src/org/openstreetmap/josm/data/projection/proj/LambertAzimuthalEqualArea.java	(revision 16627)
@@ -41,10 +41,10 @@
 
     /** Constants for authalic latitude. */
-    private static final double P00 = 0.33333333333333333333;
-    private static final double P01 = 0.17222222222222222222;
-    private static final double P02 = 0.10257936507936507936;
-    private static final double P10 = 0.06388888888888888888;
-    private static final double P11 = 0.06640211640211640211;
-    private static final double P20 = 0.01641501294219154443;
+    private static final double P00 = 3.33333333333333E-01;
+    private static final double P01 = 1.72222222222222E-01;
+    private static final double P02 = 1.02579365079365E-01;
+    private static final double P10 = 6.38888888888889E-02;
+    private static final double P11 = 6.64021164021164E-02;
+    private static final double P20 = 1.64150129421915E-02;
 
     /** The projection mode. */
Index: trunk/src/org/openstreetmap/josm/data/projection/proj/TransverseMercator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/proj/TransverseMercator.java	(revision 16626)
+++ trunk/src/org/openstreetmap/josm/data/projection/proj/TransverseMercator.java	(revision 16627)
@@ -85,12 +85,12 @@
      * case of the Transverse Mercator.
      */
-    private static final double FC1 = 1.00000000000000000000000,  // 1/1
-                                FC2 = 0.50000000000000000000000,  // 1/2
-                                FC3 = 0.16666666666666666666666,  // 1/6
-                                FC4 = 0.08333333333333333333333,  // 1/12
-                                FC5 = 0.05000000000000000000000,  // 1/20
-                                FC6 = 0.03333333333333333333333,  // 1/30
-                                FC7 = 0.02380952380952380952380,  // 1/42
-                                FC8 = 0.01785714285714285714285;  // 1/56
+    private static final double FC1 = 1. / 1;
+    private static final double FC2 = 1. / 2;
+    private static final double FC3 = 1. / 6;
+    private static final double FC4 = 1. / 12;
+    private static final double FC5 = 1. / 20;
+    private static final double FC6 = 1. / 30;
+    private static final double FC7 = 1. / 42;
+    private static final double FC8 = 1. / 56;
 
     /**
