2017-02-27 18 views
0

開始および終了パターンに基づいて複数の行を削除したいとします。パターンに基づいて複数の行を削除する

(* ---------------------------------------------------------- *) 
(* --- Assertion 'A' (file input.c, line 114)    --- *) 
(* ---------------------------------------------------------- *) 

goal main_assert_A: 
    let r_0 = 0.01e0 * 450.0e0 : real in 
    let r_1 = 1.0e0 * 50.0e0 : real in 
    let r_2 = ((-10.0972e0) * 50.0e0) + ((-131.494e0) * 450.0e0) 
     + ((-872.5367e0) * 50.0e0) : real in 
    let r_3 = (-0.0001e0) * r_2 : real in 
    let r_4 = ((-0.0531e0) * 450.0e0) + ((-0.0604e0) * 50.0e0) 
     + (0.9974e0 * 50.0e0) + (0.0247e0 * r_2) : real in 
    let r_5 = (-10.0972e0) * r_4 : real in 
    let r_6 = ((-0.0003e0) * 450.0e0) + (0.01e0 * 50.0e0) 
     + (0.9997e0 * 450.0e0) + (0.0001e0 * r_2) : real in 
    let r_7 = (-131.494e0) * r_6 : real in 
    let r_8 = 0.01e0 * r_6 : real in 
    let r_9 = (-0.0003e0) * r_6 : real in 
    let r_10 = 0.01e0 * r_4 : real in 
    let r_11 = 0.9997e0 * r_6 : real in 
    let r_12 = (-0.0531e0) * r_6 : real in 
    let r_13 = (-0.0604e0) * r_4 : real in 
    let r_14 = 0.9974e0 * r_4 : real in 
    forall erraA_0 : real. 
    let r_15 = erraA_0 + r_0 + r_1 + r_3 : real in 
    let r_16 = r_5 + r_7 + ((-872.5367e0) * r_15) : real in 
    let r_17 = r_8 + (1.0e0 * r_15) + ((-0.0001e0) * r_16) : real in 
    let r_18 = r_9 + r_10 + r_11 + (0.0001e0 * r_16) : real in 
    let r_19 = r_12 + r_13 + r_14 + (0.0247e0 * r_16) : real in 
    let r_20 = ((-872.5367e0) * r_17) + ((-10.0972e0) * r_19) 
     + ((-131.494e0) * r_18) : real in 
    let r_21 = (1.0e0 * r_17) + (0.01e0 * r_18) 
     + ((-0.0001e0) * r_20) : real in 
    let r_22 = ((-0.0003e0) * r_18) + (0.01e0 * r_19) + (0.9997e0 * r_18) 
     + (0.0001e0 * r_20) : real in 
    let r_23 = ((-0.0531e0) * r_18) + ((-0.0604e0) * r_19) + (0.9974e0 * r_19) 
     + (0.0247e0 * r_20) : real in 
    let r_24 = ((-872.5367e0) * r_21) + ((-10.0972e0) * r_23) 
     + ((-131.494e0) * r_22) : real in 
    let r_25 = (1.0e0 * r_21) + (0.01e0 * r_22) 
     + ((-0.0001e0) * r_24) : real in 
    let r_26 = ((-0.0003e0) * r_22) + (0.01e0 * r_23) + (0.9997e0 * r_22) 
     + (0.0001e0 * r_24) : real in 
    let r_27 = ((-0.0531e0) * r_22) + ((-0.0604e0) * r_23) + (0.9974e0 * r_23) 
     + (0.0247e0 * r_24) : real in 
    let r_28 = ((-872.5367e0) * r_25) + ((-10.0972e0) * r_27) 
     + ((-131.494e0) * r_26) : real in 
    let r_29 = (1.0e0 * r_25) + (0.01e0 * r_26) 
     + ((-0.0001e0) * r_28) : real in 
    let r_30 = ((-0.0003e0) * r_26) + (0.01e0 * r_27) + (0.9997e0 * r_26) 
     + (0.0001e0 * r_28) : real in 
    let r_31 = ((-0.0531e0) * r_26) + ((-0.0604e0) * r_27) + (0.9974e0 * r_27) 
     + (0.0247e0 * r_28) : real in 
    let r_32 = ((-872.5367e0) * r_29) + ((-10.0972e0) * r_31) 
     + ((-131.494e0) * r_30) : real in 
    let r_33 = (1.0e0 * r_29) + (0.01e0 * r_30) 
     + ((-0.0001e0) * r_32) : real in 
    let r_34 = ((-0.0003e0) * r_30) + (0.01e0 * r_31) + (0.9997e0 * r_30) 
     + (0.0001e0 * r_32) : real in 
    let r_35 = ((-0.0531e0) * r_30) + ((-0.0604e0) * r_31) + (0.9974e0 * r_31) 
     + (0.0247e0 * r_32) : real in 
    let r_36 = ((-872.5367e0) * r_33) + ((-10.0972e0) * r_35) 
     + ((-131.494e0) * r_34) : real in 
    let r_37 = (1.0e0 * r_33) + (0.01e0 * r_34) 
     + ((-0.0001e0) * r_36) : real in 
    let r_38 = ((-0.0003e0) * r_34) + (0.01e0 * r_35) + (0.9997e0 * r_34) 
     + (0.0001e0 * r_36) : real in 
    let r_39 = ((-0.0531e0) * r_34) + ((-0.0604e0) * r_35) + (0.9974e0 * r_35) 
     + (0.0247e0 * r_36) : real in 
    let r_40 = ((-872.5367e0) * r_37) + ((-10.0972e0) * r_39) 
     + ((-131.494e0) * r_38) : real in 
    let r_41 = (1.0e0 * r_37) + (0.01e0 * r_38) 
     + ((-0.0001e0) * r_40) : real in 
    let r_42 = ((-0.0003e0) * r_38) + (0.01e0 * r_39) + (0.9997e0 * r_38) 
     + (0.0001e0 * r_40) : real in 
    let r_43 = ((-0.0531e0) * r_38) + ((-0.0604e0) * r_39) + (0.9974e0 * r_39) 
     + (0.0247e0 * r_40) : real in 
    let r_44 = ((-872.5367e0) * r_41) + ((-10.0972e0) * r_43) 
     + ((-131.494e0) * r_42) : real in 
    let r_45 = (1.0e0 * r_41) + (0.01e0 * r_42) 
     + ((-0.0001e0) * r_44) : real in 
    let r_46 = ((-0.0003e0) * r_42) + (0.01e0 * r_43) + (0.9997e0 * r_42) 
     + (0.0001e0 * r_44) : real in 
    let r_47 = ((-0.0531e0) * r_42) + ((-0.0604e0) * r_43) + (0.9974e0 * r_43) 
     + (0.0247e0 * r_44) : real in 
    let r_48 = ((-872.5367e0) * r_45) + ((-10.0972e0) * r_47) 
     + ((-131.494e0) * r_46) : real in 
    let r_49 = (1.0e0 * r_45) + (0.01e0 * r_46) 
     + ((-0.0001e0) * r_48) : real in 
    let r_50 = ((-0.0003e0) * r_46) + (0.01e0 * r_47) + (0.9997e0 * r_46) 
     + (0.0001e0 * r_48) : real in 
    let r_51 = ((-0.0531e0) * r_46) + ((-0.0604e0) * r_47) + (0.9974e0 * r_47) 
     + (0.0247e0 * r_48) : real in 
    let r_52 = ((-872.5367e0) * r_49) + ((-10.0972e0) * r_51) 
     + ((-131.494e0) * r_50) : real in 
    let r_53 = (1.0e0 * r_49) + (0.01e0 * r_50) 
     + ((-0.0001e0) * r_52) : real in 
    let r_54 = ((-0.0003e0) * r_50) + (0.01e0 * r_51) + (0.9997e0 * r_50) 
     + (0.0001e0 * r_52) : real in 
    let r_55 = ((-0.0531e0) * r_50) + ((-0.0604e0) * r_51) + (0.9974e0 * r_51) 
     + (0.0247e0 * r_52) : real in 
    let r_56 = ((-872.5367e0) * r_53) + ((-10.0972e0) * r_55) 
     + ((-131.494e0) * r_54) : real in 
    let r_57 = (1.0e0 * r_53) + (0.01e0 * r_54) 
     + ((-0.0001e0) * r_56) : real in 
    let r_58 = ((-0.0003e0) * r_54) + (0.01e0 * r_55) + (0.9997e0 * r_54) 
     + (0.0001e0 * r_56) : real in 
    let r_59 = ((-0.0531e0) * r_54) + ((-0.0604e0) * r_55) + (0.9974e0 * r_55) 
     + (0.0247e0 * r_56) : real in 
    let r_60 = ((-872.5367e0) * r_57) + ((-10.0972e0) * r_59) 
     + ((-131.494e0) * r_58) : real in 
    let r_61 = (1.0e0 * r_57) + (0.01e0 * r_58) 
     + ((-0.0001e0) * r_60) : real in 
    let r_62 = ((-0.0003e0) * r_58) + (0.01e0 * r_59) + (0.9997e0 * r_58) 
     + (0.0001e0 * r_60) : real in 
    let r_63 = ((-0.0531e0) * r_58) + ((-0.0604e0) * r_59) + (0.9974e0 * r_59) 
     + (0.0247e0 * r_60) : real in 
    let r_64 = ((-872.5367e0) * r_61) + ((-10.0972e0) * r_63) 
     + ((-131.494e0) * r_62) : real in 
    let r_65 = (1.0e0 * r_61) + (0.01e0 * r_62) 
     + ((-0.0001e0) * r_64) : real in 
    let r_66 = ((-0.0003e0) * r_62) + (0.01e0 * r_63) + (0.9997e0 * r_62) 
     + (0.0001e0 * r_64) : real in 
    let r_67 = ((-0.0531e0) * r_62) + ((-0.0604e0) * r_63) + (0.9974e0 * r_63) 
     + (0.0247e0 * r_64) : real in 
    let r_68 = ((-872.5367e0) * r_65) + ((-10.0972e0) * r_67) 
     + ((-131.494e0) * r_66) : real in 
    let r_69 = (1.0e0 * r_65) + (0.01e0 * r_66) 
     + ((-0.0001e0) * r_68) : real in 
    let r_70 = ((-0.0003e0) * r_66) + (0.01e0 * r_67) + (0.9997e0 * r_66) 
     + (0.0001e0 * r_68) : real in 
    let r_71 = ((-0.0531e0) * r_66) + ((-0.0604e0) * r_67) + (0.9974e0 * r_67) 
     + (0.0247e0 * r_68) : real in 
    let r_72 = ((-872.5367e0) * r_69) + ((-10.0972e0) * r_71) 
     + ((-131.494e0) * r_70) : real in 
    let r_73 = (1.0e0 * r_69) + (0.01e0 * r_70) 
     + ((-0.0001e0) * r_72) : real in 
    let r_74 = ((-0.0003e0) * r_70) + (0.01e0 * r_71) + (0.9997e0 * r_70) 
     + (0.0001e0 * r_72) : real in 
    let r_75 = ((-0.0531e0) * r_70) + ((-0.0604e0) * r_71) + (0.9974e0 * r_71) 
     + (0.0247e0 * r_72) : real in 
    let r_76 = ((-872.5367e0) * r_73) + ((-10.0972e0) * r_75) 
     + ((-131.494e0) * r_74) : real in 
    let r_77 = (1.0e0 * r_73) + (0.01e0 * r_74) 
     + ((-0.0001e0) * r_76) : real in 
    let r_78 = ((-0.0003e0) * r_74) + (0.01e0 * r_75) + (0.9997e0 * r_74) 
     + (0.0001e0 * r_76) : real in 
    let r_79 = ((-0.0531e0) * r_74) + ((-0.0604e0) * r_75) + (0.9974e0 * r_75) 
     + (0.0247e0 * r_76) : real in 
    let r_80 = ((-872.5367e0) * r_77) + ((-10.0972e0) * r_79) 
     + ((-131.494e0) * r_78) : real in 
    let r_81 = (1.0e0 * r_77) + (0.01e0 * r_78) 
     + ((-0.0001e0) * r_80) : real in 
    let r_82 = ((-0.0003e0) * r_78) + (0.01e0 * r_79) + (0.9997e0 * r_78) 
     + (0.0001e0 * r_80) : real in 
    let r_83 = ((-0.0531e0) * r_78) + ((-0.0604e0) * r_79) + (0.9974e0 * r_79) 
     + (0.0247e0 * r_80) : real in 
    let r_84 = ((-872.5367e0) * r_81) + ((-10.0972e0) * r_83) 
     + ((-131.494e0) * r_82) : real in 
    let r_85 = (-0.0001e0) * r_84 : real in 
    let r_86 = (1.0e0 * r_81) + (0.01e0 * r_82) + r_85 : real in 
    let r_87 = ((-0.0003e0) * r_82) + (0.01e0 * r_83) + (0.9997e0 * r_82) 
     + (0.0001e0 * r_84) : real in 
    let r_88 = r_85 + (1.0e0 * r_86) + (0.01e0 * r_87) : real in 
    is_float32(erraA_0) -> 
    is_float32(r_15) -> 
    is_float32(r_16) -> 
    is_float32(r_17) -> 
    is_float32(r_18) -> 
    is_float32(r_19) -> 
    is_float32(r_20) -> 
    is_float32(r_21) -> 
    is_float32(r_22) -> 
    is_float32(r_23) -> 
    is_float32(r_24) -> 
    is_float32(r_25) -> 
    is_float32(r_26) -> 
    is_float32(r_27) -> 
    is_float32(r_28) -> 
    is_float32(r_29) -> 
    is_float32(r_30) -> 
    is_float32(r_31) -> 
    is_float32(r_32) -> 
    is_float32(r_33) -> 
    is_float32(r_34) -> 
    is_float32(r_35) -> 
    is_float32(r_36) -> 
    is_float32(r_37) -> 
    is_float32(r_38) -> 
    is_float32(r_39) -> 
    is_float32(r_40) -> 
    is_float32(r_41) -> 
    is_float32(r_42) -> 
    is_float32(r_43) -> 
    is_float32(r_44) -> 
    is_float32(r_45) -> 
    is_float32(r_46) -> 
    is_float32(r_47) -> 
    is_float32(r_48) -> 
    is_float32(r_49) -> 
    is_float32(r_50) -> 
    is_float32(r_51) -> 
    is_float32(r_52) -> 
    is_float32(r_53) -> 
    is_float32(r_54) -> 
    is_float32(r_55) -> 
    is_float32(r_56) -> 
    is_float32(r_57) -> 
    is_float32(r_58) -> 
    is_float32(r_59) -> 
    is_float32(r_60) -> 
    is_float32(r_61) -> 
    is_float32(r_62) -> 
    is_float32(r_63) -> 
    is_float32(r_64) -> 
    is_float32(r_65) -> 
    is_float32(r_66) -> 
    is_float32(r_67) -> 
    is_float32(r_68) -> 
    is_float32(r_69) -> 
    is_float32(r_70) -> 
    is_float32(r_71) -> 
    is_float32(r_72) -> 
    is_float32(r_73) -> 
    is_float32(r_74) -> 
    is_float32(r_75) -> 
    is_float32(r_76) -> 
    is_float32(r_77) -> 
    is_float32(r_78) -> 
    is_float32(r_79) -> 
    is_float32(r_80) -> 
    is_float32(r_81) -> 
    is_float32(r_82) -> 
    is_float32(r_83) -> 
    is_float32(r_84) -> 
    is_float32(r_86) -> 
    is_float32(r_87) -> 
    is_float32(((-0.0531e0) * r_82) + ((-0.0604e0) * r_83) + (0.9974e0 * r_83) 
    + (0.0247e0 * r_84)) -> 
    is_float32(r_88) -> 
    (r_88 < 36.0) 

