What is automatic differentiation, and why does it work? | Hacker News Reader