// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

// @dart = 2.9

import 'package:expect/expect.dart';

// Stress tests on loop nesting depth. Make sure loop and induction
// analysis do not break down (excessive compile-time or otherwise)
// when analyzing a deeply nested loop with dependent bounds.

@pragma("vm:never-inline")
foo(List<int> a) {
  for (int i0 = 100; i0 <= a.length - 101; i0++)
    for (int i1 = i0 - 1; i1 <= i0 + 1; i1++)
      for (int i2 = i1 - 1; i2 <= i1 + 1; i2++)
        for (int i3 = i2 - 1; i3 <= i2 + 1; i3++)
          for (int i4 = i3 - 1; i4 <= i3 + 1; i4++)
            for (int i5 = i4 - 1; i5 <= i4 + 1; i5++)
              for (int i6 = i5 - 1; i6 <= i5 + 1; i6++)
                for (int i7 = i6 - 1; i7 <= i6 + 1; i7++)
                  for (int i8 = i7 - 1; i8 <= i7 + 1; i8++)
                    for (int i9 = i8 - 1; i9 <= i8 + 1; i9++)
                      for (int i10 = i9 - 1; i10 <= i9 + 1; i10++)
                        for (int i11 = i10 - 1; i11 <= i10 + 1; i11++)
                          for (int i12 = i11 - 1; i12 <= i11 + 1; i12++)
                            for (int i13 = i12 - 1; i13 <= i12 + 1; i13++)
                              for (int i14 = i13 - 1; i14 <= i13 + 1; i14++)
                                for (int i15 = i14 - 1; i15 <= i14 + 1; i15++)
                                  for (int i16 = i15 - 1; i16 <= i15 + 1; i16++)
                                    for (int i17 = i16 - 1;
                                        i17 <= i16 + 1;
                                        i17++)
                                      for (int i18 = i17 - 1;
                                          i18 <= i17 + 1;
                                          i18++)
                                        for (int i19 = i18 - 1;
                                            i19 <= i18 + 1;
                                            i19++)
                                          for (int i20 = i19 - 1;
                                              i20 <= i19 + 1;
                                              i20++)
                                            for (int i21 = i20 - 1;
                                                i21 <= i20 + 1;
                                                i21++)
                                              for (int i22 = i21 - 1;
                                                  i22 <= i21 + 1;
                                                  i22++)
                                                for (int i23 = i22 - 1;
                                                    i23 <= i22 + 1;
                                                    i23++)
                                                  for (int i24 = i23 - 1;
                                                      i24 <= i23 + 1;
                                                      i24++)
                                                    for (int i25 = i24 - 1;
                                                        i25 <= i24 + 1;
                                                        i25++)
                                                      for (int i26 = i25 - 1;
                                                          i26 <= i25 + 1;
                                                          i26++)
                                                        for (int i27 = i26 - 1;
                                                            i27 <= i26 + 1;
                                                            i27++)
                                                          for (int i28 =
                                                                  i27 - 1;
                                                              i28 <= i27 + 1;
                                                              i28++)
                                                            for (int i29 =
                                                                    i28 - 1;
                                                                i29 <= i28 + 1;
                                                                i29++)
                                                              for (int i30 =
                                                                      i29 - 1;
                                                                  i30 <=
                                                                      i29 + 1;
                                                                  i30++)
                                                                for (int i31 =
                                                                        i30 - 1;
                                                                    i31 <=
                                                                        i30 + 1;
                                                                    i31++)
                                                                  for (int i32 =
                                                                          i31 -
                                                                              1;
                                                                      i32 <=
                                                                          i31 +
                                                                              1;
                                                                      i32++)
                                                                    for (int i33 =
                                                                            i32 -
                                                                                1;
                                                                        i33 <=
                                                                            i32 +
                                                                                1;
                                                                        i33++)
                                                                      for (int i34 = i33 -
                                                                              1;
                                                                          i34 <=
                                                                              i33 + 1;
                                                                          i34++)
                                                                        for (int i35 = i34 -
                                                                                1;
                                                                            i35 <=
                                                                                i34 + 1;
                                                                            i35++)
                                                                          for (int i36 = i35 - 1;
                                                                              i36 <= i35 + 1;
                                                                              i36++)
                                                                            for (int i37 = i36 - 1;
                                                                                i37 <= i36 + 1;
                                                                                i37++)
                                                                              for (int i38 = i37 - 1; i38 <= i37 + 1; i38++)
                                                                                for (int i39 = i38 - 1; i39 <= i38 + 1; i39++)
                                                                                  for (int i40 = i39 - 1; i40 <= i39 + 1; i40++)
                                                                                    for (int i41 = i40 - 1; i41 <= i40 + 1; i41++)
                                                                                      for (int i42 = i41 - 1; i42 <= i41 + 1; i42++)
                                                                                        for (int i43 = i42 - 1; i43 <= i42 + 1; i43++)
                                                                                          for (int i44 = i43 - 1; i44 <= i43 + 1; i44++)
                                                                                            for (int i45 = i44 - 1; i45 <= i44 + 1; i45++)
                                                                                              for (int i46 = i45 - 1; i46 <= i45 + 1; i46++)
                                                                                                for (int i47 = i46 - 1; i47 <= i46 + 1; i47++)
                                                                                                  for (int i48 = i47 - 1; i48 <= i47 + 1; i48++)
                                                                                                    for (int i49 = i48 - 1; i49 <= i48 + 1; i49++)
                                                                                                      for (int i50 = i49 - 1; i50 <= i49 + 1; i50++)
                                                                                                        for (int i51 = i50 - 1; i51 <= i50 + 1; i51++)
                                                                                                          for (int i52 = i51 - 1; i52 <= i51 + 1; i52++)
                                                                                                            for (int i53 = i52 - 1; i53 <= i52 + 1; i53++)
                                                                                                              for (int i54 = i53 - 1; i54 <= i53 + 1; i54++)
                                                                                                                for (int i55 = i54 - 1; i55 <= i54 + 1; i55++)
                                                                                                                  for (int i56 = i55 - 1; i56 <= i55 + 1; i56++)
                                                                                                                    for (int i57 = i56 - 1; i57 <= i56 + 1; i57++)
                                                                                                                      for (int i58 = i57 - 1; i58 <= i57 + 1; i58++)
                                                                                                                        for (int i59 = i58 - 1; i59 <= i58 + 1; i59++)
                                                                                                                          for (int i60 = i59 - 1; i60 <= i59 + 1; i60++)
                                                                                                                            for (int i61 = i60 - 1; i61 <= i60 + 1; i61++)
                                                                                                                              for (int i62 = i61 - 1; i62 <= i61 + 1; i62++)
                                                                                                                                for (int i63 = i62 - 1; i63 <= i62 + 1; i63++)
                                                                                                                                  for (int i64 = i63 - 1; i64 <= i63 + 1; i64++)
                                                                                                                                    for (int i65 = i64 - 1; i65 <= i64 + 1; i65++)
                                                                                                                                      for (int i66 = i65 - 1; i66 <= i65 + 1; i66++)
                                                                                                                                        for (int i67 = i66 - 1; i67 <= i66 + 1; i67++)
                                                                                                                                          for (int i68 = i67 - 1; i68 <= i67 + 1; i68++)
                                                                                                                                            for (int i69 = i68 - 1; i69 <= i68 + 1; i69++)
                                                                                                                                              for (int i70 = i69 - 1; i70 <= i69 + 1; i70++)
                                                                                                                                                for (int i71 = i70 - 1; i71 <= i70 + 1; i71++)
                                                                                                                                                  for (int i72 = i71 - 1; i72 <= i71 + 1; i72++)
                                                                                                                                                    for (int i73 = i72 - 1; i73 <= i72 + 1; i73++)
                                                                                                                                                      for (int i74 = i73 - 1; i74 <= i73 + 1; i74++)
                                                                                                                                                        for (int i75 = i74 - 1; i75 <= i74 + 1; i75++)
                                                                                                                                                          for (int i76 = i75 - 1; i76 <= i75 + 1; i76++)
                                                                                                                                                            for (int i77 = i76 - 1; i77 <= i76 + 1; i77++)
                                                                                                                                                              for (int i78 = i77 - 1; i78 <= i77 + 1; i78++)
                                                                                                                                                                for (int i79 = i78 - 1; i79 <= i78 + 1; i79++)
                                                                                                                                                                  for (int i80 = i79 - 1; i80 <= i79 + 1; i80++)
                                                                                                                                                                    for (int i81 = i80 - 1; i81 <= i80 + 1; i81++)
                                                                                                                                                                      for (int i82 = i81 - 1; i82 <= i81 + 1; i82++)
                                                                                                                                                                        for (int i83 = i82 - 1; i83 <= i82 + 1; i83++)
                                                                                                                                                                          for (int i84 = i83 - 1; i84 <= i83 + 1; i84++)
                                                                                                                                                                            for (int i85 = i84 - 1; i85 <= i84 + 1; i85++)
                                                                                                                                                                              for (int i86 = i85 - 1; i86 <= i85 + 1; i86++)
                                                                                                                                                                                for (int i87 = i86 - 1; i87 <= i86 + 1; i87++)
                                                                                                                                                                                  for (int i88 = i87 - 1; i88 <= i87 + 1; i88++)
                                                                                                                                                                                    for (int i89 = i88 - 1; i89 <= i88 + 1; i89++)
                                                                                                                                                                                      for (int i90 = i89 - 1; i90 <= i89 + 1; i90++)
                                                                                                                                                                                        for (int i91 = i90 - 1; i91 <= i90 + 1; i91++)
                                                                                                                                                                                          for (int i92 = i91 - 1; i92 <= i91 + 1; i92++)
                                                                                                                                                                                            for (int i93 = i92 - 1; i93 <= i92 + 1; i93++)
                                                                                                                                                                                              for (int i94 = i93 - 1; i94 <= i93 + 1; i94++)
                                                                                                                                                                                                for (int i95 = i94 - 1; i95 <= i94 + 1; i95++)
                                                                                                                                                                                                  for (int i96 = i95 - 1; i96 <= i95 + 1; i96++)
                                                                                                                                                                                                    for (int i97 = i96 - 1; i97 <= i96 + 1; i97++)
                                                                                                                                                                                                      for (int i98 = i97 - 1; i98 <= i97 + 1; i98++)
                                                                                                                                                                                                        for (int i99 = i98 - 1; i99 <= i98 + 1; i99++)
                                                                                                                                                                                                          for (int i100 = i99 - 1; i100 <= i99 + 1; i100++) {
                                                                                                                                                                                                            // Range [0,a.length).
                                                                                                                                                                                                            a[i100] += 1;
                                                                                                                                                                                                          }
}

