Index: trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/actions/AlignInCircleAction.java	(revision 8393)
@@ -232,5 +232,5 @@
         // center. This method is ok as long as distances are short
         // relative to the distance from the N or S poles.
-        if (Double.doubleToRawLongBits(radius) == 0) {
+        if (radius == 0) {
             for (Node n : nodes) {
                 radius += distance(center, n.getEastNorth());
Index: trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/actions/AlignInLineAction.java	(revision 8393)
@@ -363,5 +363,5 @@
             b = xM - xB;
             double norm = Math.sqrt(a*a + b*b);
-            if (Double.doubleToRawLongBits(norm) == 0)
+            if (norm == 0)
                 // Nodes have same coordinates !
                 throw new InvalidSelection();
Index: trunk/src/org/openstreetmap/josm/actions/SelectByInternalPointAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/SelectByInternalPointAction.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/actions/SelectByInternalPointAction.java	(revision 8393)
@@ -61,7 +61,5 @@
                     EastNorth en2 = Main.map.mapView.getProjection().latlon2eastNorth(bBox.getBottomRight());
                     double s = Math.abs((en1.east() - en2.east()) * (en1.north() - en2.north()));
-                    if (Double.doubleToRawLongBits(s) == 0) {
-                        s = 1e8;
-                    }
+                    if (s == 0) s = 1e8;
                     found.put(s, r);
                 }
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 8393)
@@ -1005,5 +1005,5 @@
             // In practice this will probably only happen when a way has been duplicated
 
-            if (Double.doubleToRawLongBits(u) == 0)
+            if (u == 0)
                 return;
 
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/PlayHeadDragMode.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/PlayHeadDragMode.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/PlayHeadDragMode.java	(revision 8393)
@@ -60,5 +60,5 @@
             dragging = true;
         }
-        if (Double.doubleToRawLongBits(p.distance(mousePos)) == 0) return;
+        if (p.distance(mousePos) == 0) return;
         playHeadMarker.drag(Main.map.mapView.getEastNorth(ev.getX(), ev.getY()));
         mousePos = p;
Index: trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/data/gpx/GpxData.java	(revision 8393)
@@ -295,5 +295,5 @@
                         double C = -A * rx - B * ry;
                         double RSsq = A * A + B * B;
