Successivo: Impostare la precisione, Precedente: Ottenere la precisione, Su: Cautela col calcolo in VM [Contenuti][Indice]
Invece dell’aritmetica in virgola mobile con precisione arbitraria, spesso tutto ciò di cui si ha bisogno è un aggiustamento della logica o di un diverso ordine delle operazioni nei calcoli. La stabilità e l’accuratezza del calcolo di pi nel primo esempio possono essere migliorata usando la seguente semplice trasformazione algebrica:
(sqrt(x * x + 1) - 1) / x ≡ x / (sqrt(x * x + 1) + 1)
Dopo aver fatto questo cambiamento, il programma converge verso pi in meno di 30 iterazioni:
$ gawk -f pi2.awk -| 3.215390309173473 -| 3.159659942097501 -| 3.146086215131436 -| 3.142714599645370 -| 3.141873049979825 … -| 3.141592653589797 -| 3.141592653589797