> 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()

`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="/files/BsXSx9k7afJXCzTGpNcH" alt=""><figcaption></figcaption></figure>
