The function takes a string input and adds 5 positions in the alphabetic order to each letter in the string, keeping their original casing. The addition wraps around the alphabets, so after 'z' or 'Z', it cycles back to 'a' or 'A'. Digits are left unchanged.

[CODE]: 
```python
def approx_function(input_string):
    output_string = ""
    for char in input_string:
        if char.isalpha():
            shift = 5
            if char.isupper():
                output_string += chr(((ord(char) - ord('A') + shift) % 26) + ord('A'))
            else:
                output_string += chr(((ord(char) - ord('a') + shift) % 26) + ord('a'))
        else:
            output_string += char
    return output_string
```

Please let me know if you would like me to perform more tests or provide any additional information.