-                        if (Double.doubleToRawLongBits(RSsq) == 0) {
+                        if (RSsq == 0) {
                             continue;
                         }
Index: trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/data/imagery/ImageryInfo.java	(revision 8393)
@@ -948,5 +948,5 @@
     public String getToolbarName() {
         String res = name;
-        if (Double.doubleToRawLongBits(pixelPerDegree) != 0) {
+        if (pixelPerDegree != 0) {
             res += "#PPD="+pixelPerDegree;
         }
@@ -956,5 +956,5 @@
     public String getMenuName() {
         String res = name;
-        if (Double.doubleToRawLongBits(pixelPerDegree) != 0) {
+        if (pixelPerDegree != 0) {
             res += " ("+pixelPerDegree+")";
         }
Index: trunk/src/org/openstreetmap/josm/data/imagery/OffsetBookmark.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/imagery/OffsetBookmark.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/data/imagery/OffsetBookmark.java	(revision 8393)
@@ -71,5 +71,5 @@
         res.add(String.valueOf(dx));
         res.add(String.valueOf(dy));
-        if (Double.doubleToRawLongBits(centerX) != 0 || Double.doubleToRawLongBits(centerY) != 0) {
+        if (centerX != 0 || centerY != 0) {
             res.add(String.valueOf(centerX));
             res.add(String.valueOf(centerY));
Index: trunk/src/org/openstreetmap/josm/data/osm/BBox.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/BBox.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/data/osm/BBox.java	(revision 8393)
@@ -274,6 +274,6 @@
         if (o instanceof BBox) {
             BBox b = (BBox)o;
-            return Utils.equalsEpsilon(b.xmax, xmax) && Utils.equalsEpsilon(b.ymax, ymax)
-                    && Utils.equalsEpsilon(b.xmin, xmin) && Utils.equalsEpsilon(b.ymin, ymin);
+            return b.xmax == xmax && b.ymax == ymax
+                    && b.xmin == xmin && b.ymin == ymin;
         } else
             return false;
Index: trunk/src/org/openstreetmap/josm/data/osm/NodePositionComparator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/NodePositionComparator.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/data/osm/NodePositionComparator.java	(revision 8393)
@@ -26,5 +26,5 @@
             return -1;
         double dLon = n1.getCoor().lon() - n2.getCoor().lon();
-        if (Double.doubleToRawLongBits(dLon) == 0)
+        if (dLon == 0)
             return 0;
         return dLon > 0 ? 1 : -1;
Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java	(revision 8393)
@@ -142,5 +142,5 @@
             double lenNext = Math.sqrt(dxNext*dxNext + dyNext*dyNext);
 
-            if (Double.doubleToRawLongBits(lenNext) == 0) {
+            if (lenNext == 0) {
                 lenNext = 1; // value does not matter, because dy_next and dx_next is 0
             }
@@ -998,5 +998,5 @@
 
         double fromAngle;
-        if (Double.doubleToRawLongBits(dx) == 0) {
+        if (dx == 0) {
             fromAngle = Math.PI/2;
         } else {
@@ -1315,5 +1315,5 @@
                     if (showHeadArrowOnly ? !it.hasNext() : showOrientation) {
                         final double segmentLength = p1.distance(p2);
-                        if (Double.doubleToRawLongBits(segmentLength) != 0) {
+                        if (segmentLength != 0) {
                             final double l =  (10. + line.getLineWidth()) / segmentLength;
 
@@ -1328,5 +1328,5 @@
                     if (showOneway) {
                         final double segmentLength = p1.distance(p2);
-                        if (Double.doubleToRawLongBits(segmentLength) != 0) {
+                        if (segmentLength != 0) {
                             final double nx = (p2.x - p1.x) / segmentLength;
                             final double ny = (p2.y - p1.y) / segmentLength;
Index: trunk/src/org/openstreetmap/josm/data/projection/CustomProjection.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/CustomProjection.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/data/projection/CustomProjection.java	(revision 8393)
@@ -342,5 +342,5 @@
         boolean isCentric = true;
         for (Double param : towgs84Param) {
-            if (Double.doubleToRawLongBits(param) != 0) {
+            if (param != 0) {
                 isCentric = false;
                 break;
@@ -351,5 +351,5 @@
         boolean is3Param = true;
         for (int i = 3; i<towgs84Param.size(); i++) {
-            if (Double.doubleToRawLongBits(towgs84Param.get(i)) != 0) {
+            if (towgs84Param.get(i) != 0) {
                 is3Param = false;
                 break;
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateNode.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateNode.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/DuplicateNode.java	(revision 8393)
@@ -59,5 +59,5 @@
                 if (coor == null)
                     return null;
-                if (Double.doubleToRawLongBits(precision) == 0)
+                if (precision == 0)
                     return coor.getRoundedToOsmPrecision();
                 return roundCoord(coor);
@@ -66,5 +66,5 @@
                 if (coor == null)
                     return null;
-                if (Double.doubleToRawLongBits(precision) == 0)
+                if (precision == 0)
                     return coor.getRoundedToOsmPrecision();
                 return roundCoord(coor);
Index: trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapBBoxChooser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapBBoxChooser.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/gui/bbox/SlippyMapBBoxChooser.java	(revision 8393)
@@ -296,6 +296,6 @@
     @Override
     public void setBoundingBox(Bounds bbox) {
-        if (bbox == null || (Double.doubleToRawLongBits(bbox.getMinLat()) == 0 && Double.doubleToRawLongBits(bbox.getMinLon()) == 0
-                && Double.doubleToRawLongBits(bbox.getMaxLat()) == 0 && Double.doubleToRawLongBits(bbox.getMaxLon()) == 0)) {
+        if (bbox == null || (bbox.getMinLat() == 0 && bbox.getMinLon() == 0
+                && bbox.getMaxLat() == 0 && bbox.getMaxLon() == 0)) {
             this.bbox = null;
             iSelectionRectStart = null;
Index: trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java	(revision 8393)
@@ -144,5 +144,5 @@
                 panel.add(new UrlLabel(url), GBC.eol().insets(2, 5, 10, 0));
             }
-            if (Double.doubleToRawLongBits(dx) != 0 || Double.doubleToRawLongBits(dy) != 0) {
+            if (dx != 0 || dy != 0) {
                 panel.add(new JLabel(tr("Offset: ") + dx + ";" + dy), GBC.eol().insets(0, 5, 10, 0));
             }
Index: trunk/src/org/openstreetmap/josm/gui/layer/Layer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/Layer.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/gui/layer/Layer.java	(revision 8393)
@@ -270,5 +270,5 @@
         boolean oldValue = isVisible();
         this.visible  = visible;
-        if (visible && Double.doubleToRawLongBits(opacity) == 0) {
+        if (visible && opacity == 0) {
             setOpacity(1);
         } else if (oldValue != isVisible()) {
@@ -282,5 +282,5 @@
      */
     public boolean isVisible() {
-        return visible && Double.doubleToRawLongBits(opacity) != 0;
+        return visible && opacity != 0;
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/layer/TMSLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/TMSLayer.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/gui/layer/TMSLayer.java	(revision 8393)
@@ -419,5 +419,5 @@
         int screenPixels = mv.getWidth()*mv.getHeight();
         double tilePixels = Math.abs((y2-y1)*(x2-x1)*tileSource.getTileSize()*tileSource.getTileSize());
-        if (screenPixels == 0 || Double.doubleToRawLongBits(tilePixels) == 0) return 1;
+        if (screenPixels == 0 || tilePixels == 0) return 1;
         return screenPixels/tilePixels;
     }
@@ -1261,5 +1261,5 @@
         EastNorth botRight = mv.getEastNorth(mv.getWidth(), mv.getHeight());
 
-        if (Double.doubleToRawLongBits(botRight.east()) == 0 || Double.doubleToRawLongBits(botRight.north()) == 0) {
+        if (botRight.east() == 0 || botRight.north() == 0) {
             /*Main.debug("still initializing??");*/
             // probably still initializing
Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 8393)
@@ -907,5 +907,5 @@
                     // parse slider position into real timezone
                     double tz = Math.abs(sldTimezone.getValue());
-                    String zone = Double.doubleToRawLongBits(tz % 2) == 0
+                    String zone = tz % 2 == 0
                     ? (int)Math.floor(tz/2) + ":00"
                             : (int)Math.floor(tz/2) + ":30";
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/Cascade.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/Cascade.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/Cascade.java	(revision 8393)
@@ -149,5 +149,5 @@
             return !(s.isEmpty() || "false".equals(s) || "no".equals(s) || "0".equals(s) || "0.0".equals(s));
         if (o instanceof Number)
-            return Float.floatToRawIntBits(((Number) o).floatValue()) != 0;
+            return ((Number) o).floatValue() != 0;
         if (o instanceof List)
             return !((List) o).isEmpty();
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyle.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyle.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyle.java	(revision 8393)
@@ -11,5 +11,4 @@
 import org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer;
 import org.openstreetmap.josm.gui.mappaint.mapcss.Instruction.RelativeFloat;
-import org.openstreetmap.josm.tools.Utils;
 
 public abstract class ElemStyle implements StyleKeys {
@@ -210,7 +209,7 @@
         ElemStyle s = (ElemStyle) o;
         return isModifier == s.isModifier &&
-                Utils.equalsEpsilon(majorZIndex, s.majorZIndex) &&
-                Utils.equalsEpsilon(zIndex, s.zIndex) &&
-                Utils.equalsEpsilon(objectZIndex, s.objectZIndex);
+                majorZIndex == s.majorZIndex &&
+                zIndex == s.zIndex &&
+                objectZIndex == s.objectZIndex;
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/LineElemStyle.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/LineElemStyle.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/LineElemStyle.java	(revision 8393)
@@ -335,6 +335,6 @@
             Objects.equals(dashesLine, other.dashesLine) &&
             Objects.equals(dashesBackground, other.dashesBackground) &&
-            Utils.equalsEpsilon(offset, other.offset) &&
-            Utils.equalsEpsilon(realWidth, other.realWidth);
+            offset == other.offset &&
+            realWidth == other.realWidth;
     }
 
@@ -356,9 +356,9 @@
             " realWidth=" + realWidth + " color=" + Utils.toString(color) +
             " dashed=" + Arrays.toString(line.getDashArray()) +
-            (Float.floatToRawIntBits(line.getDashPhase()) == 0 ? "" : " dashesOffses=" + line.getDashPhase()) +
+            (line.getDashPhase() == 0 ? "" : " dashesOffses=" + line.getDashPhase()) +
             " dashedColor=" + Utils.toString(dashesBackground) +
             " linejoin=" + linejoinToString(line.getLineJoin()) +
             " linecap=" + linecapToString(line.getEndCap()) +
-            (Float.floatToRawIntBits(offset) == 0 ? "" : " offset=" + offset) +
+            (offset == 0 ? "" : " offset=" + offset) +
             '}';
     }
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/RepeatImageElemStyle.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/RepeatImageElemStyle.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/RepeatImageElemStyle.java	(revision 8393)
@@ -7,5 +7,4 @@
 import org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
-import org.openstreetmap.josm.tools.Utils;
 
 public class RepeatImageElemStyle extends ElemStyle implements StyleKeys {
@@ -70,7 +69,7 @@
         final RepeatImageElemStyle other = (RepeatImageElemStyle) obj;
         if (!this.pattern.equals(other.pattern)) return false;
-        if (!Utils.equalsEpsilon(this.offset, other.offset)) return false;
-        if (!Utils.equalsEpsilon(this.spacing, other.spacing)) return false;
-        if (!Utils.equalsEpsilon(this.phase, other.phase)) return false;
+        if (this.offset != other.offset) return false;
+        if (this.spacing != other.spacing) return false;
+        if (this.phase != other.phase) return false;
         if (this.align != other.align) return false;
         return true;
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ExpressionFactory.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ExpressionFactory.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/ExpressionFactory.java	(revision 8393)
@@ -177,5 +177,5 @@
             float res = args[0];
             for (int i = 1; i < args.length; ++i) {
-                if (Float.floatToRawIntBits(args[i]) == 0) {
+                if (args[i] == 0) {
                     return null;
                 }
Index: trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/tools/AudioPlayer.java	(revision 8393)
@@ -277,5 +277,5 @@
                             if (playingUrl != command.url() ||
                                     stateChange != State.PAUSED ||
-                                    Double.doubleToRawLongBits(offset) != 0)
+                                    offset != 0)
                             {
                                 if (audioInputStream != null) {
Index: trunk/src/org/openstreetmap/josm/tools/Geometry.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/Geometry.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/tools/Geometry.java	(revision 8393)
@@ -352,5 +352,5 @@
         // Solve the equations
         double det = a1 * b2 - a2 * b1;
-        if (Double.doubleToRawLongBits(det) == 0)
+        if (det == 0)
             return null; // Lines are parallel
 
@@ -388,5 +388,5 @@
 
         //segment zero length
-        if (Double.doubleToRawLongBits(ldx) == 0 && Double.doubleToRawLongBits(ldy) == 0)
+        if (ldx == 0 && ldy == 0)
             return p1;
 
@@ -828,5 +828,5 @@
             b[i] = pt1.north() - pt2.north();
             double d = Math.sqrt(a[i]*a[i] + b[i]*b[i]);
-            if (Double.doubleToRawLongBits(d) == 0) return null;
+            if(d == 0) return null;
             a[i] /= d;
             b[i] /= d;
Index: trunk/src/org/openstreetmap/josm/tools/ImageProvider.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 8392)
+++ trunk/src/org/openstreetmap/josm/tools/ImageProvider.java	(revision 8393)
@@ -1180,5 +1180,5 @@
         // convert rotatedAngle to an integer value from 0 to 360
         Long originalAngle = Math.round(rotatedAngle % 360);
-        if (Double.doubleToRawLongBits(rotatedAngle) != 0 && originalAngle == 0) {
+        if (rotatedAngle != 0 && originalAngle == 0) {
             originalAngle = 360L;
         }
@@ -1197,5 +1197,5 @@
                 // convert originalAngle to a value from 0 to 90
                 double angle = originalAngle % 90;
-                if (originalAngle != 0 && Double.doubleToRawLongBits(angle) == 0) {
+                if (originalAngle != 0 && angle == 0) {
                     angle = 90.0;
                 }
