Blame


1 665c255d 2023-08-04 jrmu (define (deriv exp var)
2 665c255d 2023-08-04 jrmu (cond ((number? exp) 0)
3 665c255d 2023-08-04 jrmu ((variable? exp)
4 665c255d 2023-08-04 jrmu (if (same-variable? exp var) 1 0))
5 665c255d 2023-08-04 jrmu ((sum? exp)
6 665c255d 2023-08-04 jrmu (make-sum (deriv (addend exp) var)
7 665c255d 2023-08-04 jrmu (deriv (augend exp) var)))
8 665c255d 2023-08-04 jrmu ((product? exp)
9 665c255d 2023-08-04 jrmu (make-sum
10 665c255d 2023-08-04 jrmu (make-product (multiplier exp)
11 665c255d 2023-08-04 jrmu (deriv (multiplicand exp) var))
12 665c255d 2023-08-04 jrmu (make-product (deriv (multiplier exp) var)
13 665c255d 2023-08-04 jrmu (multiplicand exp))))
14 665c255d 2023-08-04 jrmu (else
15 665c255d 2023-08-04 jrmu (error "unknown expression type -- DERIV" exp))))