Though your question may seem simple at first, the reality is quite the opposite. Whenever you want to know what a function is doing, you just have to access the function as it were an object (it literally is an object in R):
sin # function (x) .Primitive("sin")
.Primitive is one of the ways R can call C. If you want to see the C-code, then you can use the pryr library as in:
pryr::show_c_source(.Primitive(sin(x)))
# do_math1 with op = 21
It also opens a Github page with the code of arithmetic.c, the arithmetic heart of R. R computes sin with the do_math1 function with option 21. If you want to go any further, you will need to understand how the sin function is estimated in C. For that, I recommend the following post:
How does C compute sin() and other math functions?