Source/sources/gnu/kawa/slib/pregexp.java
public java.lang.Object lambda3sub(java.lang.Object r16, java.lang.Object r17, java.lang.Object r18, java.lang.Object r19) {
            /*
                r15 = this;
                gnu.kawa.slib.pregexp$frame0 r6 = new gnu.kawa.slib.pregexp$frame0
                r6.<init>()
                r6.staticLink = r15
                r0 = r16
                r6.re$1 = r0
                r0 = r17
                r6.f94i = r0
                r0 = r18
                r6.f98sk = r0
                r0 = r19
                r6.f93fk = r0
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit10
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0047
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numEqu
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.start
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x003e
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
            L_0x003d:
                return r1
            L_0x003e:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0047:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit12
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0077
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x006e
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x006e:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0077:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit23
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0090
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0090:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit26
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x00c1
                java.lang.Object r1 = r15.f91s
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = gnu.kawa.slib.pregexp.isPregexpAtWordBoundary(r1, r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x00b7
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x00b7:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x00c1:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit28
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x00f3
                java.lang.Object r1 = r15.f91s
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = gnu.kawa.slib.pregexp.isPregexpAtWordBoundary(r1, r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x00e7
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x00e7:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x00f3:
                java.lang.Object r1 = r6.re$1
                boolean r14 = kawa.lib.characters.isChar(r1)
                if (r14 == 0) goto L_0x0146
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numLss
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0148
            L_0x0109:
                java.lang.Object r1 = r15.case$Mnsensitive$Qu
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0196
                gnu.expr.ModuleMethod r1 = kawa.lib.characters.char$Eq$Qu
                r4 = r1
            L_0x0112:
                java.lang.Object r1 = r15.f91s
                java.lang.CharSequence r1 = (java.lang.CharSequence) r1     // Catch:{ ClassCastException -> 0x05f6 }
                java.lang.Object r3 = r6.f94i
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0600 }
                r2 = r0
                int r2 = r2.intValue()     // Catch:{ ClassCastException -> 0x0600 }
                char r1 = kawa.lib.strings.stringRef(r1, r2)
                gnu.text.Char r1 = gnu.text.Char.make(r1)
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r4.apply2(r1, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x019b
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                gnu.kawa.functions.AddOp r3 = gnu.kawa.functions.AddOp.$Pl
                java.lang.Object r4 = r6.f94i
                gnu.math.IntNum r5 = gnu.kawa.slib.pregexp.Lit8
                java.lang.Object r3 = r3.apply2(r4, r5)
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0146:
                if (r14 != 0) goto L_0x0109
            L_0x0148:
                java.lang.Object r1 = r6.re$1
                boolean r1 = kawa.lib.C0619lists.isPair(r1)
                int r1 = r1 + 1
                r14 = r1 & 1
                if (r14 == 0) goto L_0x01a5
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numLss
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x01a7
            L_0x0162:
                java.lang.Object r1 = r15.f91s
                java.lang.CharSequence r1 = (java.lang.CharSequence) r1     // Catch:{ ClassCastException -> 0x060a }
                java.lang.Object r3 = r6.f94i
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0614 }
                r2 = r0
                int r2 = r2.intValue()     // Catch:{ ClassCastException -> 0x0614 }
                char r1 = kawa.lib.strings.stringRef(r1, r2)
                gnu.text.Char r1 = gnu.text.Char.make(r1)
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = gnu.kawa.slib.pregexp.isPregexpCheckIfInCharClass(r1, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0227
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                gnu.kawa.functions.AddOp r3 = gnu.kawa.functions.AddOp.$Pl
                java.lang.Object r4 = r6.f94i
                gnu.math.IntNum r5 = gnu.kawa.slib.pregexp.Lit8
                java.lang.Object r3 = r3.apply2(r4, r5)
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0196:
                gnu.expr.ModuleMethod r1 = kawa.lib.rnrs.unicode.char$Mnci$Eq$Qu
                r4 = r1
                goto L_0x0112
            L_0x019b:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x01a5:
                if (r14 != 0) goto L_0x0162
            L_0x01a7:
                java.lang.Object r1 = r6.re$1
                boolean r14 = kawa.lib.C0619lists.isPair(r1)
                if (r14 == 0) goto L_0x0269
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.car
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit83
                java.lang.Object r14 = r1.apply2(r2, r3)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 == r1) goto L_0x0231
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numLss
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0235
            L_0x01d1:
                java.lang.Object r1 = r15.f91s
                java.lang.CharSequence r1 = (java.lang.CharSequence) r1     // Catch:{ ClassCastException -> 0x061e }
                java.lang.Object r3 = r6.f94i
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0628 }
                r2 = r0
                int r2 = r2.intValue()     // Catch:{ ClassCastException -> 0x0628 }
                char r8 = kawa.lib.strings.stringRef(r1, r2)
                java.lang.Object r1 = r15.case$Mnsensitive$Qu
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x026d
                gnu.expr.ModuleMethod r9 = kawa.lib.characters.char$Ls$Eq$Qu
            L_0x01eb:
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                gnu.text.Char r2 = gnu.text.Char.make(r8)
                java.lang.Object r14 = r9.apply2(r1, r2)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 == r1) goto L_0x0271
                gnu.text.Char r1 = gnu.text.Char.make(r8)
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.caddr
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                java.lang.Object r1 = r9.apply2(r1, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0275
            L_0x0213:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                gnu.kawa.functions.AddOp r3 = gnu.kawa.functions.AddOp.$Pl
                java.lang.Object r4 = r6.f94i
                gnu.math.IntNum r5 = gnu.kawa.slib.pregexp.Lit8
                java.lang.Object r3 = r3.apply2(r4, r5)
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0227:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0231:
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 != r1) goto L_0x01d1
            L_0x0235:
                java.lang.Object r1 = r6.re$1
                boolean r1 = kawa.lib.C0619lists.isPair(r1)
                if (r1 == 0) goto L_0x05d0
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.car
                java.lang.Object r2 = r6.re$1
                java.lang.Object r13 = r1.apply1(r2)
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit83
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x028d
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x027f
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0269:
                if (r14 == 0) goto L_0x0235
                goto L_0x01d1
            L_0x026d:
                gnu.expr.ModuleMethod r9 = kawa.lib.rnrs.unicode.char$Mnci$Ls$Eq$Qu
                goto L_0x01eb
            L_0x0271:
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 != r1) goto L_0x0213
            L_0x0275:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x027f:
                r1 = 1
                java.lang.Object[] r1 = new java.lang.Object[r1]
                r2 = 0
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit101
                r1[r2] = r3
                java.lang.Object r1 = gnu.kawa.slib.pregexp.pregexpError$V(r1)
                goto L_0x003d
            L_0x028d:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit82
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x02bf
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x02b1
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x02b1:
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cdr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r1 = r6.lambda5loupOneOfChars(r1)
                goto L_0x003d
            L_0x02bf:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit17
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x02f7
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x02e3
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x02e3:
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.expr.ModuleMethod r3 = r6.lambda$Fn2
                gnu.expr.ModuleMethod r4 = r6.lambda$Fn3
                java.lang.Object r1 = r15.lambda3sub(r1, r2, r3, r4)
                goto L_0x003d
            L_0x02f7:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit5
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0313
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cdr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                java.lang.Object r1 = r6.lambda6loupSeq(r1, r2)
                goto L_0x003d
            L_0x0313:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit4
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x032d
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cdr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r1 = r6.lambda7loupOr(r1)
                goto L_0x003d
            L_0x032d:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit20
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x03ad
                java.lang.Object r1 = r15.backrefs
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.cadr
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                java.lang.Object r8 = gnu.kawa.slib.pregexp.pregexpListRef(r1, r2)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r8 == r1) goto L_0x0389
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cdr
                java.lang.Object r7 = r1.apply1(r8)
            L_0x0351:
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r7 == r1) goto L_0x03a1
                java.lang.Object r1 = r15.f91s
                java.lang.CharSequence r1 = (java.lang.CharSequence) r1     // Catch:{ ClassCastException -> 0x0632 }
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.car
                java.lang.Object r3 = r2.apply1(r7)
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x063c }
                r2 = r0
                int r4 = r2.intValue()     // Catch:{ ClassCastException -> 0x063c }
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.cdr
                java.lang.Object r3 = r2.apply1(r7)
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0646 }
                r2 = r0
                int r2 = r2.intValue()     // Catch:{ ClassCastException -> 0x0646 }
                java.lang.CharSequence r1 = kawa.lib.strings.substring(r1, r4, r2)
                java.lang.Object r2 = r15.f91s
                java.lang.Object r3 = r6.f94i
                java.lang.Object r4 = r15.f90n
                gnu.expr.ModuleMethod r5 = r6.lambda$Fn4
                java.lang.Object r6 = r6.f93fk
                java.lang.Object r1 = gnu.kawa.slib.pregexp.pregexpStringMatch(r1, r2, r3, r4, r5, r6)
                goto L_0x003d
            L_0x0389:
                r1 = 3
                java.lang.Object[] r1 = new java.lang.Object[r1]
                r2 = 0
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit101
                r1[r2] = r3
                r2 = 1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit102
                r1[r2] = r3
                r2 = 2
                java.lang.Object r3 = r6.re$1
                r1[r2] = r3
                gnu.kawa.slib.pregexp.pregexpError$V(r1)
                java.lang.Boolean r7 = java.lang.Boolean.FALSE
                goto L_0x0351
            L_0x03a1:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x03ad:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit100
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x03cd
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.expr.ModuleMethod r3 = r6.lambda$Fn5
                java.lang.Object r4 = r6.f93fk
                java.lang.Object r1 = r15.lambda3sub(r1, r2, r3, r4)
                goto L_0x003d
            L_0x03cd:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit103
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0405
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn6
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x03fb
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x03fb:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0405:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit104
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x043d
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn7
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x0431
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0431:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x043d:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit105
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x048f
                java.lang.Object r11 = r15.f90n
                java.lang.Object r12 = r15.f92sn
                java.lang.Object r1 = r6.f94i
                r15.f90n = r1
                java.lang.Object r1 = r6.f94i
                r15.f92sn = r1
                gnu.mapping.SimpleSymbol r1 = gnu.kawa.slib.pregexp.Lit5
                gnu.lists.PairWithPosition r2 = gnu.kawa.slib.pregexp.Lit106
                gnu.expr.GenericProc r3 = kawa.lib.C0619lists.cadr
                java.lang.Object r4 = r6.re$1
                java.lang.Object r3 = r3.apply1(r4)
                gnu.mapping.SimpleSymbol r4 = gnu.kawa.slib.pregexp.Lit12
                gnu.lists.Pair r1 = gnu.lists.LList.list4(r1, r2, r3, r4)
                gnu.math.IntNum r2 = gnu.kawa.slib.pregexp.Lit73
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn8
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                r15.f90n = r11
                r15.f92sn = r12
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x0485
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0485:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x048f:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit107
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x04e1
                java.lang.Object r11 = r15.f90n
                java.lang.Object r12 = r15.f92sn
                java.lang.Object r1 = r6.f94i
                r15.f90n = r1
                java.lang.Object r1 = r6.f94i
                r15.f92sn = r1
                gnu.mapping.SimpleSymbol r1 = gnu.kawa.slib.pregexp.Lit5
                gnu.lists.PairWithPosition r2 = gnu.kawa.slib.pregexp.Lit108
                gnu.expr.GenericProc r3 = kawa.lib.C0619lists.cadr
                java.lang.Object r4 = r6.re$1
                java.lang.Object r3 = r3.apply1(r4)
                gnu.mapping.SimpleSymbol r4 = gnu.kawa.slib.pregexp.Lit12
                gnu.lists.Pair r1 = gnu.lists.LList.list4(r1, r2, r3, r4)
                gnu.math.IntNum r2 = gnu.kawa.slib.pregexp.Lit73
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn9
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                r15.f90n = r11
                r15.f92sn = r12
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x04d5
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x04d5:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x04e1:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit109
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0517
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn10
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x050d
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r1 = r1.apply2(r2, r10)
                goto L_0x003d
            L_0x050d:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0517:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit60
                java.lang.Object r14 = r1.apply2(r13, r2)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 == r1) goto L_0x0551
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 == r1) goto L_0x055d
            L_0x0527:
                java.lang.Object r1 = r15.case$Mnsensitive$Qu
                r6.old = r1
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.car
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit60
                java.lang.Object r1 = r1.apply2(r2, r3)
                r15.case$Mnsensitive$Qu = r1
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.expr.ModuleMethod r3 = r6.lambda$Fn11
                gnu.expr.ModuleMethod r4 = r6.lambda$Fn12
                java.lang.Object r1 = r15.lambda3sub(r1, r2, r3, r4)
                goto L_0x003d
            L_0x0551:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit61
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 != r2) goto L_0x0527
            L_0x055d:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit68
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x05c2
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE     // Catch:{ ClassCastException -> 0x0650 }
                if (r1 == r2) goto L_0x05bb
                r1 = 1
            L_0x0576:
                int r1 = r1 + 1
                r1 = r1 & 1
                r6.maximal$Qu = r1
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.caddr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                r6.f95p = r1
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadddr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                r6.f96q = r1
                boolean r1 = r6.maximal$Qu
                if (r1 == 0) goto L_0x05bf
                java.lang.Object r1 = r6.f96q
                java.lang.Boolean r2 = java.lang.Boolean.FALSE     // Catch:{ ClassCastException -> 0x065a }
                if (r1 == r2) goto L_0x05bd
                r1 = 1
            L_0x059b:
                int r1 = r1 + 1
                r1 = r1 & 1
            L_0x059f:
                r6.could$Mnloop$Mninfinitely$Qu = r1
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.car
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.cddddr
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                java.lang.Object r1 = r1.apply1(r2)
                r6.f97re = r1
                gnu.math.IntNum r1 = gnu.kawa.slib.pregexp.Lit73
                java.lang.Object r2 = r6.f94i
                java.lang.Object r1 = r6.lambda8loupP(r1, r2)
                goto L_0x003d
            L_0x05bb:
                r1 = 0
                goto L_0x0576
            L_0x05bd:
                r1 = 0
                goto L_0x059b
            L_0x05bf:
                boolean r1 = r6.maximal$Qu
                goto L_0x059f
            L_0x05c2:
                r1 = 1
                java.lang.Object[] r1 = new java.lang.Object[r1]
                r2 = 0
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit101
                r1[r2] = r3
                java.lang.Object r1 = gnu.kawa.slib.pregexp.pregexpError$V(r1)
                goto L_0x003d
            L_0x05d0:
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x05e8
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x05e8:
                r1 = 1
                java.lang.Object[] r1 = new java.lang.Object[r1]
                r2 = 0
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit101
                r1[r2] = r3
                java.lang.Object r1 = gnu.kawa.slib.pregexp.pregexpError$V(r1)
                goto L_0x003d
            L_0x05f6:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 1
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x0600:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 2
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x060a:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 1
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x0614:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 2
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x061e:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 1
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x0628:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 2
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x0632:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "substring"
                r5 = 1
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x063c:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "substring"
                r5 = 2
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x0646:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "substring"
                r5 = 3
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x0650:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "maximal?"
                r5 = -2
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x065a:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "could-loop-infinitely?"
                r5 = -2
                r3.<init>(r2, r4, r5, r1)
                throw r3
            */
            throw new UnsupportedOperationException("Method not decompiled: gnu.kawa.slib.pregexp.frame.lambda3sub(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object):java.lang.Object");
        }
