Making Turing Fast with large numbers of parameters?

Well, debug printf let me realize I wasn’t turning on reverse diff, so inconsistent results depending on whether I was using a brand new Julia vs one where reverse diff had been enabled before…

debug printf also shows me that either it’s not really using my initialization or something weird is going on… I initialize it as:

ch3l = sample(estweights3lazy(nstaff,data.staff,npat,data.patient,data.usewch,data.totweights),NUTS(500,.75,init_ϵ=.002),1000;
              init_theta = vcat([15.0,20.0],staffweights,patientweights))

and then use this println:

    println("""Evaluating model... 
wcwt: $wcwt
measerr: $measerr
exstaffweights: $(staffweights[1:10])
expatweights: $(patientweights[1:10])
""")

inside the model

So initially wcwt and measerr should be 15.0 and 20.0, and all the estimated weights should be exactly correct… but the first print command says:

Evaluating model... 
wcwt: 0.6727279716358009
measerr: 0.19350227287063274
exstaffweights: [164.7901299487081, 217.52372933554884, 137.6205473016958, 175.4254441162211, 188.02642630005334, 175.8530682604024, 215.85351
585263436, 113.79632650916365, 109.91764961851418, 99.87309516255067]
expatweights: [168.51306657319324, 130.17891134846482, 148.83838569329237, 192.57929839739077, 137.26394389850617, 149.17636016275125, 174.854
40785493637, 109.5090910975809, 151.17248643226876, 205.4490091028178]

so measerr goes to nearly zero and of course this means serious numerical issues. Why is the initial vector not being used?