GNU bc is an interactive algebraic language with arbitrary precision which follows the POSIX 1003.2 draft standard, with several extensions including multi-character variable names, an `else' statement and full Boolean expressions. GNU bc does not require the separate GNU dc program.