Написал простенькую функцию, которая считает гипотенузу треугольника из данных post формы.
Но есть один нюанс, если ввести большие числа в ширину
($weight) и высоту
($height),
то цикл начинает медлить, то есть зависать.
Как я понимаю цикл
 for долго работает с большими числами(24343434343 и т.д.).
Есть конечно выход, это убрать "Итерационную формулу Герона"
и сделать подсчет корня при помощи встроенной функции 
sqrt()
Но возможно ли как-то оптимизировать цикл и ускорить его?
$weight = null;
$height = null;
 
 
function calc_hypotenuse($a,$b){
$result = 1;  
  
  if(is_numeric($a) && is_numeric($b)){    
    $token = ($a*$a) + ($b*$b);                                                         
    
    for($i = 1; $i <= $result; $i++){     
    $result = 1/2 * ($i + $token / $i);    
    }    
  }   
  else{
  return "<br> Ошибка: Чтобы найти гипотенузу, нужно все поля заполнить цифрами";
  }
  
  return "<br> Гипотенуза равна = ". round($result, 1);
}
 
 
if(isset($_POST["weight"]) && isset($_POST["height"]) ){
  $weight = $_POST["weight"];
  $height = $_POST["height"];
  echo calc_hypotenuse($weight,$height);
}
<form method="POST">
<p>Ширина: <input type="text" name="weight" /></p>
<p class ="block">Высота: <input type="text" name="height" /></p>
<br>
<input type="submit" value="Найти гипотенузу">
</form>
body{
font-size: 30px;
}
 
.block{
margin-top:10px;
margin-left:12px;
}