@pragma("vm:never-inline")
bar(List<int> a) {
  for (int i0 = a.length - 101; i0 >= 100; i0--)
    for (int i1 = i0 + 1; i1 >= i0 - 1; i1--)
      for (int i2 = i1 + 1; i2 >= i1 - 1; i2--)
        for (int i3 = i2 + 1; i3 >= i2 - 1; i3--)
          for (int i4 = i3 + 1; i4 >= i3 - 1; i4--)
            for (int i5 = i4 + 1; i5 >= i4 - 1; i5--)
              for (int i6 = i5 + 1; i6 >= i5 - 1; i6--)
                for (int i7 = i6 + 1; i7 >= i6 - 1; i7--)
                  for (int i8 = i7 + 1; i8 >= i7 - 1; i8--)
                    for (int i9 = i8 + 1; i9 >= i8 - 1; i9--)
                      for (int i10 = i9 + 1; i10 >= i9 - 1; i10--)
                        for (int i11 = i10 + 1; i11 >= i10 - 1; i11--)
                          for (int i12 = i11 + 1; i12 >= i11 - 1; i12--)
                            for (int i13 = i12 + 1; i13 >= i12 - 1; i13--)
                              for (int i14 = i13 + 1; i14 >= i13 - 1; i14--)
                                for (int i15 = i14 + 1; i15 >= i14 - 1; i15--)
                                  for (int i16 = i15 + 1; i16 >= i15 - 1; i16--)
                                    for (int i17 = i16 + 1;
                                        i17 >= i16 - 1;
                                        i17--)
                                      for (int i18 = i17 + 1;
                                          i18 >= i17 - 1;
                                          i18--)
                                        for (int i19 = i18 + 1;
                                            i19 >= i18 - 1;
                                            i19--)
                                          for (int i20 = i19 + 1;
                                              i20 >= i19 - 1;
                                              i20--)
                                            for (int i21 = i20 + 1;
                                                i21 >= i20 - 1;
                                                i21--)
                                              for (int i22 = i21 + 1;
                                                  i22 >= i21 - 1;
                                                  i22--)
                                                for (int i23 = i22 + 1;
                                                    i23 >= i22 - 1;
                                                    i23--)
                                                  for (int i24 = i23 + 1;
                                                      i24 >= i23 - 1;
                                                      i24--)
                                                    for (int i25 = i24 + 1;
                                                        i25 >= i24 - 1;
                                                        i25--)
                                                      for (int i26 = i25 + 1;
                                                          i26 >= i25 - 1;
                                                          i26--)
                                                        for (int i27 = i26 + 1;
                                                            i27 >= i26 - 1;
                                                            i27--)
                                                          for (int i28 =
                                                                  i27 + 1;
                                                              i28 >= i27 - 1;
                                                              i28--)
                                                            for (int i29 =
                                                                    i28 + 1;
                                                                i29 >= i28 - 1;
                                                                i29--)
                                                              for (int i30 =
                                                                      i29 + 1;
                                                                  i30 >=
                                                                      i29 - 1;
                                                                  i30--)
                                                                for (int i31 =
                                                                        i30 + 1;
                                                                    i31 >=
                                                                        i30 - 1;
                                                                    i31--)
                                                                  for (int i32 =
                                                                          i31 +
                                                                              1;
                                                                      i32 >=
                                                                          i31 -
                                                                              1;
                                                                      i32--)
                                                                    for (int i33 =
                                                                            i32 +
                                                                                1;
                                                                        i33 >=
                                                                            i32 -
                                                                                1;
                                                                        i33--)
                                                                      for (int i34 = i33 +
                                                                              1;
                                                                          i34 >=
                                                                              i33 - 1;
                                                                          i34--)
                                                                        for (int i35 = i34 +
                                                                                1;
                                                                            i35 >=
                                                                                i34 - 1;
                                                                            i35--)
                                                                          for (int i36 = i35 + 1;
                                                                              i36 >= i35 - 1;
                                                                              i36--)
                                                                            for (int i37 = i36 + 1;
                                                                                i37 >= i36 - 1;
                                                                                i37--)
                                                                              for (int i38 = i37 + 1; i38 >= i37 - 1; i38--)
                                                                                for (int i39 = i38 + 1; i39 >= i38 - 1; i39--)
                                                                                  for (int i40 = i39 + 1; i40 >= i39 - 1; i40--)
                                                                                    for (int i41 = i40 + 1; i41 >= i40 - 1; i41--)
                                                                                      for (int i42 = i41 + 1; i42 >= i41 - 1; i42--)
                                                                                        for (int i43 = i42 + 1; i43 >= i42 - 1; i43--)
                                                                                          for (int i44 = i43 + 1; i44 >= i43 - 1; i44--)
                                                                                            for (int i45 = i44 + 1; i45 >= i44 - 1; i45--)
                                                                                              for (int i46 = i45 + 1; i46 >= i45 - 1; i46--)
                                                                                                for (int i47 = i46 + 1; i47 >= i46 - 1; i47--)
                                                                                                  for (int i48 = i47 + 1; i48 >= i47 - 1; i48--)
                                                                                                    for (int i49 = i48 + 1; i49 >= i48 - 1; i49--)
                                                                                                      for (int i50 = i49 + 1; i50 >= i49 - 1; i50--)
                                                                                                        for (int i51 = i50 + 1; i51 >= i50 - 1; i51--)
                                                                                                          for (int i52 = i51 + 1; i52 >= i51 - 1; i52--)
                                                                                                            for (int i53 = i52 + 1; i53 >= i52 - 1; i53--)
                                                                                                              for (int i54 = i53 + 1; i54 >= i53 - 1; i54--)
                                                                                                                for (int i55 = i54 + 1; i55 >= i54 - 1; i55--)
                                                                                                                  for (int i56 = i55 + 1; i56 >= i55 - 1; i56--)
                                                                                                                    for (int i57 = i56 + 1; i57 >= i56 - 1; i57--)
                                                                                                                      for (int i58 = i57 + 1; i58 >= i57 - 1; i58--)
                                                                                                                        for (int i59 = i58 + 1; i59 >= i58 - 1; i59--)
                                                                                                                          for (int i60 = i59 + 1; i60 >= i59 - 1; i60--)
                                                                                                                            for (int i61 = i60 + 1; i61 >= i60 - 1; i61--)
                                                                                                                              for (int i62 = i61 + 1; i62 >= i61 - 1; i62--)
                                                                                                                                for (int i63 = i62 + 1; i63 >= i62 - 1; i63--)
                                                                                                                                  for (int i64 = i63 + 1; i64 >= i63 - 1; i64--)
                                                                                                                                    for (int i65 = i64 + 1; i65 >= i64 - 1; i65--)
                                                                                                                                      for (int i66 = i65 + 1; i66 >= i65 - 1; i66--)
                                                                                                                                        for (int i67 = i66 + 1; i67 >= i66 - 1; i67--)
                                                                                                                                          for (int i68 = i67 + 1; i68 >= i67 - 1; i68--)
                                                                                                                                            for (int i69 = i68 + 1; i69 >= i68 - 1; i69--)
                                                                                                                                              for (int i70 = i69 + 1; i70 >= i69 - 1; i70--)
                                                                                                                                                for (int i71 = i70 + 1; i71 >= i70 - 1; i71--)
                                                                                                                                                  for (int i72 = i71 + 1; i72 >= i71 - 1; i72--)
                                                                                                                                                    for (int i73 = i72 + 1; i73 >= i72 - 1; i73--)
                                                                                                                                                      for (int i74 = i73 + 1; i74 >= i73 - 1; i74--)
                                                                                                                                                        for (int i75 = i74 + 1; i75 >= i74 - 1; i75--)
                                                                                                                                                          for (int i76 = i75 + 1; i76 >= i75 - 1; i76--)
                                                                                                                                                            for (int i77 = i76 + 1; i77 >= i76 - 1; i77--)
                                                                                                                                                              for (int i78 = i77 + 1; i78 >= i77 - 1; i78--)
                                                                                                                                                                for (int i79 = i78 + 1; i79 >= i78 - 1; i79--)
                                                                                                                                                                  for (int i80 = i79 + 1; i80 >= i79 - 1; i80--)
                                                                                                                                                                    for (int i81 = i80 + 1; i81 >= i80 - 1; i81--)
                                                                                                                                                                      for (int i82 = i81 + 1; i82 >= i81 - 1; i82--)
                                                                                                                                                                        for (int i83 = i82 + 1; i83 >= i82 - 1; i83--)
                                                                                                                                                                          for (int i84 = i83 + 1; i84 >= i83 - 1; i84--)
                                                                                                                                                                            for (int i85 = i84 + 1; i85 >= i84 - 1; i85--)
                                                                                                                                                                              for (int i86 = i85 + 1; i86 >= i85 - 1; i86--)
                                                                                                                                                                                for (int i87 = i86 + 1; i87 >= i86 - 1; i87--)
                                                                                                                                                                                  for (int i88 = i87 + 1; i88 >= i87 - 1; i88--)
                                                                                                                                                                                    for (int i89 = i88 + 1; i89 >= i88 - 1; i89--)
                                                                                                                                                                                      for (int i90 = i89 + 1; i90 >= i89 - 1; i90--)
                                                                                                                                                                                        for (int i91 = i90 + 1; i91 >= i90 - 1; i91--)
                                                                                                                                                                                          for (int i92 = i91 + 1; i92 >= i91 - 1; i92--)
                                                                                                                                                                                            for (int i93 = i92 + 1; i93 >= i92 - 1; i93--)
                                                                                                                                                                                              for (int i94 = i93 + 1; i94 >= i93 - 1; i94--)
                                                                                                                                                                                                for (int i95 = i94 + 1; i95 >= i94 - 1; i95--)
                                                                                                                                                                                                  for (int i96 = i95 + 1; i96 >= i95 - 1; i96--)
                                                                                                                                                                                                    for (int i97 = i96 + 1; i97 >= i96 - 1; i97--)
                                                                                                                                                                                                      for (int i98 = i97 + 1; i98 >= i97 - 1; i98--)
                                                                                                                                                                                                        for (int i99 = i98 + 1; i99 >= i98 - 1; i99--)
                                                                                                                                                                                                          for (int i100 = i99 + 1; i100 >= i99 - 1; i100--) {
                                                                                                                                                                                                            // Range [0,a.length).
                                                                                                                                                                                                            a[i100] += 1;
                                                                                                                                                                                                          }
}

main() {
  // To avoid executing the deep loops completely, we pass in a list
  // with null values, so that each first iteration throws an exception.
  List<int> a = new List<int>(300);
  int tryCallingPlusOnNull = 0;
  try {
    foo(a);
  } on NoSuchMethodError catch (e) {
    ++tryCallingPlusOnNull;
  }
  try {
    bar(a);
  } on NoSuchMethodError catch (e) {
    ++tryCallingPlusOnNull;
  }
  Expect.equals(2, tryCallingPlusOnNull);
}
