C++, 60 bytes, score : 610
long f(int m){long a=0,b=1;while(b%m){b+=a;a=b-a;}return b;}
If I had used int all the way, I would have had a score of 591286729879!
Try it online!
@79037662 Hello again! Are we taking it on faith that a is initialized as 0?
@79037662 Quite sadly no. C++ is not clean with auto-nulled memory like that as it is designed to be run on, along with other bigger things, resource-limited real-time embedded systems. Any memory that gets allocated to our variables, we clean ourselves
@79037662 Using your approach(with a=b-a also shifted inside the for), I can get down to 56 bytes, but it only worsens the score! Try it online!
@Noodle9 Nice, but we may not expand like this as it is pristine-programming, i.e. one may not remove bytes and have the flow of control, variables, etc.
@Varad I thought it was pristine - what could you remove and still have it function as before? You can't just replace ;long with , that's not removing.
@Noodle9 3 things : You can compress the two long assignments into one, shorten b=b+a to b+=a, and compress the two assignments on a into one. Ref : my answer. BTW it is not about removing statements or logic, but the bytes i.e. one may not write a shorter program which does the exact same thing
That's rewriting the code! Pristine means you can't remove characters and have it function as before. So, for instance, you can't space pad the code to up the byte count.