bc (basic calculator) originally appeared with Unix. It is a simple programming language with high precision arithmetic. It was originally implemented as a frontend for dc (desk calculator) which implemented a stack machine. POSIX bc is less elaborate than GNU bc .
bc is powerful enough to implement mathematical functions: sine s(x) , cosine c(x) , arctangent a(x) , natural logarithm l(x) , exponential e(x) , and bessel function j(x,y) .