Link to PDF file (or attach file here):
[pages4.pdf](https://github.com/mozilla/pdf.js/files/1128300/pages4.pdf)

Configuration:
- Web browser and its version: Firefox 54
- Operating system and its version: Win 10
- PDF.js version: 1.8.522
- Is an extension: no

What is the expected behavior? (add screenshot)
![chrome1-1 1](https://user-images.githubusercontent.com/146436/27918380-2f74512a-6245-11e7-8525-d0038fa6c2e8.jpg)
![chrome1-2 1](https://user-images.githubusercontent.com/146436/27918425-54f8e47e-6245-11e7-9bff-127f79ad0511.jpg)


What went wrong? (add screenshot)
![screenshot from 2017-07-06 12-10-30](https://user-images.githubusercontent.com/146436/27918442-5d57624e-6245-11e7-9436-5ba31cc8bd1a.png)
![screenshot from 2017-07-06 12-10-44](https://user-images.githubusercontent.com/146436/27918454-63b486da-6245-11e7-9eb5-c03aa5c40943.png)



return [
      m[0] * v[0] + m[1] * v[1] + m[2] * v[2],
      m[3] * v[0] + m[4] * v[1] + m[5] * v[2],
      m[6] * v[0] + m[7] * v[1] + m[8] * v[2],
    ];
  }
  
  
  
  static singularValueDecompose2dScale(m) {
    const transpose = [m[0], m[2], m[1], m[3]];
    
    const a = m[0] * transpose[0] + m[1] * transpose[2];
    const b = m[0] * transpose[1] + m[1] * transpose[3];
    const c = m[2] * transpose[0] + m[3] * transpose[2];
    const d = m[2] * transpose[1] + m[3] * transpose[3];
    
    const first = (a + d) / 2;
    const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;
    const sx = first + second || 1;
    const sy = first - second || 1;
    
    return [Math.sqrt(sx), Math.sqrt(sy)];
  }
  
  
  
  
  static normalizeRect(rect) {