Io credo invece che sia proprio come ti ho detto ...

Primo, perche' quell'errore la funzione radice lo da' solo in quel caso (hai controllato in debug il valore della variabile 'delta' quando c'e' l'errore?)

Secondo, perche' tu controlli il < solo per scrivere IMP ma non fai nulla per evitare di eseguire il resto del programma. Questo infatti continua e prende la strada dell'else della seconda if causando l'errore ...