I tried this application but was not successful. Your field1 for me would be a calc field called ActualTime that displays the difference in time in decimal format for total hours entered that day (punch in/out). That field should show the total time regardless, then it should be populating a RegTime field with up to 8 hours and anything over 8 hours into a field called OverTime all based on the ActualTime field..
The end results would show as attached where fields ActualTime, RegularTime, OverTime would all be auto populated based on my scenario.
I think we are close though.