Salve a tutti. Ho fatto questo programma in visual basic ma non capisco perchè mi produce un output errato, eppure sono sicuro che dal punto di vista dell'algoritmo sia corretto...

codice:
Module Module1

    Sub Main()
        Dim teta, alfa, beta, salfa, sbeta, epsilon, smu, cmu, steta, calfa, cbeta, cteta, mu As Double
        Console.WriteLine("Inserisci l'angolo di cui vuoi calcolare seno e coseno")
        teta = Console.ReadLine()
        Console.WriteLine("Inserisci l'errore con cui vuoi fare il calcolo: ")
        epsilon = Console.ReadLine()
        alfa = 0
        salfa = 0
        calfa = 1
        beta = 90
        sbeta = 1
        cbeta = 0
        Do
            mu = (alfa + beta) / 2
            smu = Math.Sqrt((1 - ((calfa * cbeta) + (salfa * sbeta))) / 2)
            cmu = Math.Sqrt((1 + ((calfa * cbeta) - (salfa * sbeta))) / 2)
            If mu < teta Then
                alfa = mu
                salfa = smu
                calfa = cmu
            Else
                beta = mu
                sbeta = smu
                cbeta = cmu
            End If
        Loop Until ((sbeta - salfa) < epsilon) And ((calfa - cbeta) < epsilon)
        steta = (salfa + sbeta) / 2
        cteta = (calfa + cbeta) / 2
        Console.WriteLine("Il seno è: {0}, ed il coseno è: {1}", steta, cteta)
        Console.ReadKey()
    End Sub

End Module