> 初期化直後 (未使用) の変数は数値 (0) と文字列 ("") の両方の型を持つ。
IEEE Std 1003.1 の awk の EXTENDED DESCRIPTION の
Variables and Special Variables に書いてあるね。 uninitialized value というらしい。
POSIXに準拠してるawkならこうなるみたいだけど、オリジナルは知らん。

再初期化するなら$(NF+1)使うほうがいいかもね。未使用の変数を用意しなくていい。
だけど、それが必要な場面が思い浮かばないが。

関係ないけど、abs関数ってないんだね。別に良いけど、πや、
0より大きい最小の浮動小数点数は定義しててほしいなあ。