> For the complete documentation index, see [llms.txt](https://docs.r.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.r.xyz/glider-ide/api/instruction/instruction.backward_df_recursive.md).

# Instruction.backward\_df\_recursive()

Returns the list of all previous points of the current point in the current data flow graph and outside of that.

`backward_df_recursive() →` [`APISet`](/glider-ide/api/iterables/apiset.md)`[`[`Point`](/glider-ide/api/point.md)`]`

The function works similarly to [Instruction.backward\_df()](/glider-ide/api/instruction/instruction.backward_df.md); the main difference is that in case of Instruction.backward\_df() the function will return backward dataflow point for every point in the Instruction, while Instruction.backward\_df() returns only those connected with the current Instruction.&#x20;

Like all other dataflow (DF) functions, it returns a list/set of Points, which can be instructions or "points" in the code, such as arguments, variables, etc.

## Query Example

```python
from glider import *


def query():
  # Fetch an instruction
  instructions = Instructions().with_callee_name('verify').exec(1)
  
  for points in instructions[0].backward_df_recursive():
    print(points.source_code())

  # Return the list of previous instructions of the current instruction
  return instructions
```

## Example Output

<figure><img src="https://2237101709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDX4Ojc4j1ef51TUAtYOx%2Fuploads%2FlYwynYM3o5TFV3olHW0c%2FScreenshot%202025-09-17%20at%201.41.25%E2%80%AFPM.png?alt=media&amp;token=30bd5aa2-c238-4d71-b1a5-ff801c385d43" alt=""><figcaption></figcaption></figure>
