TL;DR
600D - Area of Two Circles' Intersection requires careful treatment of loss of significance, more than the geometry itself. The test is plagued by the numerical errors, and rejects "more accurate" solution.
Geometry -------- Let's review the geometry, first. We need three numbers (r1, r2, d); where d is the distance between two centers,


Intersection of two circles is determined from two circular sectors subtracted by two triangles, yielding

where angles θ1 and θ2 are determined from the cosine formula


So far, so good. I wrote Python code (with double representation), and failed. Rewrote the code in C++ using long double, and succeeded. But..., what was wrong?
Loss of significance
Loss of significance (wikipedia) occurs when you take difference (y - x) of two close numbers x ≈ y. For example, look at the calculation
Although you started with numbers of five significant digits, the result has only one significant digit.
This type of numerical error can occur in two parts of our calculation. One in inside of
, the other in the function (θ - sin(θ)cos(θ)) when θ is small
.



