2018 IRC. Long excuse...Since there was an "also" I couldn't figure out how both the requirements were to be applied, so I was thinking about this as two separate and distinct requirements. The first, for all roofs since no slope limits are provided, and the 2nd for 8/12 roofs and higher, but since the first requirement covered all roofs, I considered how and where the 2nd requirement could be applied. In other words, if on a 8/12 roof, ice barrier was applied to a point 2' inside the wall line, and "also" 3' from the lowest edge "up the slope" my mind said why/could both apply to the same condition. So I attempted to critically think out why and where this requirement came from. I could find no commentary, and no reason statement to help me, so I thought that the requirement was to prevent ice dam damage when a conditioned room was adjacent to the slope of the roof, like a bonus room or attic room in a 1 1/2 story house, and that it had to run "up the slope", 3' from the outer edge. I could never quite reconcile this, although in trying the only possible reason would be that the ice dam that would build up on the rake could cause it to be stressed and damage the roof edge, but it never really came up until this situation (pictures of roofs). I imagined the reason for the 8/12 trigger was that the sun would heat the roofs unevenly (that occurs quite commonly where I am). Many times I see roofs in my area where the sun hits one side and melts it completely, but on the other side a clear line can be seen where the attic room heat warms the roof enough to cause melting, but then at the knee wall line there is far less melting. The snow and ice builds up from the eave to the point where the roof is heated by the space below. Since I have seen this my mind just jumped to that being the reason for this code. I now realize it was not, and removing the "also" and the reason statement behind the proposal to remove the entire sentence made me see that.
To be frank, I think the code should specify the first part by slope, and the 2nd part by slope. Since the first part doesn't specify any particular slope it can be read as ALL roofs, and then only on the 2nd part does it introduce a slope trigger.
Still very curious about how this got into the code in the first place (2015). It does not seem to be editorial. If it was incorporated in the normal way I wonder if the language would be the same. But just because I can't find the proposal or reason statement, doesn't mean it doesn't exist.