A computational randomized encoding scheme $(\textrm{RE.Encode}, \textrm{RE.Decode})$ works as follows:
$\textrm{RE.Encode}(1^\lambda, C, x, r)$: takes as input the security parameter $\lambda$ in unary, a circuit $C$, the input string $x$, and the randomness $r$. It outputs a randomized encoding $\widetilde{C}(x,r)$.
$\textrm{RE.Decode}(\widetilde{C}(x,r))$: it outputs a value $y = C(x)$
The security property of computational randomized encoding requires that there exists a PPT simulator $\textrm{Sim}$ that takes input $C(x)$ and security parameter $\lambda$, then it output $\textrm{SimOut}_{C(x)}$ such that the the distribution $\{\textrm{SimOut}_{C(x)}\}$ is indistinguishable from the distribution $\{\widehat{C}(x,r)\}$ for any PPT adversaries.
Consider the following scenario: If we prove something using this randomized encoding in the hybrid argument, it is nature we replace $\widehat{C}(x,r)$ with $\textrm{SimOut}_{C(x)}$ due to the security of randomized encoding in the hybrid. However, if we use it to prove, for example, function (circuit) privacy, the first step which is also nature is to replace $\widehat{C_0}(x,r)$ with $\textrm{SimOut}_{C_0(x)}$.
My question is the second step, can we change $\textrm{SimOut}_{C_0(x)}$ into $\textrm{SimOut}_{C_1(x)}$ immediately and in turn into $\widehat{C_1}(x,r)$ ? where $C_0$ and $C_1$ are functionally equivalent.