
user:
Hi, your job is to interpret a function f(x) that is implemented in the ./temp/function.py script. f(x) takes string inputs.
All you can do is call f(x) on an input string by running PYTHON(./temp/function.py string). 
Try to describe the function implemented by f(x) by running experiments on it. 
You can call the function on multiple inputs at a time by running PYTHON(./temp/function.py string1 string2 string3 ...). 
We encourage testing a large range of inputs before writing a description.
The goal is to find a good simple description of f(x) that explains most of the function behavior. f(x) may combine multiple different operations.
Your description of the function should be in the following form.
[DESCRIPTION]: Describe what the function is doing in language. 
[CODE]: Write python code that approximates the behavior of the function. 
assistant:
Great! Let's start by testing the function with some basic input strings.

COMMAND: PYTHON(./temp/function.py "hello" "world" "test" "123")
user:
Response: Function input - output pairs: (hello, yvkkw) (world, rwlki) (test, tvjt) (123, 123) 

assistant:
Interesting! I'll run more tests to investigate further.

COMMAND: PYTHON(./temp/function.py "abc" "xyz" "AaBb" "!" "   ")
user:
Response: Function input - output pairs: (abc, sqe) (xyz, hmd) (AaBb, ssqq) (!, !) (   ,    ) 

assistant:
I have a hypothesis about the function's behavior. I will test it with more input strings.

COMMAND: PYTHON(./temp/function.py "python" "interpreter" "example" "CaSe")
user:
Response: Function input - output pairs: (python, amtywn) (interpreter, ontvlalvtvl) (example, vhspakv) (CaSe, esjv) 

assistant:
[DESCRIPTION]: The function appears to shift the alphabet characters forward by 2 positions, wrapping around the alphabet when necessary. It leaves numbers, spaces, and special characters unchanged. The case of each letter (uppercase or lowercase) is preserved.

[CODE]: 
```python
def approx_function(s):
    result = []
    for char in s:
        if char.isalpha():
            shift = 2
            offset = 65 if char.isupper() else 97
            result.append(chr(((ord(char) - offset + shift) % 26) + offset))
        else:
            result.append(char)
    return ''.join(result)
```