Perhaps you are calling the function with two few arguments, such as this on the command line:
If you are simply hitting the "Run" button, then the program assumes no inputs at all, and b happens to be the first one it comes across.
Neither of these are bugs in the code, simply incorrect usage. If you want to prevent this, define defaults:
a (1,1) double = 1
b (1,1) double = 0
c (1,1) double = 0