Le signe de [ \(f(b) - f(a)) ] indique les variations de \(f) si elle est monotone sur [ \(a) ; \(b) ], et celui de [ \(f(x)-C) ] indique la position de \(f(x)) par rapport à la valeur cible \(C) donc l'intervalle [ \(a) ; \(x) ] ou [ \(x) ; \(b) ] à retenir.
Si [ \(f(x)-C) ] [ \(f(b) - f(a)) ] \(\ge) 0, il faut retenir [ \(a) ; \(x) ], on affecte \(x) à \(b).
Si [ \(f(x)-C) ] [ \(f(b) - f(a)) ] \(\le) 0, il faut retenir [ \(x) ; \(b) ], on affecte \(x) à \(a).

Dans le cas où \(f(x)=C), on a trouvé la solution de l'équation (en fait avec la précision de la calculatrice ou de l'ordinateur), et en affectant à la fois \(x) à \(b) et \(x) à \(a), l'intervalle devient [ \(a) ;\( b) ] avec \(a=b=x). S'il y a un test d'arrêt dès que la différence \((b-a)) est assez petite alors la boucle s'arrête parce que \(b-a=0).

Dans l'algorithme précédent on remplacera l'instruction Si \(Y \gt C) alors \(B \leftarrow X) sinon \(A \leftarrow X) par les deux instructions :
Si [\(Y-C)] * [\(V-U) ]\(\ge) 0 alors \(B \leftarrow X) et \(V \leftarrow Y)
Si [\(Y-C)] * [\(V-U) ]\(\le) 0 alors \(A \leftarrow X) et \(U \leftarrow Y)
et avant le début de la boucle il faudra affecter \(f(a)) à \(U) et \(f(b)) à \(V) ; les valeurs de \(U) et \(V) seront actualisées à chaque boucle grâce aux deux instructions précédentes.

Avec une calculatrice, on peut mettre en mémoire la formule de \(f(x)) dans le registre Y1 pour l'utiliser dans ce programme sans avoir à écrire la formule de la fonction trois fois à l'intérieur du programme.