en terme de vitesse, dans tout les cas ça ne peut pas être pire (quoi que). Par contre, selon ton compilateur et les options que tu utilise, ça peut être moins précis (enfin très peu).
Parce que le sqrt(d) va être stocké dans la mémoire sur moins de bit (32 ou 64) qu'il ne l'est au cours d'un calcul intermédiaire (80).
Mais de toutes manières, le compilo peut être réglé pour faire toujours ça (tronquer les résultats intermédiaire à 64 bits) pour préserver la cohérence des calculs, ou alors, il peut voir cette optimisation et sortir le sqrt(d) pour ne le calculer qu'une seule fois et donc tu ne gagne même pas de temps. Ou alors, si tu ne réutilise pas d, il peut voir que ça ne sers à rien de le tronquer, etc.
Bref, il est quasiment impossible juste comme ça de te dire quel sera l'effet de ce changement.
L'optimisation de code est une tâche ardue, celle de calcul flottant est encore bien pire. L'idée de base c'est d'écrire ce qu'il faut de la manière la plus simple possible (ici, tu choisi celle des deux formes que tu préfère) et ensuite de laisser le compilo faire son boulot. Quand tu maîtrisera plus le langage, tu pourra commencer à regarder sérieusement ce que font les options de compilation et tu pourras même regarder les différences dans le code assembleur généré.