Which option is better?

Option 1:
double d1 = 0.1; double d2 = 0.2; double d3 = 0.3; double x = (d1 + d2) + d3 ; double y = d1 + (d2 + d3); if (x == y) {System.out.println("Equal");}

Option 2:
double d1 = 0.1; double d2 = 0.2; double d3 = 0.3; double x = (d1 + d2) + d3 ; double y = d1 + (d2 + d3); double z = x - y; double epsilon = 1E-5; if (java.lnag.Math.abs(z) < epsilon) {System.out.println("Equal");}