Fixed bugs in `eval`. Added `tests` for `sin`

Fixed a couple of errors in `eval` and `sin`
Added more tests in `test_sin`. `eval` looks good to be merged.