/* Precision non infinie des reels stockes       */
/* dans des variables de type float              */
/* Erreurs de calcul successives                 */
/* sur la fonction Math.sqrt                     */
/* -> Amplification de l'erreur resultante       */

public class TestPrecisionSqrtFloat {

///////////////////////////////////////////////////
  
  /* Precision non infinie des reels stockes     */
  /* dans des variables de type float            */
  /* Erreurs de calcul successives               */
  /* sur la fonction Math.sqrt                   */
  /* -> Amplification de l'erreur resultante     */
  
  public static void main(String [] args) {
    float v;
    for ( int i = 1 ; i <= 25 ; i++ ) {
      Ecran.formater("%2d",i);
      v = 2.0F;
      for ( int j = 0 ; j < i ; j++ ) {
        v =(float) Math.sqrt(v); }
      Ecran.formater("%24.19f",v);
      for ( int j = 0 ; j < i ; j++ ) {
        v = v*v; }
      Ecran.formater("%24.19f\n",v); }
  }

///////////////////////////////////////////////////
}