Author: Andreas Griewank