I’m moving the discussion here to avoid hijacking the original thread:

@syclik decided that we can test the forward mode implementations an rely on the interactions, which should hugely simplify the testing going forward.

Pending a full audit, my understanding of where testing is at now:

- everything is reasonably well tested in rev mode
- all of the core functionality (built in arithmetic operators,
`+=`

, etc.) is tested in fwd and mix - all of the vectorized unary functions tested in rev, fwd, mix, which includes most of the C++ libraries
- all of the univariate probability functions have been tested

That leaves:

- multi-argument scalar functions
- multivariate functions (i.e., matrix and array functions)
- multivariate probabiltiy functions

I’m not 100% sure about the probability function test coverage and whether that includes cdfs, ccdfs, etc.