diff options
Diffstat (limited to 'src/CHAD.hs')
-rw-r--r-- | src/CHAD.hs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/CHAD.hs b/src/CHAD.hs index 26c918e..d0358b8 100644 --- a/src/CHAD.hs +++ b/src/CHAD.hs @@ -238,6 +238,11 @@ d2op op e d = case op of STF64 -> float STBool -> EInl ext (STPair STNil STNil) (ENil ext) +freezeRet :: Ret env t + -> (forall env'. Ex env' (D2 t)) -- the incoming cotangent value + -> Ex (D1E env) (TPair (D1 t) (TEVM (D2E env) TNil)) +freezeRet (Ret e0 e1 e2) d = letBinds e0 $ EPair ext e1 (ELet ext d e2) + drev :: SList STy env -> Ex env t -> Ret env t drev senv = \case EVar _ t i -> |