The problem does not seem too hard.
{top down design}
Thank me for doing this.
A printf function that generates the final human language string.
A printf function inside a for loop that accumulates the string inside the "{" "}".
A for loop that takes the min and max of an array of arrays.
A for loop that divides a sorted array of numbers into an array of arrays where the members of the divisions have the relationship F(N) + 0.125 = F(N+1).
A step to sort an array of numbers.
A function in a for loop that expands a regular expression into an array of numbers and appends this array to a master array in a shift register.
In the function, a routine that adds an array of integer parts to an array of fractional parts resulting in one array where each integer has been added to each fraction.
In the function, a parser that creates an array of fractional parts, such as spreadsheet string to array.
In the function, a parser that reduces the integer part by examining the integer regular expression from left to right and expanding the integer into an array of integers as square brackets are encountered.
In the function, a parser that divides the expression at the decimal point into two expressions.
I have included a function that reduces the decimal part of the expression, but I have not fully tested it.
You're Welcome.
PS obviously, we alread know that 0.125 is the increment.