Gradient-Based Program Repair: Fixing Bugs in Continuous Program Spaces