コードのために私はis_float32で始まるすべての行を削除したいと思います。 だから、最終的なコードは

(* ---------------------------------------------------------- *) 
(* --- Assertion 'A' (file input.c, line 114)    --- *) 
(* ---------------------------------------------------------- *) 

goal main_assert_A: 
    let r_0 = 0.01e0 * 450.0e0 : real in 
    let r_1 = 1.0e0 * 50.0e0 : real in 
    let r_2 = ((-10.0972e0) * 50.0e0) + ((-131.494e0) * 450.0e0) 
     + ((-872.5367e0) * 50.0e0) : real in 
    let r_3 = (-0.0001e0) * r_2 : real in 
    let r_4 = ((-0.0531e0) * 450.0e0) + ((-0.0604e0) * 50.0e0) 
     + (0.9974e0 * 50.0e0) + (0.0247e0 * r_2) : real in 
    let r_5 = (-10.0972e0) * r_4 : real in 
    let r_6 = ((-0.0003e0) * 450.0e0) + (0.01e0 * 50.0e0) 
     + (0.9997e0 * 450.0e0) + (0.0001e0 * r_2) : real in 
    let r_7 = (-131.494e0) * r_6 : real in 
    let r_8 = 0.01e0 * r_6 : real in 
    let r_9 = (-0.0003e0) * r_6 : real in 
    let r_10 = 0.01e0 * r_4 : real in 
    let r_11 = 0.9997e0 * r_6 : real in 
    let r_12 = (-0.0531e0) * r_6 : real in 
    let r_13 = (-0.0604e0) * r_4 : real in 
    let r_14 = 0.9974e0 * r_4 : real in 
    forall erraA_0 : real. 
    let r_15 = erraA_0 + r_0 + r_1 + r_3 : real in 
    let r_16 = r_5 + r_7 + ((-872.5367e0) * r_15) : real in 
    let r_17 = r_8 + (1.0e0 * r_15) + ((-0.0001e0) * r_16) : real in 
    let r_18 = r_9 + r_10 + r_11 + (0.0001e0 * r_16) : real in 
    let r_19 = r_12 + r_13 + r_14 + (0.0247e0 * r_16) : real in 
    let r_20 = ((-872.5367e0) * r_17) + ((-10.0972e0) * r_19) 
     + ((-131.494e0) * r_18) : real in 
    let r_21 = (1.0e0 * r_17) + (0.01e0 * r_18) 
     + ((-0.0001e0) * r_20) : real in 
    let r_22 = ((-0.0003e0) * r_18) + (0.01e0 * r_19) + (0.9997e0 * r_18) 
     + (0.0001e0 * r_20) : real in 
    let r_23 = ((-0.0531e0) * r_18) + ((-0.0604e0) * r_19) + (0.9974e0 * r_19) 
     + (0.0247e0 * r_20) : real in 
    let r_24 = ((-872.5367e0) * r_21) + ((-10.0972e0) * r_23) 
     + ((-131.494e0) * r_22) : real in 
    let r_25 = (1.0e0 * r_21) + (0.01e0 * r_22) 
     + ((-0.0001e0) * r_24) : real in 
    let r_26 = ((-0.0003e0) * r_22) + (0.01e0 * r_23) + (0.9997e0 * r_22) 
     + (0.0001e0 * r_24) : real in 
    let r_27 = ((-0.0531e0) * r_22) + ((-0.0604e0) * r_23) + (0.9974e0 * r_23) 
     + (0.0247e0 * r_24) : real in 
    let r_28 = ((-872.5367e0) * r_25) + ((-10.0972e0) * r_27) 
     + ((-131.494e0) * r_26) : real in 
    let r_29 = (1.0e0 * r_25) + (0.01e0 * r_26) 
     + ((-0.0001e0) * r_28) : real in 
    let r_30 = ((-0.0003e0) * r_26) + (0.01e0 * r_27) + (0.9997e0 * r_26) 
     + (0.0001e0 * r_28) : real in 
    let r_31 = ((-0.0531e0) * r_26) + ((-0.0604e0) * r_27) + (0.9974e0 * r_27) 
     + (0.0247e0 * r_28) : real in 
    let r_32 = ((-872.5367e0) * r_29) + ((-10.0972e0) * r_31) 
     + ((-131.494e0) * r_30) : real in 
    let r_33 = (1.0e0 * r_29) + (0.01e0 * r_30) 
     + ((-0.0001e0) * r_32) : real in 
    let r_34 = ((-0.0003e0) * r_30) + (0.01e0 * r_31) + (0.9997e0 * r_30) 
     + (0.0001e0 * r_32) : real in 
    let r_35 = ((-0.0531e0) * r_30) + ((-0.0604e0) * r_31) + (0.9974e0 * r_31) 
     + (0.0247e0 * r_32) : real in 
    let r_36 = ((-872.5367e0) * r_33) + ((-10.0972e0) * r_35) 
     + ((-131.494e0) * r_34) : real in 
    let r_37 = (1.0e0 * r_33) + (0.01e0 * r_34) 
     + ((-0.0001e0) * r_36) : real in 
    let r_38 = ((-0.0003e0) * r_34) + (0.01e0 * r_35) + (0.9997e0 * r_34) 
     + (0.0001e0 * r_36) : real in 
    let r_39 = ((-0.0531e0) * r_34) + ((-0.0604e0) * r_35) + (0.9974e0 * r_35) 
     + (0.0247e0 * r_36) : real in 
    let r_40 = ((-872.5367e0) * r_37) + ((-10.0972e0) * r_39) 
     + ((-131.494e0) * r_38) : real in 
    let r_41 = (1.0e0 * r_37) + (0.01e0 * r_38) 
     + ((-0.0001e0) * r_40) : real in 
    let r_42 = ((-0.0003e0) * r_38) + (0.01e0 * r_39) + (0.9997e0 * r_38) 
     + (0.0001e0 * r_40) : real in 
    let r_43 = ((-0.0531e0) * r_38) + ((-0.0604e0) * r_39) + (0.9974e0 * r_39) 
     + (0.0247e0 * r_40) : real in 
    let r_44 = ((-872.5367e0) * r_41) + ((-10.0972e0) * r_43) 
     + ((-131.494e0) * r_42) : real in 
    let r_45 = (1.0e0 * r_41) + (0.01e0 * r_42) 
     + ((-0.0001e0) * r_44) : real in 
    let r_46 = ((-0.0003e0) * r_42) + (0.01e0 * r_43) + (0.9997e0 * r_42) 
     + (0.0001e0 * r_44) : real in 
    let r_47 = ((-0.0531e0) * r_42) + ((-0.0604e0) * r_43) + (0.9974e0 * r_43) 
     + (0.0247e0 * r_44) : real in 
    let r_48 = ((-872.5367e0) * r_45) + ((-10.0972e0) * r_47) 
     + ((-131.494e0) * r_46) : real in 
    let r_49 = (1.0e0 * r_45) + (0.01e0 * r_46) 
     + ((-0.0001e0) * r_48) : real in 
    let r_50 = ((-0.0003e0) * r_46) + (0.01e0 * r_47) + (0.9997e0 * r_46) 
     + (0.0001e0 * r_48) : real in 
    let r_51 = ((-0.0531e0) * r_46) + ((-0.0604e0) * r_47) + (0.9974e0 * r_47) 
     + (0.0247e0 * r_48) : real in 
    let r_52 = ((-872.5367e0) * r_49) + ((-10.0972e0) * r_51) 
     + ((-131.494e0) * r_50) : real in 
    let r_53 = (1.0e0 * r_49) + (0.01e0 * r_50) 
     + ((-0.0001e0) * r_52) : real in 
    let r_54 = ((-0.0003e0) * r_50) + (0.01e0 * r_51) + (0.9997e0 * r_50) 
     + (0.0001e0 * r_52) : real in 
    let r_55 = ((-0.0531e0) * r_50) + ((-0.0604e0) * r_51) + (0.9974e0 * r_51) 
     + (0.0247e0 * r_52) : real in 
    let r_56 = ((-872.5367e0) * r_53) + ((-10.0972e0) * r_55) 
     + ((-131.494e0) * r_54) : real in 
    let r_57 = (1.0e0 * r_53) + (0.01e0 * r_54) 
     + ((-0.0001e0) * r_56) : real in 
    let r_58 = ((-0.0003e0) * r_54) + (0.01e0 * r_55) + (0.9997e0 * r_54) 
     + (0.0001e0 * r_56) : real in 
    let r_59 = ((-0.0531e0) * r_54) + ((-0.0604e0) * r_55) + (0.9974e0 * r_55) 
     + (0.0247e0 * r_56) : real in 
    let r_60 = ((-872.5367e0) * r_57) + ((-10.0972e0) * r_59) 
     + ((-131.494e0) * r_58) : real in 
    let r_61 = (1.0e0 * r_57) + (0.01e0 * r_58) 
     + ((-0.0001e0) * r_60) : real in 
    let r_62 = ((-0.0003e0) * r_58) + (0.01e0 * r_59) + (0.9997e0 * r_58) 
     + (0.0001e0 * r_60) : real in 
    let r_63 = ((-0.0531e0) * r_58) + ((-0.0604e0) * r_59) + (0.9974e0 * r_59) 
     + (0.0247e0 * r_60) : real in 
    let r_64 = ((-872.5367e0) * r_61) + ((-10.0972e0) * r_63) 
     + ((-131.494e0) * r_62) : real in 
    let r_65 = (1.0e0 * r_61) + (0.01e0 * r_62) 
     + ((-0.0001e0) * r_64) : real in 
    let r_66 = ((-0.0003e0) * r_62) + (0.01e0 * r_63) + (0.9997e0 * r_62) 
     + (0.0001e0 * r_64) : real in 
    let r_67 = ((-0.0531e0) * r_62) + ((-0.0604e0) * r_63) + (0.9974e0 * r_63) 
     + (0.0247e0 * r_64) : real in 
    let r_68 = ((-872.5367e0) * r_65) + ((-10.0972e0) * r_67) 
     + ((-131.494e0) * r_66) : real in 
    let r_69 = (1.0e0 * r_65) + (0.01e0 * r_66) 
     + ((-0.0001e0) * r_68) : real in 
    let r_70 = ((-0.0003e0) * r_66) + (0.01e0 * r_67) + (0.9997e0 * r_66) 
     + (0.0001e0 * r_68) : real in 
    let r_71 = ((-0.0531e0) * r_66) + ((-0.0604e0) * r_67) + (0.9974e0 * r_67) 
     + (0.0247e0 * r_68) : real in 
    let r_72 = ((-872.5367e0) * r_69) + ((-10.0972e0) * r_71) 
     + ((-131.494e0) * r_70) : real in 
    let r_73 = (1.0e0 * r_69) + (0.01e0 * r_70) 
     + ((-0.0001e0) * r_72) : real in 
    let r_74 = ((-0.0003e0) * r_70) + (0.01e0 * r_71) + (0.9997e0 * r_70) 
     + (0.0001e0 * r_72) : real in 
    let r_75 = ((-0.0531e0) * r_70) + ((-0.0604e0) * r_71) + (0.9974e0 * r_71) 
     + (0.0247e0 * r_72) : real in 
    let r_76 = ((-872.5367e0) * r_73) + ((-10.0972e0) * r_75) 
     + ((-131.494e0) * r_74) : real in 
    let r_77 = (1.0e0 * r_73) + (0.01e0 * r_74) 
     + ((-0.0001e0) * r_76) : real in 
    let r_78 = ((-0.0003e0) * r_74) + (0.01e0 * r_75) + (0.9997e0 * r_74) 
     + (0.0001e0 * r_76) : real in 
    let r_79 = ((-0.0531e0) * r_74) + ((-0.0604e0) * r_75) + (0.9974e0 * r_75) 
     + (0.0247e0 * r_76) : real in 
    let r_80 = ((-872.5367e0) * r_77) + ((-10.0972e0) * r_79) 
     + ((-131.494e0) * r_78) : real in 
    let r_81 = (1.0e0 * r_77) + (0.01e0 * r_78) 
     + ((-0.0001e0) * r_80) : real in 
    let r_82 = ((-0.0003e0) * r_78) + (0.01e0 * r_79) + (0.9997e0 * r_78) 
     + (0.0001e0 * r_80) : real in 
    let r_83 = ((-0.0531e0) * r_78) + ((-0.0604e0) * r_79) + (0.9974e0 * r_79) 
     + (0.0247e0 * r_80) : real in 
    let r_84 = ((-872.5367e0) * r_81) + ((-10.0972e0) * r_83) 
     + ((-131.494e0) * r_82) : real in 
    let r_85 = (-0.0001e0) * r_84 : real in 
    let r_86 = (1.0e0 * r_81) + (0.01e0 * r_82) + r_85 : real in 
    let r_87 = ((-0.0003e0) * r_82) + (0.01e0 * r_83) + (0.9997e0 * r_82) 
     + (0.0001e0 * r_84) : real in 
    let r_88 = r_85 + (1.0e0 * r_86) + (0.01e0 * r_87) : real in 
    (r_88 < 36.0) 

