Let's look at a special case and use natural logs to convert this to a sum. Suppose we have $X_1,X_2 \sim U[0,1]$ with $X_1 X_2 = z.$ Let $R= - \mathrm{ln} \left( X_3 \right)$ and $S= - \mathrm{ln} \left( X_4 \right).$ Then we require $R + S = - \mathrm{ln} \left( X_3 \right) + - \mathrm{ln} \left( X_4 \right) = - \mathrm{ln} \left( z \right).$ It can be determined that $R$ and $S$ are gamma random variables with both parameters equal to 1 (exponential in this case). So now we have a fixed sum of iid gamma random variables. Applying the general logic outlined in the answer here to the gamma case (https://stats.stackexchange.com/questions/194335/how-to-generate-two-groups-of-n-random-numbers-in-u0-1-such-that-sum-of-th), we find the conditional distribution of $R$ given $z$ is $$R|z \ \sim \ U \left[ 0,-\mathrm{ln} \left( z \right ) \right]$$ Then the algorithm is: 1. Generate independent realizations $x_1$ and $x_2$ as $U[0,1].$ 2. Calculate $z=x_1x_2.$ 3. Generate a realization $r$ from $R \sim U[0,- \mathrm{ln} \left( z \right) ]$ 4. Calculate $x_3 = e^{-r}$ 5. Calculate $x_4 =z/x_3$ On taking a second look, we can write $-r = \left[ {\mathrm{ln}} \left( z \right) \right] U, $ where $U$ is uniform on $[0,1]. $ Then $e^{-r} = z^U.$ Combining some of the above steps, we can write the process as 1. Generate $x_1,x_2$ as independent $U[0,1]$ realizations and find $z=x_1x_2.$ 2. Generate $U \sim U[0,1]$ and calculate $x_3 = z^U$ and $x_4=z^{\left( 1 - U \right)}=z/x_3$