$v1 not exactly 1:
$ perl -e' $v1 = (0.520371764072297 * 0.520371764072297) + (0.853939826425894 * 0.853939826425894 * 1); printf "%.16f\n", $v1 ' 1.0000000000000004
However, when you gate it, Perl only stores 15 digits of precision:
$ perl -MDevel::Peek -e' $v1 = (0.520371764072297 * 0.520371764072297) + (0.853939826425894 * 0.853939826425894 * 1); Dump "$v1" ' SV = PV(0x2345090) at 0x235a738 REFCNT = 1 FLAGS = (PADTMP,POK,pPOK) PV = 0x2353980 "1"\0
ThisSuitIsBlackNot
source share