Distribution Support
Distribution Support

Addition now distributes across multiplication, and multiplication
distributes across the square and sqrt functions. Additionally, a log of
products is turned into a sum of logs, and an exp of a sum is turned
into the product of exps. This should allow more terms to cancel.

jackfirth/herbie,jackfirth/herbie,jackfirth/herbie,jackfirth/herbie,jackfirth/herbie,jackfirth/herbie