Quando testo o programa no navegador, acaba ocorrendo um erro. Após calcular o imc, o programa acaba apresentando duas msgs: a que se refere ao imc equivalente às informações apresentadas e uma informando que o usuário está abaixo do peso ideal, independente dos valores fornecidos pelo usuário. Não consegui entender o pq disso. Por isso, se alguém conseguir me explicar o pq, ficaria bastante grato.
<meta charset="UTF-8">
<script>
    function pulaLinha() {
        document.write("<br><br>");
    }
    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }
    function calculaImc(peso,altura) {
        var imc = peso / (altura * altura);
        return imc;
    }
    var nomeUsuario = prompt("Por favor, informe seu nome");
    var usuarioPeso = (prompt("Por favor, informe seu peso"));
    var usuarioAltura = (prompt("Por favor, informe sua altura"));
    var imcUsuario = calculaImc(usuarioPeso, usuarioAltura);
    mostra(nomeUsuario + ", seu imc é: " + imcUsuario);
    if (imcUsuario < 17) {
        mostra(nomeUsuario + ", você está muito abaixo do peso.");
    }
    if (imcUsuario >= 17 && imcUsuario < 18,5) {
        mostra(nomeUsuario + ", você está abaixo do peso ideal.");
    }
    if (imcUsuario >= 18,5 && imcUsuario < 25) {
        mostra(nomeUsuario + ", você está com o seu peso ideal.");
    }
    if (imcUsuario >= 25 && imcUsuario < 30) {
        mostra(nomeUsuario + ", você está com sobrepeso.");
    }
    if (imcUsuario >= 30 && imcUsuario < 35) {
        mostra(nomeUsuario + ", você tem obesidade.");
    }
    if (imcUsuario >= 35 && imcUsuario < 40) {
        mostra(nomeUsuario + ", você tem obesidade severa.");
    }
    if (imcUsuario > 40) {
        mostra(nomeUsuario + ", você tem obesidade mórbida.");
    }
</script> 
            