question: public static double girardArea ( S2Point a , S2Point b , S2Point c ) { S2Point ab = S2Point . crossProd ( a , b ) ; S2Point bc = S2Point . crossProd ( b , c ) ; S2Point ac = S2Point . crossProd ( a , c ) ; return Math . max ( 0.0 , ab . angle ( ac ) - ab . angle ( bc ) + bc . angle ( ac ) ) ; }
target:  Return the area of the triangle computed using Girard's formula. This is slightly faster than the Area() method above is not accurate for very small triangles.