Summation of Log Probabilities I am trying to implement the following:

where the right part returns a probability between 0 and 1. Regarding the product, the authors of the respective paper note:

Due to numerical precision issues with products of probabilities, in
  our implementation we follow common practice and use summation of log
  probabilities.

Form what I understand, using the sum of log probabilities helps to prevent underflow. But then I do not get a value between 0 and 1 and the 1- in the formula above does not make sense. What am I missing here? And can I transform the sum of log probabilities back to a value between 0 and 1? When using a large number of probabilities, I still get a very small number, e.g.:
log_probability = math.log(0.9) + math.log(0.3) + math.log(0.9) + math.log(1) + math.log(0.9) + math.log(0.3) + math.log(0.3) + math.log(0.3) + math.log(0.3) + math.log(0.3) + math.log(0.3) + math.log(0.3) + math.log(0.3) + math.log(0.3) + math.log(0.3) + math.log(0.3) + math.log(0.3) 
prob = math.exp(log_probability)

Where log_probality=-15.967728003210647 and prob =1.1622614669999998e-07.
Thank you, I am really hitting the edge of my understanding of stats here...!
 A: Working in log-probabilties
Yeah, the probability is still small if you apply the inverse transform (exponentiate the sum of log-probability). One can work in log probabilities to avoid really large/small probabilities that can result numerical issues, including underflow. You may or may not transform back to probabilities, as the result of a sequence of operations may not yield a log-probability whose corresponding probability is within your float precision.
A lot of statistics makes use of mathematical optimization, and in many cases if you optimize an expression in terms of log-probability, you are also finding the same (or corresponding) optima for an original problem posed in terms of probability. For example, if we wanted to find the parameter $\theta$ that maximizes $P(Y | X, \theta)$ where $Y$ and $X$ are random variables, we might consider working with $\log \left[ P(Y | X, \theta) \right]$ to find the same optimal value of $\theta$, which we might denote as $\theta^*$.
$$\theta^* = \arg \max_\theta P(Y | X, \theta) = \arg \max_\theta \log \left[ P(Y | X, \theta) \right]$$
