# TraceScan

TraceScan[f,expr]

applies f to all expressions used in the evaluation of expr.

TraceScan[f,expr,form]

includes only those expressions which match form.

TraceScan[f,expr,s]

includes all evaluations which use transformation rules associated with the symbol s.

TraceScan[f,expr,form,fp]

applies f before evaluation and fp after evaluation to expressions used in the evaluation of expr.

# Details and Options

• All expressions are wrapped in HoldForm to prevent evaluation before f or fp are applied to them.
• The function fp is given as an argument for both the form before evaluation and the form after evaluation.
• TraceScan[f,expr] returns the result of evaluating expr.

# Examples

## Basic Examples(3)

Print all expressions used for evaluation:

Count additions and multiplications of machine numbers needed for a numerical computation:

A recursive definition for finding Fibonacci numbers:

Count calls to fib required:

Redefine fib so that it saves results:

Count calls to fib required:

The second time through it takes only one call since the value was saved:

Wolfram Research (1991), TraceScan, Wolfram Language function, https://reference.wolfram.com/language/ref/TraceScan.html.

#### Text

Wolfram Research (1991), TraceScan, Wolfram Language function, https://reference.wolfram.com/language/ref/TraceScan.html.

#### CMS

Wolfram Language. 1991. "TraceScan." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/TraceScan.html.

#### APA

Wolfram Language. (1991). TraceScan. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/TraceScan.html

#### BibTeX

@misc{reference.wolfram_2024_tracescan, author="Wolfram Research", title="{TraceScan}", year="1991", howpublished="\url{https://reference.wolfram.com/language/ref/TraceScan.html}", note=[Accessed: 14-June-2024 ]}

#### BibLaTeX

@online{reference.wolfram_2024_tracescan, organization={Wolfram Research}, title={TraceScan}, year={1991}, url={https://reference.wolfram.com/language/ref/TraceScan.html}, note=[Accessed: 14-June-2024 ]}