/* Code decompiled incorrectly, please refer to instructions dump. */
Code decompiled incorrectly, please refer to instructions dump.
Code decompiled incorrectly please refer to instructions dump .
public java.lang.Object lambda3sub(java.lang.Object r16, java.lang.Object r17, java.lang.Object r18, java.lang.Object r19) {
            /*
                r15 = this;
                gnu.kawa.slib.pregexp$frame0 r6 = new gnu.kawa.slib.pregexp$frame0
                r6.<init>()
                r6.staticLink = r15
                r0 = r16
                r6.re$1 = r0
                r0 = r17
                r6.f94i = r0
                r0 = r18
                r6.f98sk = r0
                r0 = r19
                r6.f93fk = r0
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit10
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0047
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numEqu
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.start
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x003e
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
            L_0x003d:
                return r1
            L_0x003e:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0047:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit12
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0077
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x006e
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x006e:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0077:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit23
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0090
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0090:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit26
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x00c1
                java.lang.Object r1 = r15.f91s
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = gnu.kawa.slib.pregexp.isPregexpAtWordBoundary(r1, r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x00b7
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x00b7:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x00c1:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit28
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x00f3
                java.lang.Object r1 = r15.f91s
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = gnu.kawa.slib.pregexp.isPregexpAtWordBoundary(r1, r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x00e7
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x00e7:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x00f3:
                java.lang.Object r1 = r6.re$1
                boolean r14 = kawa.lib.characters.isChar(r1)
                if (r14 == 0) goto L_0x0146
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numLss
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0148
            L_0x0109:
                java.lang.Object r1 = r15.case$Mnsensitive$Qu
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0196
                gnu.expr.ModuleMethod r1 = kawa.lib.characters.char$Eq$Qu
                r4 = r1
            L_0x0112:
                java.lang.Object r1 = r15.f91s
                java.lang.CharSequence r1 = (java.lang.CharSequence) r1     // Catch:{ ClassCastException -> 0x05f6 }
                java.lang.Object r3 = r6.f94i
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0600 }
                r2 = r0
                int r2 = r2.intValue()     // Catch:{ ClassCastException -> 0x0600 }
                char r1 = kawa.lib.strings.stringRef(r1, r2)
                gnu.text.Char r1 = gnu.text.Char.make(r1)
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r4.apply2(r1, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x019b
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                gnu.kawa.functions.AddOp r3 = gnu.kawa.functions.AddOp.$Pl
                java.lang.Object r4 = r6.f94i
                gnu.math.IntNum r5 = gnu.kawa.slib.pregexp.Lit8
                java.lang.Object r3 = r3.apply2(r4, r5)
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0146:
                if (r14 != 0) goto L_0x0109
            L_0x0148:
                java.lang.Object r1 = r6.re$1
                boolean r1 = kawa.lib.C0619lists.isPair(r1)
                int r1 = r1 + 1
                r14 = r1 & 1
                if (r14 == 0) goto L_0x01a5
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numLss
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x01a7
            L_0x0162:
                java.lang.Object r1 = r15.f91s
                java.lang.CharSequence r1 = (java.lang.CharSequence) r1     // Catch:{ ClassCastException -> 0x060a }
                java.lang.Object r3 = r6.f94i
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0614 }
                r2 = r0
                int r2 = r2.intValue()     // Catch:{ ClassCastException -> 0x0614 }
                char r1 = kawa.lib.strings.stringRef(r1, r2)
                gnu.text.Char r1 = gnu.text.Char.make(r1)
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = gnu.kawa.slib.pregexp.isPregexpCheckIfInCharClass(r1, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0227
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                gnu.kawa.functions.AddOp r3 = gnu.kawa.functions.AddOp.$Pl
                java.lang.Object r4 = r6.f94i
                gnu.math.IntNum r5 = gnu.kawa.slib.pregexp.Lit8
                java.lang.Object r3 = r3.apply2(r4, r5)
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0196:
                gnu.expr.ModuleMethod r1 = kawa.lib.rnrs.unicode.char$Mnci$Eq$Qu
                r4 = r1
                goto L_0x0112
            L_0x019b:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x01a5:
                if (r14 != 0) goto L_0x0162
            L_0x01a7:
                java.lang.Object r1 = r6.re$1
                boolean r14 = kawa.lib.C0619lists.isPair(r1)
                if (r14 == 0) goto L_0x0269
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.car
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit83
                java.lang.Object r14 = r1.apply2(r2, r3)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 == r1) goto L_0x0231
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numLss
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0235
            L_0x01d1:
                java.lang.Object r1 = r15.f91s
                java.lang.CharSequence r1 = (java.lang.CharSequence) r1     // Catch:{ ClassCastException -> 0x061e }
                java.lang.Object r3 = r6.f94i
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0628 }
                r2 = r0
                int r2 = r2.intValue()     // Catch:{ ClassCastException -> 0x0628 }
                char r8 = kawa.lib.strings.stringRef(r1, r2)
                java.lang.Object r1 = r15.case$Mnsensitive$Qu
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x026d
                gnu.expr.ModuleMethod r9 = kawa.lib.characters.char$Ls$Eq$Qu
            L_0x01eb:
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                gnu.text.Char r2 = gnu.text.Char.make(r8)
                java.lang.Object r14 = r9.apply2(r1, r2)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 == r1) goto L_0x0271
                gnu.text.Char r1 = gnu.text.Char.make(r8)
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.caddr
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                java.lang.Object r1 = r9.apply2(r1, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0275
            L_0x0213:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                gnu.kawa.functions.AddOp r3 = gnu.kawa.functions.AddOp.$Pl
                java.lang.Object r4 = r6.f94i
                gnu.math.IntNum r5 = gnu.kawa.slib.pregexp.Lit8
                java.lang.Object r3 = r3.apply2(r4, r5)
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0227:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0231:
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 != r1) goto L_0x01d1
            L_0x0235:
                java.lang.Object r1 = r6.re$1
                boolean r1 = kawa.lib.C0619lists.isPair(r1)
                if (r1 == 0) goto L_0x05d0
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.car
                java.lang.Object r2 = r6.re$1
                java.lang.Object r13 = r1.apply1(r2)
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit83
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x028d
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x027f
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0269:
                if (r14 == 0) goto L_0x0235
                goto L_0x01d1
            L_0x026d:
                gnu.expr.ModuleMethod r9 = kawa.lib.rnrs.unicode.char$Mnci$Ls$Eq$Qu
                goto L_0x01eb
            L_0x0271:
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 != r1) goto L_0x0213
            L_0x0275:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x027f:
                r1 = 1
                java.lang.Object[] r1 = new java.lang.Object[r1]
                r2 = 0
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit101
                r1[r2] = r3
                java.lang.Object r1 = gnu.kawa.slib.pregexp.pregexpError$V(r1)
                goto L_0x003d
            L_0x028d:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit82
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x02bf
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x02b1
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x02b1:
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cdr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r1 = r6.lambda5loupOneOfChars(r1)
                goto L_0x003d
            L_0x02bf:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit17
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x02f7
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x02e3
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x02e3:
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.expr.ModuleMethod r3 = r6.lambda$Fn2
                gnu.expr.ModuleMethod r4 = r6.lambda$Fn3
                java.lang.Object r1 = r15.lambda3sub(r1, r2, r3, r4)
                goto L_0x003d
            L_0x02f7:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit5
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0313
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cdr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                java.lang.Object r1 = r6.lambda6loupSeq(r1, r2)
                goto L_0x003d
            L_0x0313:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit4
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x032d
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cdr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r1 = r6.lambda7loupOr(r1)
                goto L_0x003d
            L_0x032d:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit20
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x03ad
                java.lang.Object r1 = r15.backrefs
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.cadr
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                java.lang.Object r8 = gnu.kawa.slib.pregexp.pregexpListRef(r1, r2)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r8 == r1) goto L_0x0389
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cdr
                java.lang.Object r7 = r1.apply1(r8)
            L_0x0351:
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r7 == r1) goto L_0x03a1
                java.lang.Object r1 = r15.f91s
                java.lang.CharSequence r1 = (java.lang.CharSequence) r1     // Catch:{ ClassCastException -> 0x0632 }
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.car
                java.lang.Object r3 = r2.apply1(r7)
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x063c }
                r2 = r0
                int r4 = r2.intValue()     // Catch:{ ClassCastException -> 0x063c }
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.cdr
                java.lang.Object r3 = r2.apply1(r7)
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0646 }
                r2 = r0
                int r2 = r2.intValue()     // Catch:{ ClassCastException -> 0x0646 }
                java.lang.CharSequence r1 = kawa.lib.strings.substring(r1, r4, r2)
                java.lang.Object r2 = r15.f91s
                java.lang.Object r3 = r6.f94i
                java.lang.Object r4 = r15.f90n
                gnu.expr.ModuleMethod r5 = r6.lambda$Fn4
                java.lang.Object r6 = r6.f93fk
                java.lang.Object r1 = gnu.kawa.slib.pregexp.pregexpStringMatch(r1, r2, r3, r4, r5, r6)
                goto L_0x003d
            L_0x0389:
                r1 = 3
                java.lang.Object[] r1 = new java.lang.Object[r1]
                r2 = 0
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit101
                r1[r2] = r3
                r2 = 1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit102
                r1[r2] = r3
                r2 = 2
                java.lang.Object r3 = r6.re$1
                r1[r2] = r3
                gnu.kawa.slib.pregexp.pregexpError$V(r1)
                java.lang.Boolean r7 = java.lang.Boolean.FALSE
                goto L_0x0351
            L_0x03a1:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x03ad:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit100
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x03cd
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.expr.ModuleMethod r3 = r6.lambda$Fn5
                java.lang.Object r4 = r6.f93fk
                java.lang.Object r1 = r15.lambda3sub(r1, r2, r3, r4)
                goto L_0x003d
            L_0x03cd:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit103
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0405
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn6
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x03fb
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x03fb:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0405:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit104
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x043d
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn7
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x0431
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0431:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x043d:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit105
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x048f
                java.lang.Object r11 = r15.f90n
                java.lang.Object r12 = r15.f92sn
                java.lang.Object r1 = r6.f94i
                r15.f90n = r1
                java.lang.Object r1 = r6.f94i
                r15.f92sn = r1
                gnu.mapping.SimpleSymbol r1 = gnu.kawa.slib.pregexp.Lit5
                gnu.lists.PairWithPosition r2 = gnu.kawa.slib.pregexp.Lit106
                gnu.expr.GenericProc r3 = kawa.lib.C0619lists.cadr
                java.lang.Object r4 = r6.re$1
                java.lang.Object r3 = r3.apply1(r4)
                gnu.mapping.SimpleSymbol r4 = gnu.kawa.slib.pregexp.Lit12
                gnu.lists.Pair r1 = gnu.lists.LList.list4(r1, r2, r3, r4)
                gnu.math.IntNum r2 = gnu.kawa.slib.pregexp.Lit73
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn8
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                r15.f90n = r11
                r15.f92sn = r12
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x0485
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0485:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x048f:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit107
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x04e1
                java.lang.Object r11 = r15.f90n
                java.lang.Object r12 = r15.f92sn
                java.lang.Object r1 = r6.f94i
                r15.f90n = r1
                java.lang.Object r1 = r6.f94i
                r15.f92sn = r1
                gnu.mapping.SimpleSymbol r1 = gnu.kawa.slib.pregexp.Lit5
                gnu.lists.PairWithPosition r2 = gnu.kawa.slib.pregexp.Lit108
                gnu.expr.GenericProc r3 = kawa.lib.C0619lists.cadr
                java.lang.Object r4 = r6.re$1
                java.lang.Object r3 = r3.apply1(r4)
                gnu.mapping.SimpleSymbol r4 = gnu.kawa.slib.pregexp.Lit12
                gnu.lists.Pair r1 = gnu.lists.LList.list4(r1, r2, r3, r4)
                gnu.math.IntNum r2 = gnu.kawa.slib.pregexp.Lit73
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn9
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                r15.f90n = r11
                r15.f92sn = r12
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x04d5
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x04d5:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x04e1:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit109
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0517
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn10
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x050d
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r1 = r1.apply2(r2, r10)
                goto L_0x003d
            L_0x050d:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0517:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit60
                java.lang.Object r14 = r1.apply2(r13, r2)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 == r1) goto L_0x0551
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 == r1) goto L_0x055d
            L_0x0527:
                java.lang.Object r1 = r15.case$Mnsensitive$Qu
                r6.old = r1
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.car
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit60
                java.lang.Object r1 = r1.apply2(r2, r3)
                r15.case$Mnsensitive$Qu = r1
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.expr.ModuleMethod r3 = r6.lambda$Fn11
                gnu.expr.ModuleMethod r4 = r6.lambda$Fn12
                java.lang.Object r1 = r15.lambda3sub(r1, r2, r3, r4)
                goto L_0x003d
            L_0x0551:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit61
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 != r2) goto L_0x0527
            L_0x055d:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit68
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x05c2
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE     // Catch:{ ClassCastException -> 0x0650 }
                if (r1 == r2) goto L_0x05bb
                r1 = 1
            L_0x0576:
                int r1 = r1 + 1
                r1 = r1 & 1
                r6.maximal$Qu = r1
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.caddr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                r6.f95p = r1
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadddr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                r6.f96q = r1
                boolean r1 = r6.maximal$Qu
                if (r1 == 0) goto L_0x05bf
                java.lang.Object r1 = r6.f96q
                java.lang.Boolean r2 = java.lang.Boolean.FALSE     // Catch:{ ClassCastException -> 0x065a }
                if (r1 == r2) goto L_0x05bd
                r1 = 1
            L_0x059b:
                int r1 = r1 + 1
                r1 = r1 & 1
            L_0x059f:
                r6.could$Mnloop$Mninfinitely$Qu = r1
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.car
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.cddddr
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                java.lang.Object r1 = r1.apply1(r2)
                r6.f97re = r1
                gnu.math.IntNum r1 = gnu.kawa.slib.pregexp.Lit73
                java.lang.Object r2 = r6.f94i
                java.lang.Object r1 = r6.lambda8loupP(r1, r2)
                goto L_0x003d
            L_0x05bb:
                r1 = 0
                goto L_0x0576
            L_0x05bd:
                r1 = 0
                goto L_0x059b
            L_0x05bf:
                boolean r1 = r6.maximal$Qu
                goto L_0x059f
            L_0x05c2:
                r1 = 1
                java.lang.Object[] r1 = new java.lang.Object[r1]
                r2 = 0
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit101
                r1[r2] = r3
                java.lang.Object r1 = gnu.kawa.slib.pregexp.pregexpError$V(r1)
                goto L_0x003d
            L_0x05d0:
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x05e8
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x05e8:
                r1 = 1
                java.lang.Object[] r1 = new java.lang.Object[r1]
                r2 = 0
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit101
                r1[r2] = r3
                java.lang.Object r1 = gnu.kawa.slib.pregexp.pregexpError$V(r1)
                goto L_0x003d
            L_0x05f6:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 1
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x0600:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 2
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x060a:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 1
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x0614:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 2
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x061e:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 1
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x0628:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 2
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x0632:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "substring"
                r5 = 1
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x063c:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "substring"
                r5 = 2
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x0646:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "substring"
                r5 = 3
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x0650:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "maximal?"
                r5 = -2
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x065a:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "could-loop-infinitely?"
                r5 = -2
                r3.<init>(r2, r4, r5, r1)
                throw r3
            */
            throw new UnsupportedOperationException("Method not decompiled: gnu.kawa.slib.pregexp.frame.lambda3sub(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object):java.lang.Object");
        }
