Era il 1985. Più o meno.
I primi due anni di università ero riuscito a farli con una calcolatrice uscita nel Dash. Le quattro operazioni e basta. Quando la placchetta metallica che circondava i tasti si era un po' rovinata l'avevo smontata e carteggiata con la carta vetrata fine, ottenendo uno splendido effetto “alluminio spazzolato”.
Solamente con gli esercizi di chimica, per il calcolo del PH, mi ero trovato in difficoltà. Ma avevo risolto riesumando le tavole logaritmiche di mio padre vecchie di almeno 30 anni prima. Forse sono stato uno degli ultimi ad utilizzarne. Con 8 cifre decimali, e metodo interpolante per ricavare la 9 cifra.
Ma alla fine, all'ingresso nel terzo anno, mi ero deciso. Forse avevo rotto il porcellino, non ricordo. Bisognava comperare una calcolatrice scientifica. Assolutamente serviva.
A quei tempi era già un po' scemata l'invasione delle calcolatrici HP con la loro logica polacca inversa, ma comunque dai prezzi per me inavvicinabili. Inoltre i loro tasti duri e puntuti mi piacevano assai poco.
I miei colleghi più sciccosi dicevano meraviglie della Texas Instruments, in specie di un modello appena uscito, dai tasti grandi e colorati con le papille gustative in rilievo, forse un po' meno potente di altri modelli precedenti ma sicuramente più user-friendly.
Io invece, e non ricordo perchè la scelsi, portai a casa una normalissima Casio. Alta quanto bastava per infilarci una pila stilo AA, munita anche di funzioni statistiche, poteva memorizzare formule fino a 6 variabili, e, cosa in fondo mai utilizzata, dotata di una procedura numerica di calcolo degli integrali (non ricordo come, si inseriva una funzione, un intervallo di integrazione, e dopo qualche secondo di attesa ti sputava fuori un numero).
Fu con mia grande sorpresa che un giorno chiedendo alla mia calcolatrice la seguente operazione: 4.3^3 mi trovai il display inondato di cifre.
Provai con 4.2^3, 5.3^3, 7.3^3, ecc. e tutto andava alla perfezione. Sempre tre cifre decimali nel risultato. Insomma, con l'operazione incriminata, invece di 79.507 (numero che ormai conosco a memoria) il display riportava 79.5069999999.
Fu così quindi che mi decisi di scrivere al produttore. La prima ed unica volta. Ovviamente non alla Casio in Giappone. Scrissi al distributore della Casio per l'Italia con sede a Milano.
Avevo smontato la calcolatrice, annotato il modello di processore (un Toshiba), il modello di calcolatrice, ecc. e chiedevo il motivo di un simile comportamento del mio strumento di calcolo, e perchè mai proprio per 4.3^3.
Attesi mesi e mesi la loro risposta che, vi dico subito, non arrivò mai.
Chissà le risate che deve essersi fatto chi ha letto la mia lettera prima di cestinarla.
Fatto sta che girando sempre attorno a quel mistero, ad un certo punto rileggendo il manualetto di istruzioni, tra le specifiche tecniche, trovai una parziale risposta alle mie domande.
Tra queste era prevista una tolleranza nella esattezza dei risultati forniti dalla calcolatrice. Tolleranza in cui il mio 79.5069999999, evidentemente calcolato come sviluppo in serie troncato, rientrava perfettamente.
Tornando al problema. Che tu possa aver riscontrato il problema con un tipo float (generalmente a 32 bit) lo reputo quasi normale. Certo, con il tipo double da te utilizzato, a 64 bit, la cosa è strana. A questo punto ti rimarrebbe una ultima carta, ovvero utilizzare il tipo long double che dovrebbe essere un numero ad 80 bit, e che dovrebbe eliminarti il problema riscontrato.