That’s a lot to take in! No wonder we got it wrong! We’ll take it slow, and look at the arguments.
(condp (* temp time) <Our pred was (* temp time) (a Double), and our expr was the comparison function <. For each clause, (pred test-expr expr) is evaluated, so that would expand to something like
((* temp time) 400 < )