Il problema è che stai usando degli Int16, per cui viene usata l'aritmetica per interi a 16 bit, che vanno in overflow superato il valore 32767. Per questo genere di conti ti conviene usare i Double.