ref: a9d09ee1f1eccc3d8cef3f6fe593f96bec8f855f
dir: /sys/src/ape/lib/ap/math/hypot.c/
#include <math.h> /* * sqrt(a^2 + b^2) * (but carefully) */ double hypot(double a, double b) { double t; if(a < 0) a = -a; if(b < 0) b = -b; if(a > b) { t = a; a = b; b = t; } if(b == 0) return 0; a /= b; /* * pathological overflow possible * in the next line. */ return b * sqrt(1 + a*a); }