double00doublesxssdoublexhalf00halfs00halfssxshalfx-x0x-sxsy-xyif0yzyifsxyzzhalfdoublexxdoublesxdoublexhalfssxhalfx-sxsy-xytruedoublesxdoublextrue1double141s1111double141001half1211-211if31213halfssxhalfxtrue1half111s1411double141000half141-24112if31213-sxsy-xytrue1-211s1211double121004half1141-241if31213