I wrote very simple code:
public static void Main (string[] args)
{
String str="1,0992748756871115E+41"; //yes, I know that is very large value
Double x=Convert.ToDouble(str);
Double res=Math.Cos(x);
Double resRound=Math.Round(res);
Console.WriteLine("x={0}\nres={1}\nresRound={2}", x, res, resRound);
}
And this code output very large value of res value: 1,09927487568711E+41 which a equals to Math.Cos’s arguments:

I thought, that is a bug of Gtk# and decided to test what value returns this code compilled by .NET Framework and it returned same value!
Is that so the meaning of the function cos(x) exceeds the limits of segment from -1 to 1? How does it possible?
From the documentation: