A scientific calculator's real job is respecting mathematical grammar: 2+3×4 must be 14, powers must stack right-to-left, and sin must know whether you mean degrees. This one parses full expressions the way a compiler would — type naturally or use the keypad.
Expressions, not button sequences
Enter 2*(3+4)^2 and get 98; sqrt(2)/2, log(1000), 2π all evaluate directly — implicit multiplication included, so 3(4+1) and 2sin(30) work without the ×. Enter (or =) commits the result to ANS for chaining: ans*2 continues where you left off, with the last calculation shown above the field.
DEG vs RAD: the classic trap
sin(30) = 0.5 only in degree mode; in radians it's −0.988, the wrong-mode result behind countless dropped exam marks. The toggle applies to all six trig functions including inverses, and inverse results come back in the same mode — asin(0.5) reads 30 in DEG, 0.524 in RAD.
Precedence, honestly implemented
Parentheses, then functions, then exponents (right-associative: 2^3^2 = 2⁹ = 512), then multiplication/division/modulo left-to-right, then addition/subtraction. Errors point at the position — "missing ) at position 8" — rather than a blank stare. Display rounds to 12 significant digits, which is why 0.1 + 0.2 shows the 0.3 you meant (the binary-float story behind that lives in the fraction-decimal converter).
The specialist siblings
For solved forms rather than raw evaluation: the quadratic solver, radical simplifier, triangle solver and percent tools each explain their steps — this page is the general-purpose engine underneath them all.
Double-precision floats; display rounded to 12 significant digits.