public java . lang . Object lambda3sub ( java . lang . Object r16 , java . lang . Object r17 , java . lang . Object r18 , java . lang . Object r19 ) { /*
                r15 = this;
                gnu.kawa.slib.pregexp$frame0 r6 = new gnu.kawa.slib.pregexp$frame0
                r6.<init>()
                r6.staticLink = r15
                r0 = r16
                r6.re$1 = r0
                r0 = r17
                r6.f94i = r0
                r0 = r18
                r6.f98sk = r0
                r0 = r19
                r6.f93fk = r0
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit10
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0047
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numEqu
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.start
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x003e
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
            L_0x003d:
                return r1
            L_0x003e:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0047:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit12
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0077
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x006e
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x006e:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0077:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit23
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0090
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0090:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit26
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x00c1
                java.lang.Object r1 = r15.f91s
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = gnu.kawa.slib.pregexp.isPregexpAtWordBoundary(r1, r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x00b7
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x00b7:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x00c1:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                java.lang.Object r2 = r6.re$1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit28
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x00f3
                java.lang.Object r1 = r15.f91s
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = gnu.kawa.slib.pregexp.isPregexpAtWordBoundary(r1, r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x00e7
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x00e7:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x00f3:
                java.lang.Object r1 = r6.re$1
                boolean r14 = kawa.lib.characters.isChar(r1)
                if (r14 == 0) goto L_0x0146
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numLss
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0148
            L_0x0109:
                java.lang.Object r1 = r15.case$Mnsensitive$Qu
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0196
                gnu.expr.ModuleMethod r1 = kawa.lib.characters.char$Eq$Qu
                r4 = r1
            L_0x0112:
                java.lang.Object r1 = r15.f91s
                java.lang.CharSequence r1 = (java.lang.CharSequence) r1     // Catch:{ ClassCastException -> 0x05f6 }
                java.lang.Object r3 = r6.f94i
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0600 }
                r2 = r0
                int r2 = r2.intValue()     // Catch:{ ClassCastException -> 0x0600 }
                char r1 = kawa.lib.strings.stringRef(r1, r2)
                gnu.text.Char r1 = gnu.text.Char.make(r1)
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r4.apply2(r1, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x019b
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                gnu.kawa.functions.AddOp r3 = gnu.kawa.functions.AddOp.$Pl
                java.lang.Object r4 = r6.f94i
                gnu.math.IntNum r5 = gnu.kawa.slib.pregexp.Lit8
                java.lang.Object r3 = r3.apply2(r4, r5)
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0146:
                if (r14 != 0) goto L_0x0109
            L_0x0148:
                java.lang.Object r1 = r6.re$1
                boolean r1 = kawa.lib.C0619lists.isPair(r1)
                int r1 = r1 + 1
                r14 = r1 & 1
                if (r14 == 0) goto L_0x01a5
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numLss
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x01a7
            L_0x0162:
                java.lang.Object r1 = r15.f91s
                java.lang.CharSequence r1 = (java.lang.CharSequence) r1     // Catch:{ ClassCastException -> 0x060a }
                java.lang.Object r3 = r6.f94i
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0614 }
                r2 = r0
                int r2 = r2.intValue()     // Catch:{ ClassCastException -> 0x0614 }
                char r1 = kawa.lib.strings.stringRef(r1, r2)
                gnu.text.Char r1 = gnu.text.Char.make(r1)
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = gnu.kawa.slib.pregexp.isPregexpCheckIfInCharClass(r1, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0227
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                gnu.kawa.functions.AddOp r3 = gnu.kawa.functions.AddOp.$Pl
                java.lang.Object r4 = r6.f94i
                gnu.math.IntNum r5 = gnu.kawa.slib.pregexp.Lit8
                java.lang.Object r3 = r3.apply2(r4, r5)
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0196:
                gnu.expr.ModuleMethod r1 = kawa.lib.rnrs.unicode.char$Mnci$Eq$Qu
                r4 = r1
                goto L_0x0112
            L_0x019b:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x01a5:
                if (r14 != 0) goto L_0x0162
            L_0x01a7:
                java.lang.Object r1 = r6.re$1
                boolean r14 = kawa.lib.C0619lists.isPair(r1)
                if (r14 == 0) goto L_0x0269
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.car
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit83
                java.lang.Object r14 = r1.apply2(r2, r3)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 == r1) goto L_0x0231
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numLss
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0235
            L_0x01d1:
                java.lang.Object r1 = r15.f91s
                java.lang.CharSequence r1 = (java.lang.CharSequence) r1     // Catch:{ ClassCastException -> 0x061e }
                java.lang.Object r3 = r6.f94i
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0628 }
                r2 = r0
                int r2 = r2.intValue()     // Catch:{ ClassCastException -> 0x0628 }
                char r8 = kawa.lib.strings.stringRef(r1, r2)
                java.lang.Object r1 = r15.case$Mnsensitive$Qu
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x026d
                gnu.expr.ModuleMethod r9 = kawa.lib.characters.char$Ls$Eq$Qu
            L_0x01eb:
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                gnu.text.Char r2 = gnu.text.Char.make(r8)
                java.lang.Object r14 = r9.apply2(r1, r2)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 == r1) goto L_0x0271
                gnu.text.Char r1 = gnu.text.Char.make(r8)
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.caddr
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                java.lang.Object r1 = r9.apply2(r1, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0275
            L_0x0213:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                gnu.kawa.functions.AddOp r3 = gnu.kawa.functions.AddOp.$Pl
                java.lang.Object r4 = r6.f94i
                gnu.math.IntNum r5 = gnu.kawa.slib.pregexp.Lit8
                java.lang.Object r3 = r3.apply2(r4, r5)
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0227:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0231:
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 != r1) goto L_0x01d1
            L_0x0235:
                java.lang.Object r1 = r6.re$1
                boolean r1 = kawa.lib.C0619lists.isPair(r1)
                if (r1 == 0) goto L_0x05d0
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.car
                java.lang.Object r2 = r6.re$1
                java.lang.Object r13 = r1.apply1(r2)
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit83
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x028d
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x027f
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0269:
                if (r14 == 0) goto L_0x0235
                goto L_0x01d1
            L_0x026d:
                gnu.expr.ModuleMethod r9 = kawa.lib.rnrs.unicode.char$Mnci$Ls$Eq$Qu
                goto L_0x01eb
            L_0x0271:
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 != r1) goto L_0x0213
            L_0x0275:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x027f:
                r1 = 1
                java.lang.Object[] r1 = new java.lang.Object[r1]
                r2 = 0
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit101
                r1[r2] = r3
                java.lang.Object r1 = gnu.kawa.slib.pregexp.pregexpError$V(r1)
                goto L_0x003d
            L_0x028d:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit82
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x02bf
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x02b1
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x02b1:
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cdr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r1 = r6.lambda5loupOneOfChars(r1)
                goto L_0x003d
            L_0x02bf:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit17
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x02f7
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x02e3
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x02e3:
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.expr.ModuleMethod r3 = r6.lambda$Fn2
                gnu.expr.ModuleMethod r4 = r6.lambda$Fn3
                java.lang.Object r1 = r15.lambda3sub(r1, r2, r3, r4)
                goto L_0x003d
            L_0x02f7:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit5
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0313
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cdr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                java.lang.Object r1 = r6.lambda6loupSeq(r1, r2)
                goto L_0x003d
            L_0x0313:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit4
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x032d
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cdr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r1 = r6.lambda7loupOr(r1)
                goto L_0x003d
            L_0x032d:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit20
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x03ad
                java.lang.Object r1 = r15.backrefs
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.cadr
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                java.lang.Object r8 = gnu.kawa.slib.pregexp.pregexpListRef(r1, r2)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r8 == r1) goto L_0x0389
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cdr
                java.lang.Object r7 = r1.apply1(r8)
            L_0x0351:
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r7 == r1) goto L_0x03a1
                java.lang.Object r1 = r15.f91s
                java.lang.CharSequence r1 = (java.lang.CharSequence) r1     // Catch:{ ClassCastException -> 0x0632 }
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.car
                java.lang.Object r3 = r2.apply1(r7)
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x063c }
                r2 = r0
                int r4 = r2.intValue()     // Catch:{ ClassCastException -> 0x063c }
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.cdr
                java.lang.Object r3 = r2.apply1(r7)
                r0 = r3
                java.lang.Number r0 = (java.lang.Number) r0     // Catch:{ ClassCastException -> 0x0646 }
                r2 = r0
                int r2 = r2.intValue()     // Catch:{ ClassCastException -> 0x0646 }
                java.lang.CharSequence r1 = kawa.lib.strings.substring(r1, r4, r2)
                java.lang.Object r2 = r15.f91s
                java.lang.Object r3 = r6.f94i
                java.lang.Object r4 = r15.f90n
                gnu.expr.ModuleMethod r5 = r6.lambda$Fn4
                java.lang.Object r6 = r6.f93fk
                java.lang.Object r1 = gnu.kawa.slib.pregexp.pregexpStringMatch(r1, r2, r3, r4, r5, r6)
                goto L_0x003d
            L_0x0389:
                r1 = 3
                java.lang.Object[] r1 = new java.lang.Object[r1]
                r2 = 0
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit101
                r1[r2] = r3
                r2 = 1
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit102
                r1[r2] = r3
                r2 = 2
                java.lang.Object r3 = r6.re$1
                r1[r2] = r3
                gnu.kawa.slib.pregexp.pregexpError$V(r1)
                java.lang.Boolean r7 = java.lang.Boolean.FALSE
                goto L_0x0351
            L_0x03a1:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x03ad:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit100
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x03cd
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.expr.ModuleMethod r3 = r6.lambda$Fn5
                java.lang.Object r4 = r6.f93fk
                java.lang.Object r1 = r15.lambda3sub(r1, r2, r3, r4)
                goto L_0x003d
            L_0x03cd:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit103
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0405
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn6
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x03fb
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x03fb:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0405:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit104
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x043d
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn7
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x0431
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0431:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x043d:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit105
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x048f
                java.lang.Object r11 = r15.f90n
                java.lang.Object r12 = r15.f92sn
                java.lang.Object r1 = r6.f94i
                r15.f90n = r1
                java.lang.Object r1 = r6.f94i
                r15.f92sn = r1
                gnu.mapping.SimpleSymbol r1 = gnu.kawa.slib.pregexp.Lit5
                gnu.lists.PairWithPosition r2 = gnu.kawa.slib.pregexp.Lit106
                gnu.expr.GenericProc r3 = kawa.lib.C0619lists.cadr
                java.lang.Object r4 = r6.re$1
                java.lang.Object r3 = r3.apply1(r4)
                gnu.mapping.SimpleSymbol r4 = gnu.kawa.slib.pregexp.Lit12
                gnu.lists.Pair r1 = gnu.lists.LList.list4(r1, r2, r3, r4)
                gnu.math.IntNum r2 = gnu.kawa.slib.pregexp.Lit73
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn8
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                r15.f90n = r11
                r15.f92sn = r12
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x0485
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x0485:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x048f:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit107
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x04e1
                java.lang.Object r11 = r15.f90n
                java.lang.Object r12 = r15.f92sn
                java.lang.Object r1 = r6.f94i
                r15.f90n = r1
                java.lang.Object r1 = r6.f94i
                r15.f92sn = r1
                gnu.mapping.SimpleSymbol r1 = gnu.kawa.slib.pregexp.Lit5
                gnu.lists.PairWithPosition r2 = gnu.kawa.slib.pregexp.Lit108
                gnu.expr.GenericProc r3 = kawa.lib.C0619lists.cadr
                java.lang.Object r4 = r6.re$1
                java.lang.Object r3 = r3.apply1(r4)
                gnu.mapping.SimpleSymbol r4 = gnu.kawa.slib.pregexp.Lit12
                gnu.lists.Pair r1 = gnu.lists.LList.list4(r1, r2, r3, r4)
                gnu.math.IntNum r2 = gnu.kawa.slib.pregexp.Lit73
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn9
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                r15.f90n = r11
                r15.f92sn = r12
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x04d5
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x04d5:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r3 = r6.f94i
                java.lang.Object r1 = r1.apply2(r2, r3)
                goto L_0x003d
            L_0x04e1:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit109
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x0517
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.mapping.Procedure r3 = r15.identity
                gnu.expr.ModuleMethod r4 = gnu.kawa.slib.pregexp.lambda$Fn10
                java.lang.Object r10 = r15.lambda3sub(r1, r2, r3, r4)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r10 == r1) goto L_0x050d
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f98sk
                java.lang.Object r1 = r1.apply2(r2, r10)
                goto L_0x003d
            L_0x050d:
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x0517:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit60
                java.lang.Object r14 = r1.apply2(r13, r2)
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 == r1) goto L_0x0551
                java.lang.Boolean r1 = java.lang.Boolean.FALSE
                if (r14 == r1) goto L_0x055d
            L_0x0527:
                java.lang.Object r1 = r15.case$Mnsensitive$Qu
                r6.old = r1
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.car
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit60
                java.lang.Object r1 = r1.apply2(r2, r3)
                r15.case$Mnsensitive$Qu = r1
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Object r2 = r6.f94i
                gnu.expr.ModuleMethod r3 = r6.lambda$Fn11
                gnu.expr.ModuleMethod r4 = r6.lambda$Fn12
                java.lang.Object r1 = r15.lambda3sub(r1, r2, r3, r4)
                goto L_0x003d
            L_0x0551:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit61
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 != r2) goto L_0x0527
            L_0x055d:
                gnu.kawa.functions.IsEqv r1 = kawa.standard.Scheme.isEqv
                gnu.mapping.SimpleSymbol r2 = gnu.kawa.slib.pregexp.Lit68
                java.lang.Object r1 = r1.apply2(r13, r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x05c2
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE     // Catch:{ ClassCastException -> 0x0650 }
                if (r1 == r2) goto L_0x05bb
                r1 = 1
            L_0x0576:
                int r1 = r1 + 1
                r1 = r1 & 1
                r6.maximal$Qu = r1
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.caddr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                r6.f95p = r1
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.cadddr
                java.lang.Object r2 = r6.re$1
                java.lang.Object r1 = r1.apply1(r2)
                r6.f96q = r1
                boolean r1 = r6.maximal$Qu
                if (r1 == 0) goto L_0x05bf
                java.lang.Object r1 = r6.f96q
                java.lang.Boolean r2 = java.lang.Boolean.FALSE     // Catch:{ ClassCastException -> 0x065a }
                if (r1 == r2) goto L_0x05bd
                r1 = 1
            L_0x059b:
                int r1 = r1 + 1
                r1 = r1 & 1
            L_0x059f:
                r6.could$Mnloop$Mninfinitely$Qu = r1
                gnu.expr.GenericProc r1 = kawa.lib.C0619lists.car
                gnu.expr.GenericProc r2 = kawa.lib.C0619lists.cddddr
                java.lang.Object r3 = r6.re$1
                java.lang.Object r2 = r2.apply1(r3)
                java.lang.Object r1 = r1.apply1(r2)
                r6.f97re = r1
                gnu.math.IntNum r1 = gnu.kawa.slib.pregexp.Lit73
                java.lang.Object r2 = r6.f94i
                java.lang.Object r1 = r6.lambda8loupP(r1, r2)
                goto L_0x003d
            L_0x05bb:
                r1 = 0
                goto L_0x0576
            L_0x05bd:
                r1 = 0
                goto L_0x059b
            L_0x05bf:
                boolean r1 = r6.maximal$Qu
                goto L_0x059f
            L_0x05c2:
                r1 = 1
                java.lang.Object[] r1 = new java.lang.Object[r1]
                r2 = 0
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit101
                r1[r2] = r3
                java.lang.Object r1 = gnu.kawa.slib.pregexp.pregexpError$V(r1)
                goto L_0x003d
            L_0x05d0:
                gnu.kawa.functions.NumberCompare r1 = kawa.standard.Scheme.numGEq
                java.lang.Object r2 = r6.f94i
                java.lang.Object r3 = r15.f90n
                java.lang.Object r1 = r1.apply2(r2, r3)
                java.lang.Boolean r2 = java.lang.Boolean.FALSE
                if (r1 == r2) goto L_0x05e8
                gnu.kawa.functions.ApplyToArgs r1 = kawa.standard.Scheme.applyToArgs
                java.lang.Object r2 = r6.f93fk
                java.lang.Object r1 = r1.apply1(r2)
                goto L_0x003d
            L_0x05e8:
                r1 = 1
                java.lang.Object[] r1 = new java.lang.Object[r1]
                r2 = 0
                gnu.mapping.SimpleSymbol r3 = gnu.kawa.slib.pregexp.Lit101
                r1[r2] = r3
                java.lang.Object r1 = gnu.kawa.slib.pregexp.pregexpError$V(r1)
                goto L_0x003d
            L_0x05f6:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 1
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x0600:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 2
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x060a:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 1
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x0614:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 2
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x061e:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 1
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x0628:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "string-ref"
                r5 = 2
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x0632:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "substring"
                r5 = 1
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x063c:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "substring"
                r5 = 2
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x0646:
                r1 = move-exception
                gnu.mapping.WrongType r2 = new gnu.mapping.WrongType
                java.lang.String r4 = "substring"
                r5 = 3
                r2.<init>(r1, r4, r5, r3)
                throw r2
            L_0x0650:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "maximal?"
                r5 = -2
                r3.<init>(r2, r4, r5, r1)
                throw r3
            L_0x065a:
                r2 = move-exception
                gnu.mapping.WrongType r3 = new gnu.mapping.WrongType
                java.lang.String r4 = "could-loop-infinitely?"
                r5 = -2
                r3.<init>(r2, r4, r5, r1)
                throw r3
            */ throw new UnsupportedOperationException ( "Method not decompiled: gnu.kawa.slib.pregexp.frame.lambda3sub(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object):java.lang.Object" ) ; }
Code decompiled incorrectly, please refer to instructions dump.
Code decompiled incorrectly please refer to instructions dump .