Gene Circuits In Live Cells Can Perform Complex Computations