return (long long double)sqrt( pow((s.x - d.x),2) + pow((s.y - d.y),2) + pow((s.z - d.z),2) );
distance = (long long double)((EARTH_R) * (PI/2 - asin( sin(DEGtoRAD(d_lat.d)) * sin(DEGtoRAD(s_lat.d)) + cos(DEGtoRAD(d_long.d) - DEGtoRAD(s_long.d)) * cos(DEGtoRAD(d_lat.d)) * cos(DEGtoRAD(s_lat.d)))));
if ( s_alt != d_alt )
distance = (long long double)sqrt( pow(distance,2) + pow((s_alt - d_alt),2) );
...
(bon ok les perfs sont probablement pas importantes, mais... eek... O_O (enfin sinon, ca a l'air chouette... ^^))