Hello!<br><br>While using CppADCodegen I&#39;ve noticed that CppAD used multiplications for <br><br>   pow(variable, parameter).<br><br>For instance, the following model<br><br>   Z[0] = pow(u[0], 25);<br><br>will produce the following source code in CppADCodegen for forward zero order:<br>
<br>   var4 = ind[0] * ind[0];<br>   var5 = var4 * var4;<br>   var6 = var5 * var5;<br>   dep[0] = var6 * var6 * var6 * ind[0];<br><br>I would expect CppAD to also use the pow function and not all these multiplications (not sure which is faster though).<br>
<br>and the following for the jacobian:<br><br>   var4 = ind[0] * ind[0];<br>   var5 = var4 * var4;<br>   var6 = var5 * var5;<br>   var7 = var6 * var6;<br>   var8 = ind[0] * var6;<br>   var9 = ind[0] * var7 + var8 * var6 + var8 * var6;<br>
   var10 = var9 * var5 + var9 * var5;<br>   var11 = var10 * var4 + var10 * var4;<br>   jac[0] = var7 * var6 + var11 * ind[0] + var11 * ind[0];<br><br>Is there any way to change this behavior without doing significant changes to CppAD?<br>
<br>Best regards,<br><br>Joćo Leal<br>