Fixed bug in `eval`, Updated `sin` to use eval

More tests need to be added to check `sin`, all the earlier tests
pass.