The GitHub Actions job "Lint" on tvm.git/fix/llvm-asin-acos-precision has failed. Run started by GitHub user swjng (triggered by swjng).
Head commit for run: aa1918320b700e5fe42f218a39cf4edac8610a91 / Soowon Jeong <[email protected]> [BugFix][LLVM] Use libm for asin/acos instead of buggy inline Taylor The `tirx.asin` LLVM legalization rule used a 6-term Taylor series for |x| < 0.5 with incorrect coefficients. The recurrence multipliers (`9/40`, `25/112`, `1225/3456`, `3969/28160`) do not match the standard asin Taylor series ratios (`9/20`, `25/42`, `49/72`, `81/110`), so the series under-counted higher-order terms and lost roughly 1e-3 of precision in the mid-range (x ≈ 0.3–0.5) — well over a thousand ULP at float32. `tirx.acos` inherits the same error via `π/2 - asin(x)` for |x| < 0.5. The Taylor branch was added as the original implementation in #17945 with no libm fallback; #18582 later patched the boundary at |x| ≥ 0.5 by switching to the libm extern. There is no evidence the inline series was ever a deliberate fast-path — it was simply incomplete. This change drops the inline series and routes the whole input range through the existing libm extern (`asinf`/`acosf`), keeping only the out-of-range NaN guard. ULP-grade precision is restored across the full domain. The Asin/Acos cases that were commented out of `test_unary` with a "Taylor approximation precision loss" TODO are re-enabled. Fixes #19563. Report URL: https://github.com/apache/tvm/actions/runs/25905375301 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