私の問題はsed delete multiple linesに似ていなければなりません。しかし、私はその解決策を理解することができず、私の問題にも適用できませんでした。

+0

私はサンプルコード場所を更新しましたそれは動作していません。親切にチェックしてください。 –

答えて

3

このawkは仕事をすることができます。

awk '/^is_float32/{d=1} !d; /->[[:space:]]*$/{d=0}' file 

let r_88 = r_85 + (1.0e0 * r_86) + (0.01e0 * r_87) : real in 
(r_88 < 36.0) 

このawkはフラグを設定し開始時にis_float32が発生した場合はになり、行末には->と0以上の空白が見つかるとリセットされます。フラグが設定されていない場合、つまり!dのチェックを使用している場合にのみ、行を出力します。私はawk'sレコードセパレータと遊ぶでしょう

+0

@SauravKumarGhosh:あなたの変更された質問に従って私の更新された回答をお試しください。 – anubhava

+1

[こちらのデモはこちらです](http://ideone.com/pi6cur) – anubhava

+0

なぜ私は実際のファイルで動作していないのか分かりません。 –

1

あなたはこのsedを試すことができます。

sed '/^abcd/{:loop; /->$/d; N; b loop}' file 

テスト:

$ cat file 
let r_88 = r_85 + (1.0e0 * r_86) + (0.01e0 * r_87) : real in 
is_float32(erraA_0) -> 
is_float32(((-0.0531e0) * r_82) + ((-0.0604e0) * r_83) + (0.9974e0 * r_83) 
+ (0.0247e0 * r_84)) -> 
(r_88 < 36.0) 

$ sed '/^is_float32/{:loop; /->$/d; N; b loop}' file 
let r_88 = r_85 + (1.0e0 * r_86) + (0.01e0 * r_87) : real in 
(r_88 < 36.0) 
+0

ウォーキングしていません。 –

0
awk -v RS='->' '{$1=$1;} !/^abcd/' del 
general code segment 1 
general code segment 2 
+1

動作しますが、すべての改行文字が削除されます。 –

0

awk '!/^abcd/' RS='->\n' ORS='->\n' file 

上記のスクリプトは、-> +改行で区切られたレコードに入力を分割します。これらのレコードがabcdで始まらない場合は、印刷されます。

出力:

general code segment 1 -> 
general code segment 2 -> 

あなたのファイルはあなたが使用する必要があり、その場合には、Windowsスタイルの行末を持っているように見えます:

awk '!/^abcd/' RS='->\r\n' ORS='->\r\n' file 
+0

動作していません。 –

+0

Windowsの行末を使用しているようです。私はそのためのソリューションを追加しました – hek2mgl

関連する問題