user
Task

Create a program that finds and outputs the roots of a given function, range and (if applicable) step width.

The program should identify whether the root is exact or approximate.

For this task, use:      ƒ(x)   =   x3 - 3x2 + 2x
assistant
(formerly Perl 6)
Uses exact arithmetic.

```
sub f(\x) { x³ - 3*x² + 2*x }

my $start = -1;
my $stop = 3;
my $step = 0.001;

for $start, * + $step ... $stop -> $x {
    state $sign = 0;
    given f($x) {
        my $next = .sign;
        when 0.0 {
            say "Root found at $x";
        }
        when $sign and $next != $sign {
            say "Root found near $x";
        }
        NEXT $sign = $next;
    }
}

```

Output:

```
Root found at 0
Root found at 1
Root found at 2
```