This function finds common subexpressions in an expression vector so that duplicate computation can be avoided.

1 | ```
findSubexprs(expr, simplify = FALSE, tag = ".expr", verbose = FALSE, ...)
``` |

`expr` |
An expression vector or language object. |

`simplify` |
Whether to call |

`tag` |
The prefix to use for locally created variables. |

`verbose` |
If |

`...` |
Additional parameters to pass to |

This function identifies all repeated subexpressions in an expression vector,
and stores them in locally created variables. It is used by `fnDeriv`

to share common subexpressions between expression evaluations and gradient
evaluations, for example.

If `simplify`

is `TRUE`

, the assumptions behind the simplifications done
by `nlsSimplify`

must be valid for the result to match the input. With
the default simplifications, this means that all variables should take finite
real values.

A language object which evaluates to an expression vector which would evaluate to the same result as the original vector with less duplicated code but more storage of intermediate results.

Duncan Murdoch

`deriv`

, `nlsSimplify`

1 | ```
findSubexprs(expression(x^2, x-y, y^2-x^2))
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.