Adding a Deterministic variable after sampling

Hm, I’m getting different values for even Deterministic quantities when I declare them in this way. Here’s a minimal example:

import pymc as pm
from pymc.model.fgraph import clone_model

with pm.Model() as model:
    data = pm.ConstantData('data',[0])
    mu = pm.Normal('mu', mu=0, sigma=1)
    mu_squared1 = pm.Deterministic('mu_squared1', mu**2)
    y = pm.Normal('y', mu=mu, sigma=1, observed=data)


with clone_model(model) as model2:
    mu_squared2 = pm.Deterministic('mu_squared2', mu**2)


with model2:
    trace = pm.sample_prior_predictive(
        samples = 1
        , var_names = ['mu','mu_squared1','mu_squared2']
    )

Which yields:

>>> trace['prior']['mu']
array([[-1.44118118]])

>>> trace['prior']['mu_squared1']
array([[2.0770032]])

>>> trace['prior']['mu_squared2']
array([[0.25616674]])