# Step: standard library broadened Tags `v3-stdlib-broaden`. Suite **112/112** (new `Stdlib2Prog`). ## Added - **`Math`** — `tan`, `arcsin`, `arccos`, `power` (bound to libm `tan`/`asin`/`acos`/`pow`; `arcsin`/`arccos`/`power` are thin wrappers so the names stay classic). Existing: `sqrt/exp/ln/sin/cos/arctan/abs`, `Pi`, `E`. - **`Strings`** — `Equal` (content equality) and `Pos(pattern, s)` (1-based index of the leftmost occurrence, `0` when absent). Existing: `Length/Assign/Concat/Compare/Delete/Append/Copy`. - **`CharClass`** (new) — ASCII classification: `IsDigit`, `IsUpper`, `IsLower`, `IsAlpha`, `IsSpace`. ## Test `compiler/tests/stdlib2_prog.mod` (`Stdlib2Prog`, exit 42, prints `stdlib2 n=42`) exercises the new `Math`/`Strings`/`CharClass` surface alongside `SysIO`. ## Note The directory rename to `syslib/` was **not** done (kept `stdlib/` and `runtime/syslib/` as-is). ## Files `stdlib/{math,strings,charclass}.def/.mod`, `compiler/tests/stdlib2_prog.mod`, `compiler/run_tests.sh`.