./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/egcd-ll_unwindbound5.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/nla-digbench-scaling/egcd-ll_unwindbound5.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 77987d39218daa3d8ca19fe9337f6493b276d704fa95c2d6fb7800ec30efdcea --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:20:40,987 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:20:40,989 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:20:41,033 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:20:41,033 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:20:41,036 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:20:41,037 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:20:41,040 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:20:41,041 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:20:41,045 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:20:41,046 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:20:41,047 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:20:41,048 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:20:41,050 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:20:41,051 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:20:41,053 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:20:41,054 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:20:41,055 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:20:41,057 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:20:41,062 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:20:41,063 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:20:41,064 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:20:41,065 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:20:41,066 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:20:41,072 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:20:41,072 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:20:41,072 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:20:41,074 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:20:41,074 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:20:41,075 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:20:41,075 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:20:41,076 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:20:41,077 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:20:41,078 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:20:41,079 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:20:41,079 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:20:41,080 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:20:41,080 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:20:41,080 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:20:41,081 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:20:41,082 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:20:41,082 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 17:20:41,110 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:20:41,111 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:20:41,111 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:20:41,111 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:20:41,112 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:20:41,112 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:20:41,113 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:20:41,113 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:20:41,113 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:20:41,113 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:20:41,114 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:20:41,114 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:20:41,114 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:20:41,115 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:20:41,115 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:20:41,115 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:20:41,115 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:20:41,115 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:20:41,116 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:20:41,116 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:20:41,116 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:20:41,116 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:20:41,116 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:20:41,116 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:20:41,117 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:20:41,117 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:20:41,117 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:20:41,118 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:20:41,118 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:20:41,119 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:20:41,119 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:20:41,119 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:20:41,119 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:20:41,119 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 77987d39218daa3d8ca19fe9337f6493b276d704fa95c2d6fb7800ec30efdcea [2022-02-20 17:20:41,349 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:20:41,372 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:20:41,374 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:20:41,375 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:20:41,376 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:20:41,377 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/egcd-ll_unwindbound5.c [2022-02-20 17:20:41,428 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/118f03d0e/d280cf8349394f57bf0e3deedc79a196/FLAG52490a9d5 [2022-02-20 17:20:41,770 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:20:41,770 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/egcd-ll_unwindbound5.c [2022-02-20 17:20:41,775 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/118f03d0e/d280cf8349394f57bf0e3deedc79a196/FLAG52490a9d5 [2022-02-20 17:20:41,784 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/118f03d0e/d280cf8349394f57bf0e3deedc79a196 [2022-02-20 17:20:41,786 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:20:41,787 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:20:41,789 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:20:41,789 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:20:41,791 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:20:41,792 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:20:41" (1/1) ... [2022-02-20 17:20:41,793 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@54675077 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:41, skipping insertion in model container [2022-02-20 17:20:41,793 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:20:41" (1/1) ... [2022-02-20 17:20:41,798 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:20:41,810 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:20:41,937 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/egcd-ll_unwindbound5.c[489,502] [2022-02-20 17:20:41,957 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:20:41,969 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:20:41,985 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/egcd-ll_unwindbound5.c[489,502] [2022-02-20 17:20:41,998 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:20:42,014 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:20:42,015 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:42 WrapperNode [2022-02-20 17:20:42,016 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:20:42,017 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:20:42,017 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:20:42,017 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:20:42,023 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:42" (1/1) ... [2022-02-20 17:20:42,030 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:42" (1/1) ... [2022-02-20 17:20:42,060 INFO L137 Inliner]: procedures = 14, calls = 16, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 59 [2022-02-20 17:20:42,060 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:20:42,061 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:20:42,062 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:20:42,062 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:20:42,068 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:42" (1/1) ... [2022-02-20 17:20:42,069 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:42" (1/1) ... [2022-02-20 17:20:42,079 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:42" (1/1) ... [2022-02-20 17:20:42,080 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:42" (1/1) ... [2022-02-20 17:20:42,083 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:42" (1/1) ... [2022-02-20 17:20:42,089 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:42" (1/1) ... [2022-02-20 17:20:42,093 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:42" (1/1) ... [2022-02-20 17:20:42,098 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:20:42,101 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:20:42,101 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:20:42,102 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:20:42,103 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:42" (1/1) ... [2022-02-20 17:20:42,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:20:42,122 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:42,140 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 17:20:42,163 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 17:20:42,185 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:20:42,186 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 17:20:42,186 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 17:20:42,186 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:20:42,186 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:20:42,186 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:20:42,186 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:20:42,189 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:20:42,235 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:20:42,236 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:20:42,363 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:20:42,369 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:20:42,370 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-02-20 17:20:42,371 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:20:42 BoogieIcfgContainer [2022-02-20 17:20:42,371 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:20:42,373 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:20:42,373 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:20:42,375 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:20:42,376 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:20:41" (1/3) ... [2022-02-20 17:20:42,376 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2bac19dd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:20:42, skipping insertion in model container [2022-02-20 17:20:42,376 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:42" (2/3) ... [2022-02-20 17:20:42,377 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2bac19dd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:20:42, skipping insertion in model container [2022-02-20 17:20:42,377 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:20:42" (3/3) ... [2022-02-20 17:20:42,378 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_unwindbound5.c [2022-02-20 17:20:42,382 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:20:42,382 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:20:42,423 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:20:42,442 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 17:20:42,453 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:20:42,470 INFO L276 IsEmpty]: Start isEmpty. Operand has 30 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:20:42,479 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 17:20:42,481 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:42,481 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:20:42,482 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:42,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:42,488 INFO L85 PathProgramCache]: Analyzing trace with hash 1165920622, now seen corresponding path program 1 times [2022-02-20 17:20:42,496 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:42,497 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1312893389] [2022-02-20 17:20:42,497 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:42,498 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:42,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:42,622 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:20:42,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:42,646 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-02-20 17:20:42,651 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-02-20 17:20:42,652 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#false} assume true; {34#false} is VALID [2022-02-20 17:20:42,653 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#false} {33#true} #61#return; {34#false} is VALID [2022-02-20 17:20:42,654 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-02-20 17:20:42,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:42,676 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-02-20 17:20:42,679 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-02-20 17:20:42,680 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#false} assume true; {34#false} is VALID [2022-02-20 17:20:42,680 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#false} {34#false} #63#return; {34#false} is VALID [2022-02-20 17:20:42,681 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {33#true} is VALID [2022-02-20 17:20:42,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {33#true} is VALID [2022-02-20 17:20:42,681 INFO L272 TraceCheckUtils]: 2: Hoare triple {33#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {33#true} is VALID [2022-02-20 17:20:42,682 INFO L290 TraceCheckUtils]: 3: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-02-20 17:20:42,683 INFO L290 TraceCheckUtils]: 4: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-02-20 17:20:42,684 INFO L290 TraceCheckUtils]: 5: Hoare triple {34#false} assume true; {34#false} is VALID [2022-02-20 17:20:42,685 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {34#false} {33#true} #61#return; {34#false} is VALID [2022-02-20 17:20:42,685 INFO L272 TraceCheckUtils]: 7: Hoare triple {34#false} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {33#true} is VALID [2022-02-20 17:20:42,685 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-02-20 17:20:42,686 INFO L290 TraceCheckUtils]: 9: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-02-20 17:20:42,686 INFO L290 TraceCheckUtils]: 10: Hoare triple {34#false} assume true; {34#false} is VALID [2022-02-20 17:20:42,687 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {34#false} {34#false} #63#return; {34#false} is VALID [2022-02-20 17:20:42,687 INFO L290 TraceCheckUtils]: 12: Hoare triple {34#false} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {34#false} is VALID [2022-02-20 17:20:42,688 INFO L290 TraceCheckUtils]: 13: Hoare triple {34#false} assume !true; {34#false} is VALID [2022-02-20 17:20:42,688 INFO L272 TraceCheckUtils]: 14: Hoare triple {34#false} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {34#false} is VALID [2022-02-20 17:20:42,689 INFO L290 TraceCheckUtils]: 15: Hoare triple {34#false} ~cond := #in~cond; {34#false} is VALID [2022-02-20 17:20:42,689 INFO L290 TraceCheckUtils]: 16: Hoare triple {34#false} assume 0 == ~cond; {34#false} is VALID [2022-02-20 17:20:42,689 INFO L290 TraceCheckUtils]: 17: Hoare triple {34#false} assume !false; {34#false} is VALID [2022-02-20 17:20:42,690 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 17:20:42,690 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:42,692 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1312893389] [2022-02-20 17:20:42,708 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1312893389] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:20:42,709 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:20:42,709 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:20:42,710 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1075412864] [2022-02-20 17:20:42,711 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:20:42,715 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-02-20 17:20:42,716 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:42,729 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 17:20:42,757 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:42,758 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:20:42,758 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:42,775 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:20:42,776 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:20:42,778 INFO L87 Difference]: Start difference. First operand has 30 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 17:20:42,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:42,842 INFO L93 Difference]: Finished difference Result 57 states and 89 transitions. [2022-02-20 17:20:42,843 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:20:42,843 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-02-20 17:20:42,843 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:42,845 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 17:20:42,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 89 transitions. [2022-02-20 17:20:42,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 17:20:42,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 89 transitions. [2022-02-20 17:20:42,861 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 89 transitions. [2022-02-20 17:20:42,967 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:42,975 INFO L225 Difference]: With dead ends: 57 [2022-02-20 17:20:42,976 INFO L226 Difference]: Without dead ends: 26 [2022-02-20 17:20:42,979 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 8 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:20:42,982 INFO L933 BasicCegarLoop]: 39 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:20:42,983 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:20:42,996 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-02-20 17:20:43,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 26. [2022-02-20 17:20:43,009 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:20:43,009 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand has 26 states, 14 states have (on average 1.2857142857142858) internal successors, (18), 15 states have internal predecessors, (18), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:20:43,010 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand has 26 states, 14 states have (on average 1.2857142857142858) internal successors, (18), 15 states have internal predecessors, (18), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:20:43,011 INFO L87 Difference]: Start difference. First operand 26 states. Second operand has 26 states, 14 states have (on average 1.2857142857142858) internal successors, (18), 15 states have internal predecessors, (18), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:20:43,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:43,015 INFO L93 Difference]: Finished difference Result 26 states and 35 transitions. [2022-02-20 17:20:43,015 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 35 transitions. [2022-02-20 17:20:43,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:43,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:43,017 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 14 states have (on average 1.2857142857142858) internal successors, (18), 15 states have internal predecessors, (18), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 26 states. [2022-02-20 17:20:43,017 INFO L87 Difference]: Start difference. First operand has 26 states, 14 states have (on average 1.2857142857142858) internal successors, (18), 15 states have internal predecessors, (18), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 26 states. [2022-02-20 17:20:43,021 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:43,022 INFO L93 Difference]: Finished difference Result 26 states and 35 transitions. [2022-02-20 17:20:43,022 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 35 transitions. [2022-02-20 17:20:43,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:43,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:43,023 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:20:43,023 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:20:43,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 14 states have (on average 1.2857142857142858) internal successors, (18), 15 states have internal predecessors, (18), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:20:43,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 35 transitions. [2022-02-20 17:20:43,028 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 35 transitions. Word has length 18 [2022-02-20 17:20:43,028 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:20:43,029 INFO L470 AbstractCegarLoop]: Abstraction has 26 states and 35 transitions. [2022-02-20 17:20:43,029 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 17:20:43,029 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 35 transitions. [2022-02-20 17:20:43,030 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 17:20:43,030 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:43,030 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:20:43,031 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:20:43,031 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:43,032 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:43,032 INFO L85 PathProgramCache]: Analyzing trace with hash -542319922, now seen corresponding path program 1 times [2022-02-20 17:20:43,032 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:43,032 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1650318233] [2022-02-20 17:20:43,033 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:43,033 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:43,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:43,097 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:20:43,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:43,118 INFO L290 TraceCheckUtils]: 0: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-02-20 17:20:43,119 INFO L290 TraceCheckUtils]: 1: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-02-20 17:20:43,119 INFO L290 TraceCheckUtils]: 2: Hoare triple {217#true} assume true; {217#true} is VALID [2022-02-20 17:20:43,120 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {217#true} {219#(= ~counter~0 0)} #61#return; {219#(= ~counter~0 0)} is VALID [2022-02-20 17:20:43,121 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-02-20 17:20:43,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:43,146 INFO L290 TraceCheckUtils]: 0: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-02-20 17:20:43,146 INFO L290 TraceCheckUtils]: 1: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-02-20 17:20:43,146 INFO L290 TraceCheckUtils]: 2: Hoare triple {217#true} assume true; {217#true} is VALID [2022-02-20 17:20:43,149 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {217#true} {219#(= ~counter~0 0)} #63#return; {219#(= ~counter~0 0)} is VALID [2022-02-20 17:20:43,149 INFO L290 TraceCheckUtils]: 0: Hoare triple {217#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {219#(= ~counter~0 0)} is VALID [2022-02-20 17:20:43,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {219#(= ~counter~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {219#(= ~counter~0 0)} is VALID [2022-02-20 17:20:43,150 INFO L272 TraceCheckUtils]: 2: Hoare triple {219#(= ~counter~0 0)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {217#true} is VALID [2022-02-20 17:20:43,150 INFO L290 TraceCheckUtils]: 3: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-02-20 17:20:43,151 INFO L290 TraceCheckUtils]: 4: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-02-20 17:20:43,151 INFO L290 TraceCheckUtils]: 5: Hoare triple {217#true} assume true; {217#true} is VALID [2022-02-20 17:20:43,151 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {217#true} {219#(= ~counter~0 0)} #61#return; {219#(= ~counter~0 0)} is VALID [2022-02-20 17:20:43,152 INFO L272 TraceCheckUtils]: 7: Hoare triple {219#(= ~counter~0 0)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {217#true} is VALID [2022-02-20 17:20:43,152 INFO L290 TraceCheckUtils]: 8: Hoare triple {217#true} ~cond := #in~cond; {217#true} is VALID [2022-02-20 17:20:43,152 INFO L290 TraceCheckUtils]: 9: Hoare triple {217#true} assume !(0 == ~cond); {217#true} is VALID [2022-02-20 17:20:43,152 INFO L290 TraceCheckUtils]: 10: Hoare triple {217#true} assume true; {217#true} is VALID [2022-02-20 17:20:43,153 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {217#true} {219#(= ~counter~0 0)} #63#return; {219#(= ~counter~0 0)} is VALID [2022-02-20 17:20:43,155 INFO L290 TraceCheckUtils]: 12: Hoare triple {219#(= ~counter~0 0)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {219#(= ~counter~0 0)} is VALID [2022-02-20 17:20:43,156 INFO L290 TraceCheckUtils]: 13: Hoare triple {219#(= ~counter~0 0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {228#(= |ULTIMATE.start_main_#t~post6#1| 0)} is VALID [2022-02-20 17:20:43,156 INFO L290 TraceCheckUtils]: 14: Hoare triple {228#(= |ULTIMATE.start_main_#t~post6#1| 0)} assume !(main_#t~post6#1 < 5);havoc main_#t~post6#1; {218#false} is VALID [2022-02-20 17:20:43,156 INFO L272 TraceCheckUtils]: 15: Hoare triple {218#false} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {218#false} is VALID [2022-02-20 17:20:43,159 INFO L290 TraceCheckUtils]: 16: Hoare triple {218#false} ~cond := #in~cond; {218#false} is VALID [2022-02-20 17:20:43,160 INFO L290 TraceCheckUtils]: 17: Hoare triple {218#false} assume 0 == ~cond; {218#false} is VALID [2022-02-20 17:20:43,160 INFO L290 TraceCheckUtils]: 18: Hoare triple {218#false} assume !false; {218#false} is VALID [2022-02-20 17:20:43,160 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 17:20:43,160 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:43,161 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1650318233] [2022-02-20 17:20:43,161 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1650318233] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:20:43,161 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:20:43,161 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 17:20:43,161 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [814944341] [2022-02-20 17:20:43,162 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:20:43,163 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 19 [2022-02-20 17:20:43,164 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:43,164 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:20:43,182 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:43,183 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 17:20:43,183 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:43,184 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 17:20:43,184 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 17:20:43,186 INFO L87 Difference]: Start difference. First operand 26 states and 35 transitions. Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:20:43,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:43,292 INFO L93 Difference]: Finished difference Result 38 states and 50 transitions. [2022-02-20 17:20:43,293 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 17:20:43,293 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 19 [2022-02-20 17:20:43,293 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:43,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:20:43,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-02-20 17:20:43,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:20:43,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-02-20 17:20:43,315 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 50 transitions. [2022-02-20 17:20:43,359 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:43,362 INFO L225 Difference]: With dead ends: 38 [2022-02-20 17:20:43,363 INFO L226 Difference]: Without dead ends: 28 [2022-02-20 17:20:43,366 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 17:20:43,369 INFO L933 BasicCegarLoop]: 33 mSDtfsCounter, 5 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:20:43,370 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 87 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:20:43,372 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-02-20 17:20:43,379 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 28. [2022-02-20 17:20:43,379 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:20:43,379 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 28 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:20:43,380 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 28 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:20:43,381 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 28 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:20:43,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:43,387 INFO L93 Difference]: Finished difference Result 28 states and 37 transitions. [2022-02-20 17:20:43,387 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 37 transitions. [2022-02-20 17:20:43,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:43,390 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:43,391 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 28 states. [2022-02-20 17:20:43,392 INFO L87 Difference]: Start difference. First operand has 28 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 28 states. [2022-02-20 17:20:43,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:43,400 INFO L93 Difference]: Finished difference Result 28 states and 37 transitions. [2022-02-20 17:20:43,400 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 37 transitions. [2022-02-20 17:20:43,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:43,404 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:43,404 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:20:43,405 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:20:43,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:20:43,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 37 transitions. [2022-02-20 17:20:43,410 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 37 transitions. Word has length 19 [2022-02-20 17:20:43,410 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:20:43,410 INFO L470 AbstractCegarLoop]: Abstraction has 28 states and 37 transitions. [2022-02-20 17:20:43,414 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:20:43,414 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 37 transitions. [2022-02-20 17:20:43,415 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 17:20:43,415 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:43,415 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:20:43,415 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 17:20:43,416 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:43,416 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:43,416 INFO L85 PathProgramCache]: Analyzing trace with hash -540651626, now seen corresponding path program 1 times [2022-02-20 17:20:43,417 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:43,417 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2072085676] [2022-02-20 17:20:43,417 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:43,417 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:43,440 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:20:43,440 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1478707220] [2022-02-20 17:20:43,441 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:43,441 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:43,441 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:43,443 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:20:43,444 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 17:20:43,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:43,496 INFO L263 TraceCheckSpWp]: Trace formula consists of 75 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 17:20:43,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:43,535 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:20:43,744 INFO L290 TraceCheckUtils]: 0: Hoare triple {384#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {384#true} is VALID [2022-02-20 17:20:43,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {384#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {384#true} is VALID [2022-02-20 17:20:43,744 INFO L272 TraceCheckUtils]: 2: Hoare triple {384#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {384#true} is VALID [2022-02-20 17:20:43,745 INFO L290 TraceCheckUtils]: 3: Hoare triple {384#true} ~cond := #in~cond; {384#true} is VALID [2022-02-20 17:20:43,745 INFO L290 TraceCheckUtils]: 4: Hoare triple {384#true} assume !(0 == ~cond); {384#true} is VALID [2022-02-20 17:20:43,745 INFO L290 TraceCheckUtils]: 5: Hoare triple {384#true} assume true; {384#true} is VALID [2022-02-20 17:20:43,745 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {384#true} {384#true} #61#return; {384#true} is VALID [2022-02-20 17:20:43,746 INFO L272 TraceCheckUtils]: 7: Hoare triple {384#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {384#true} is VALID [2022-02-20 17:20:43,746 INFO L290 TraceCheckUtils]: 8: Hoare triple {384#true} ~cond := #in~cond; {384#true} is VALID [2022-02-20 17:20:43,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {384#true} assume !(0 == ~cond); {384#true} is VALID [2022-02-20 17:20:43,746 INFO L290 TraceCheckUtils]: 10: Hoare triple {384#true} assume true; {384#true} is VALID [2022-02-20 17:20:43,746 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {384#true} {384#true} #63#return; {384#true} is VALID [2022-02-20 17:20:43,747 INFO L290 TraceCheckUtils]: 12: Hoare triple {384#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {425#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:43,748 INFO L290 TraceCheckUtils]: 13: Hoare triple {425#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {425#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:43,748 INFO L290 TraceCheckUtils]: 14: Hoare triple {425#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {425#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:43,749 INFO L272 TraceCheckUtils]: 15: Hoare triple {425#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {435#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:20:43,750 INFO L290 TraceCheckUtils]: 16: Hoare triple {435#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {439#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:20:43,751 INFO L290 TraceCheckUtils]: 17: Hoare triple {439#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {385#false} is VALID [2022-02-20 17:20:43,751 INFO L290 TraceCheckUtils]: 18: Hoare triple {385#false} assume !false; {385#false} is VALID [2022-02-20 17:20:43,751 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 17:20:43,752 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:20:43,752 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:43,752 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2072085676] [2022-02-20 17:20:43,752 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:20:43,752 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1478707220] [2022-02-20 17:20:43,753 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1478707220] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:20:43,755 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:20:43,755 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:20:43,755 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1356181080] [2022-02-20 17:20:43,756 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:20:43,756 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 19 [2022-02-20 17:20:43,756 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:43,757 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:20:43,771 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:43,773 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:20:43,774 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:43,774 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:20:43,774 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:20:43,775 INFO L87 Difference]: Start difference. First operand 28 states and 37 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:20:43,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:43,972 INFO L93 Difference]: Finished difference Result 45 states and 62 transitions. [2022-02-20 17:20:43,972 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:20:43,972 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 19 [2022-02-20 17:20:43,973 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:43,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:20:43,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-02-20 17:20:43,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:20:43,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-02-20 17:20:43,982 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-02-20 17:20:44,052 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:44,058 INFO L225 Difference]: With dead ends: 45 [2022-02-20 17:20:44,058 INFO L226 Difference]: Without dead ends: 43 [2022-02-20 17:20:44,058 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:20:44,061 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:20:44,062 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 130 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:20:44,063 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-02-20 17:20:44,073 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2022-02-20 17:20:44,073 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:20:44,074 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 42 states, 23 states have (on average 1.3043478260869565) internal successors, (30), 25 states have internal predecessors, (30), 15 states have call successors, (15), 3 states have call predecessors, (15), 3 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:20:44,074 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 42 states, 23 states have (on average 1.3043478260869565) internal successors, (30), 25 states have internal predecessors, (30), 15 states have call successors, (15), 3 states have call predecessors, (15), 3 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:20:44,074 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 42 states, 23 states have (on average 1.3043478260869565) internal successors, (30), 25 states have internal predecessors, (30), 15 states have call successors, (15), 3 states have call predecessors, (15), 3 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:20:44,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:44,080 INFO L93 Difference]: Finished difference Result 43 states and 60 transitions. [2022-02-20 17:20:44,081 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 60 transitions. [2022-02-20 17:20:44,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:44,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:44,084 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 23 states have (on average 1.3043478260869565) internal successors, (30), 25 states have internal predecessors, (30), 15 states have call successors, (15), 3 states have call predecessors, (15), 3 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 43 states. [2022-02-20 17:20:44,085 INFO L87 Difference]: Start difference. First operand has 42 states, 23 states have (on average 1.3043478260869565) internal successors, (30), 25 states have internal predecessors, (30), 15 states have call successors, (15), 3 states have call predecessors, (15), 3 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 43 states. [2022-02-20 17:20:44,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:44,090 INFO L93 Difference]: Finished difference Result 43 states and 60 transitions. [2022-02-20 17:20:44,090 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 60 transitions. [2022-02-20 17:20:44,091 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:44,091 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:44,091 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:20:44,091 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:20:44,092 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 23 states have (on average 1.3043478260869565) internal successors, (30), 25 states have internal predecessors, (30), 15 states have call successors, (15), 3 states have call predecessors, (15), 3 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:20:44,094 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 59 transitions. [2022-02-20 17:20:44,094 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 59 transitions. Word has length 19 [2022-02-20 17:20:44,094 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:20:44,095 INFO L470 AbstractCegarLoop]: Abstraction has 42 states and 59 transitions. [2022-02-20 17:20:44,095 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:20:44,095 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 59 transitions. [2022-02-20 17:20:44,095 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 17:20:44,096 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:44,096 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:20:44,123 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 17:20:44,311 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:44,312 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:44,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:44,312 INFO L85 PathProgramCache]: Analyzing trace with hash -276555716, now seen corresponding path program 1 times [2022-02-20 17:20:44,313 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:44,313 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2021445545] [2022-02-20 17:20:44,313 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:44,313 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:44,327 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:20:44,327 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1198412846] [2022-02-20 17:20:44,327 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:44,327 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:44,328 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:44,334 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:20:44,335 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 17:20:44,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:44,378 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 17:20:44,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:44,389 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:20:44,675 INFO L290 TraceCheckUtils]: 0: Hoare triple {663#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {663#true} is VALID [2022-02-20 17:20:44,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {663#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {671#(<= |ULTIMATE.start_main_~y~0#1| 2147483647)} is VALID [2022-02-20 17:20:44,676 INFO L272 TraceCheckUtils]: 2: Hoare triple {671#(<= |ULTIMATE.start_main_~y~0#1| 2147483647)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {663#true} is VALID [2022-02-20 17:20:44,677 INFO L290 TraceCheckUtils]: 3: Hoare triple {663#true} ~cond := #in~cond; {663#true} is VALID [2022-02-20 17:20:44,677 INFO L290 TraceCheckUtils]: 4: Hoare triple {663#true} assume !(0 == ~cond); {663#true} is VALID [2022-02-20 17:20:44,677 INFO L290 TraceCheckUtils]: 5: Hoare triple {663#true} assume true; {663#true} is VALID [2022-02-20 17:20:44,679 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {663#true} {671#(<= |ULTIMATE.start_main_~y~0#1| 2147483647)} #61#return; {671#(<= |ULTIMATE.start_main_~y~0#1| 2147483647)} is VALID [2022-02-20 17:20:44,679 INFO L272 TraceCheckUtils]: 7: Hoare triple {671#(<= |ULTIMATE.start_main_~y~0#1| 2147483647)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {663#true} is VALID [2022-02-20 17:20:44,680 INFO L290 TraceCheckUtils]: 8: Hoare triple {663#true} ~cond := #in~cond; {693#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:20:44,680 INFO L290 TraceCheckUtils]: 9: Hoare triple {693#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:20:44,681 INFO L290 TraceCheckUtils]: 10: Hoare triple {697#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:20:44,681 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {697#(not (= |assume_abort_if_not_#in~cond| 0))} {671#(<= |ULTIMATE.start_main_~y~0#1| 2147483647)} #63#return; {704#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:20:44,686 INFO L290 TraceCheckUtils]: 12: Hoare triple {704#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {708#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:20:44,687 INFO L290 TraceCheckUtils]: 13: Hoare triple {708#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {708#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:20:44,688 INFO L290 TraceCheckUtils]: 14: Hoare triple {708#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {708#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:20:44,688 INFO L272 TraceCheckUtils]: 15: Hoare triple {708#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {663#true} is VALID [2022-02-20 17:20:44,689 INFO L290 TraceCheckUtils]: 16: Hoare triple {663#true} ~cond := #in~cond; {663#true} is VALID [2022-02-20 17:20:44,689 INFO L290 TraceCheckUtils]: 17: Hoare triple {663#true} assume !(0 == ~cond); {663#true} is VALID [2022-02-20 17:20:44,689 INFO L290 TraceCheckUtils]: 18: Hoare triple {663#true} assume true; {663#true} is VALID [2022-02-20 17:20:44,690 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {663#true} {708#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} #65#return; {708#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} is VALID [2022-02-20 17:20:44,691 INFO L272 TraceCheckUtils]: 20: Hoare triple {708#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= 1 |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~y~0#1| 2147483647))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {733#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:20:44,694 INFO L290 TraceCheckUtils]: 21: Hoare triple {733#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {737#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:20:44,694 INFO L290 TraceCheckUtils]: 22: Hoare triple {737#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {664#false} is VALID [2022-02-20 17:20:44,695 INFO L290 TraceCheckUtils]: 23: Hoare triple {664#false} assume !false; {664#false} is VALID [2022-02-20 17:20:44,695 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 17:20:44,695 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:20:44,695 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:44,696 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2021445545] [2022-02-20 17:20:44,696 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:20:44,696 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1198412846] [2022-02-20 17:20:44,698 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1198412846] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:20:44,698 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:20:44,698 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 17:20:44,699 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [981871861] [2022-02-20 17:20:44,699 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:20:44,700 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.125) internal successors, (17), 7 states have internal predecessors, (17), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-02-20 17:20:44,700 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:44,700 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.125) internal successors, (17), 7 states have internal predecessors, (17), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:20:44,723 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:44,724 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 17:20:44,724 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:44,724 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 17:20:44,725 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:20:44,725 INFO L87 Difference]: Start difference. First operand 42 states and 59 transitions. Second operand has 9 states, 8 states have (on average 2.125) internal successors, (17), 7 states have internal predecessors, (17), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:20:45,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:45,135 INFO L93 Difference]: Finished difference Result 49 states and 65 transitions. [2022-02-20 17:20:45,135 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 17:20:45,135 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.125) internal successors, (17), 7 states have internal predecessors, (17), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-02-20 17:20:45,135 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:45,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.125) internal successors, (17), 7 states have internal predecessors, (17), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:20:45,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-02-20 17:20:45,137 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.125) internal successors, (17), 7 states have internal predecessors, (17), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:20:45,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-02-20 17:20:45,139 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 60 transitions. [2022-02-20 17:20:45,215 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:45,217 INFO L225 Difference]: With dead ends: 49 [2022-02-20 17:20:45,217 INFO L226 Difference]: Without dead ends: 47 [2022-02-20 17:20:45,217 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:20:45,218 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 21 mSDsluCounter, 172 mSDsCounter, 0 mSdLazyCounter, 89 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 206 SdHoareTripleChecker+Invalid, 91 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 89 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:20:45,218 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 206 Invalid, 91 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 89 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:20:45,219 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-02-20 17:20:45,246 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-02-20 17:20:45,246 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:20:45,247 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 46 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 28 states have internal predecessors, (33), 15 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:20:45,249 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 46 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 28 states have internal predecessors, (33), 15 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:20:45,250 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 46 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 28 states have internal predecessors, (33), 15 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:20:45,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:45,253 INFO L93 Difference]: Finished difference Result 47 states and 63 transitions. [2022-02-20 17:20:45,253 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 63 transitions. [2022-02-20 17:20:45,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:45,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:45,254 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 28 states have internal predecessors, (33), 15 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 47 states. [2022-02-20 17:20:45,254 INFO L87 Difference]: Start difference. First operand has 46 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 28 states have internal predecessors, (33), 15 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 47 states. [2022-02-20 17:20:45,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:45,257 INFO L93 Difference]: Finished difference Result 47 states and 63 transitions. [2022-02-20 17:20:45,257 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 63 transitions. [2022-02-20 17:20:45,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:45,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:45,258 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:20:45,258 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:20:45,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 28 states have internal predecessors, (33), 15 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:20:45,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 62 transitions. [2022-02-20 17:20:45,261 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 62 transitions. Word has length 24 [2022-02-20 17:20:45,261 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:20:45,261 INFO L470 AbstractCegarLoop]: Abstraction has 46 states and 62 transitions. [2022-02-20 17:20:45,261 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.125) internal successors, (17), 7 states have internal predecessors, (17), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:20:45,262 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 62 transitions. [2022-02-20 17:20:45,262 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 17:20:45,262 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:45,263 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:20:45,290 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 17:20:45,487 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-02-20 17:20:45,488 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:45,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:45,488 INFO L85 PathProgramCache]: Analyzing trace with hash -1836785898, now seen corresponding path program 1 times [2022-02-20 17:20:45,488 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:45,488 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [533658923] [2022-02-20 17:20:45,488 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:45,489 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:45,504 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:20:45,504 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1017774644] [2022-02-20 17:20:45,504 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:45,504 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:45,504 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:45,512 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:20:45,515 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 17:20:45,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:45,546 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 20 conjunts are in the unsatisfiable core [2022-02-20 17:20:45,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:45,557 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:20:45,897 INFO L290 TraceCheckUtils]: 0: Hoare triple {981#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {981#true} is VALID [2022-02-20 17:20:45,897 INFO L290 TraceCheckUtils]: 1: Hoare triple {981#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {989#(<= |ULTIMATE.start_main_~x~0#1| 2147483647)} is VALID [2022-02-20 17:20:45,898 INFO L272 TraceCheckUtils]: 2: Hoare triple {989#(<= |ULTIMATE.start_main_~x~0#1| 2147483647)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {981#true} is VALID [2022-02-20 17:20:45,898 INFO L290 TraceCheckUtils]: 3: Hoare triple {981#true} ~cond := #in~cond; {996#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:20:45,899 INFO L290 TraceCheckUtils]: 4: Hoare triple {996#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1000#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:20:45,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {1000#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1000#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:20:45,902 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1000#(not (= |assume_abort_if_not_#in~cond| 0))} {989#(<= |ULTIMATE.start_main_~x~0#1| 2147483647)} #61#return; {1007#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:20:45,902 INFO L272 TraceCheckUtils]: 7: Hoare triple {1007#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (<= 1 |ULTIMATE.start_main_~x~0#1|))} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {981#true} is VALID [2022-02-20 17:20:45,903 INFO L290 TraceCheckUtils]: 8: Hoare triple {981#true} ~cond := #in~cond; {996#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:20:45,903 INFO L290 TraceCheckUtils]: 9: Hoare triple {996#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1000#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:20:45,904 INFO L290 TraceCheckUtils]: 10: Hoare triple {1000#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1000#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:20:45,905 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1000#(not (= |assume_abort_if_not_#in~cond| 0))} {1007#(and (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (<= 1 |ULTIMATE.start_main_~x~0#1|))} #63#return; {1023#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:20:45,905 INFO L290 TraceCheckUtils]: 12: Hoare triple {1023#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (<= 1 |ULTIMATE.start_main_~x~0#1|))} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {1027#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:45,906 INFO L290 TraceCheckUtils]: 13: Hoare triple {1027#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {1027#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:45,906 INFO L290 TraceCheckUtils]: 14: Hoare triple {1027#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {1027#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:45,907 INFO L272 TraceCheckUtils]: 15: Hoare triple {1027#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {981#true} is VALID [2022-02-20 17:20:45,907 INFO L290 TraceCheckUtils]: 16: Hoare triple {981#true} ~cond := #in~cond; {981#true} is VALID [2022-02-20 17:20:45,907 INFO L290 TraceCheckUtils]: 17: Hoare triple {981#true} assume !(0 == ~cond); {981#true} is VALID [2022-02-20 17:20:45,907 INFO L290 TraceCheckUtils]: 18: Hoare triple {981#true} assume true; {981#true} is VALID [2022-02-20 17:20:45,908 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {981#true} {1027#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #65#return; {1027#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:45,909 INFO L272 TraceCheckUtils]: 20: Hoare triple {1027#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {981#true} is VALID [2022-02-20 17:20:45,909 INFO L290 TraceCheckUtils]: 21: Hoare triple {981#true} ~cond := #in~cond; {981#true} is VALID [2022-02-20 17:20:45,909 INFO L290 TraceCheckUtils]: 22: Hoare triple {981#true} assume !(0 == ~cond); {981#true} is VALID [2022-02-20 17:20:45,909 INFO L290 TraceCheckUtils]: 23: Hoare triple {981#true} assume true; {981#true} is VALID [2022-02-20 17:20:45,916 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {981#true} {1027#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #67#return; {1027#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:45,917 INFO L272 TraceCheckUtils]: 25: Hoare triple {1027#(and (<= 1 |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 2147483647) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {1067#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:20:45,917 INFO L290 TraceCheckUtils]: 26: Hoare triple {1067#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1071#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:20:45,918 INFO L290 TraceCheckUtils]: 27: Hoare triple {1071#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {982#false} is VALID [2022-02-20 17:20:45,918 INFO L290 TraceCheckUtils]: 28: Hoare triple {982#false} assume !false; {982#false} is VALID [2022-02-20 17:20:45,918 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 17:20:45,918 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:20:45,919 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:45,919 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [533658923] [2022-02-20 17:20:45,919 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:20:45,919 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1017774644] [2022-02-20 17:20:45,919 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1017774644] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:20:45,919 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:20:45,919 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-02-20 17:20:45,920 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1273693257] [2022-02-20 17:20:45,920 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:20:45,920 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 1.75) internal successors, (14), 7 states have internal predecessors, (14), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-02-20 17:20:45,921 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:45,921 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 8 states have (on average 1.75) internal successors, (14), 7 states have internal predecessors, (14), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 17:20:45,945 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:45,945 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 17:20:45,945 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:45,946 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 17:20:45,946 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:20:45,946 INFO L87 Difference]: Start difference. First operand 46 states and 62 transitions. Second operand has 10 states, 8 states have (on average 1.75) internal successors, (14), 7 states have internal predecessors, (14), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 17:20:46,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:46,411 INFO L93 Difference]: Finished difference Result 71 states and 103 transitions. [2022-02-20 17:20:46,411 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 17:20:46,411 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 1.75) internal successors, (14), 7 states have internal predecessors, (14), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-02-20 17:20:46,411 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:46,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 1.75) internal successors, (14), 7 states have internal predecessors, (14), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 17:20:46,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 60 transitions. [2022-02-20 17:20:46,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 1.75) internal successors, (14), 7 states have internal predecessors, (14), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 17:20:46,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 60 transitions. [2022-02-20 17:20:46,415 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 60 transitions. [2022-02-20 17:20:46,476 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:46,478 INFO L225 Difference]: With dead ends: 71 [2022-02-20 17:20:46,478 INFO L226 Difference]: Without dead ends: 67 [2022-02-20 17:20:46,478 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:20:46,479 INFO L933 BasicCegarLoop]: 33 mSDtfsCounter, 31 mSDsluCounter, 168 mSDsCounter, 0 mSdLazyCounter, 89 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 201 SdHoareTripleChecker+Invalid, 102 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 89 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:20:46,479 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [43 Valid, 201 Invalid, 102 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 89 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:20:46,479 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-02-20 17:20:46,538 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 67. [2022-02-20 17:20:46,538 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:20:46,539 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 67 states, 35 states have (on average 1.3428571428571427) internal successors, (47), 39 states have internal predecessors, (47), 26 states have call successors, (26), 5 states have call predecessors, (26), 5 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:20:46,539 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 67 states, 35 states have (on average 1.3428571428571427) internal successors, (47), 39 states have internal predecessors, (47), 26 states have call successors, (26), 5 states have call predecessors, (26), 5 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:20:46,540 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 67 states, 35 states have (on average 1.3428571428571427) internal successors, (47), 39 states have internal predecessors, (47), 26 states have call successors, (26), 5 states have call predecessors, (26), 5 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:20:46,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:46,543 INFO L93 Difference]: Finished difference Result 67 states and 96 transitions. [2022-02-20 17:20:46,543 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 96 transitions. [2022-02-20 17:20:46,543 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:46,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:46,544 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 35 states have (on average 1.3428571428571427) internal successors, (47), 39 states have internal predecessors, (47), 26 states have call successors, (26), 5 states have call predecessors, (26), 5 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 67 states. [2022-02-20 17:20:46,544 INFO L87 Difference]: Start difference. First operand has 67 states, 35 states have (on average 1.3428571428571427) internal successors, (47), 39 states have internal predecessors, (47), 26 states have call successors, (26), 5 states have call predecessors, (26), 5 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 67 states. [2022-02-20 17:20:46,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:46,547 INFO L93 Difference]: Finished difference Result 67 states and 96 transitions. [2022-02-20 17:20:46,547 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 96 transitions. [2022-02-20 17:20:46,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:46,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:46,548 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:20:46,548 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:20:46,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 35 states have (on average 1.3428571428571427) internal successors, (47), 39 states have internal predecessors, (47), 26 states have call successors, (26), 5 states have call predecessors, (26), 5 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:20:46,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 96 transitions. [2022-02-20 17:20:46,551 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 96 transitions. Word has length 29 [2022-02-20 17:20:46,552 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:20:46,552 INFO L470 AbstractCegarLoop]: Abstraction has 67 states and 96 transitions. [2022-02-20 17:20:46,552 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 8 states have (on average 1.75) internal successors, (14), 7 states have internal predecessors, (14), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 17:20:46,552 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 96 transitions. [2022-02-20 17:20:46,552 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 17:20:46,552 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:46,553 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:20:46,577 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 17:20:46,767 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:46,768 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:46,768 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:46,768 INFO L85 PathProgramCache]: Analyzing trace with hash 1071030291, now seen corresponding path program 1 times [2022-02-20 17:20:46,768 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:46,768 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [689067730] [2022-02-20 17:20:46,768 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:46,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:46,780 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:20:46,780 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1404965022] [2022-02-20 17:20:46,781 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:46,781 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:46,781 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:46,782 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:20:46,807 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 17:20:46,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:46,831 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 17:20:46,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:46,840 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:20:46,926 INFO L290 TraceCheckUtils]: 0: Hoare triple {1425#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1425#true} is VALID [2022-02-20 17:20:46,926 INFO L290 TraceCheckUtils]: 1: Hoare triple {1425#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1425#true} is VALID [2022-02-20 17:20:46,927 INFO L272 TraceCheckUtils]: 2: Hoare triple {1425#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1425#true} is VALID [2022-02-20 17:20:46,927 INFO L290 TraceCheckUtils]: 3: Hoare triple {1425#true} ~cond := #in~cond; {1425#true} is VALID [2022-02-20 17:20:46,927 INFO L290 TraceCheckUtils]: 4: Hoare triple {1425#true} assume !(0 == ~cond); {1425#true} is VALID [2022-02-20 17:20:46,927 INFO L290 TraceCheckUtils]: 5: Hoare triple {1425#true} assume true; {1425#true} is VALID [2022-02-20 17:20:46,927 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1425#true} {1425#true} #61#return; {1425#true} is VALID [2022-02-20 17:20:46,927 INFO L272 TraceCheckUtils]: 7: Hoare triple {1425#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1425#true} is VALID [2022-02-20 17:20:46,928 INFO L290 TraceCheckUtils]: 8: Hoare triple {1425#true} ~cond := #in~cond; {1425#true} is VALID [2022-02-20 17:20:46,928 INFO L290 TraceCheckUtils]: 9: Hoare triple {1425#true} assume !(0 == ~cond); {1425#true} is VALID [2022-02-20 17:20:46,928 INFO L290 TraceCheckUtils]: 10: Hoare triple {1425#true} assume true; {1425#true} is VALID [2022-02-20 17:20:46,928 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1425#true} {1425#true} #63#return; {1425#true} is VALID [2022-02-20 17:20:46,928 INFO L290 TraceCheckUtils]: 12: Hoare triple {1425#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {1425#true} is VALID [2022-02-20 17:20:46,928 INFO L290 TraceCheckUtils]: 13: Hoare triple {1425#true} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {1425#true} is VALID [2022-02-20 17:20:46,929 INFO L290 TraceCheckUtils]: 14: Hoare triple {1425#true} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {1425#true} is VALID [2022-02-20 17:20:46,929 INFO L272 TraceCheckUtils]: 15: Hoare triple {1425#true} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {1425#true} is VALID [2022-02-20 17:20:46,929 INFO L290 TraceCheckUtils]: 16: Hoare triple {1425#true} ~cond := #in~cond; {1425#true} is VALID [2022-02-20 17:20:46,929 INFO L290 TraceCheckUtils]: 17: Hoare triple {1425#true} assume !(0 == ~cond); {1425#true} is VALID [2022-02-20 17:20:46,929 INFO L290 TraceCheckUtils]: 18: Hoare triple {1425#true} assume true; {1425#true} is VALID [2022-02-20 17:20:46,930 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1425#true} {1425#true} #65#return; {1425#true} is VALID [2022-02-20 17:20:46,930 INFO L272 TraceCheckUtils]: 20: Hoare triple {1425#true} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {1425#true} is VALID [2022-02-20 17:20:46,930 INFO L290 TraceCheckUtils]: 21: Hoare triple {1425#true} ~cond := #in~cond; {1425#true} is VALID [2022-02-20 17:20:46,930 INFO L290 TraceCheckUtils]: 22: Hoare triple {1425#true} assume !(0 == ~cond); {1425#true} is VALID [2022-02-20 17:20:46,930 INFO L290 TraceCheckUtils]: 23: Hoare triple {1425#true} assume true; {1425#true} is VALID [2022-02-20 17:20:46,930 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1425#true} {1425#true} #67#return; {1425#true} is VALID [2022-02-20 17:20:46,930 INFO L272 TraceCheckUtils]: 25: Hoare triple {1425#true} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {1425#true} is VALID [2022-02-20 17:20:46,930 INFO L290 TraceCheckUtils]: 26: Hoare triple {1425#true} ~cond := #in~cond; {1425#true} is VALID [2022-02-20 17:20:46,930 INFO L290 TraceCheckUtils]: 27: Hoare triple {1425#true} assume !(0 == ~cond); {1425#true} is VALID [2022-02-20 17:20:46,931 INFO L290 TraceCheckUtils]: 28: Hoare triple {1425#true} assume true; {1425#true} is VALID [2022-02-20 17:20:46,931 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1425#true} {1425#true} #69#return; {1425#true} is VALID [2022-02-20 17:20:46,931 INFO L290 TraceCheckUtils]: 30: Hoare triple {1425#true} assume !(main_~a~0#1 != main_~b~0#1); {1520#(= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:20:46,932 INFO L272 TraceCheckUtils]: 31: Hoare triple {1520#(= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {1524#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:20:46,932 INFO L290 TraceCheckUtils]: 32: Hoare triple {1524#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1528#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:20:46,932 INFO L290 TraceCheckUtils]: 33: Hoare triple {1528#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1426#false} is VALID [2022-02-20 17:20:46,932 INFO L290 TraceCheckUtils]: 34: Hoare triple {1426#false} assume !false; {1426#false} is VALID [2022-02-20 17:20:46,933 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 17:20:46,933 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:20:46,933 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:46,933 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [689067730] [2022-02-20 17:20:46,933 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:20:46,933 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1404965022] [2022-02-20 17:20:46,933 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1404965022] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:20:46,933 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:20:46,933 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:20:46,933 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2113898943] [2022-02-20 17:20:46,933 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:20:46,934 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 35 [2022-02-20 17:20:46,934 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:46,934 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-20 17:20:46,951 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:46,951 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:20:46,951 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:46,951 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:20:46,951 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:20:46,952 INFO L87 Difference]: Start difference. First operand 67 states and 96 transitions. Second operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-20 17:20:47,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:47,182 INFO L93 Difference]: Finished difference Result 83 states and 119 transitions. [2022-02-20 17:20:47,182 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:20:47,182 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 35 [2022-02-20 17:20:47,182 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:47,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-20 17:20:47,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-02-20 17:20:47,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-20 17:20:47,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-02-20 17:20:47,185 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-02-20 17:20:47,222 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:47,224 INFO L225 Difference]: With dead ends: 83 [2022-02-20 17:20:47,224 INFO L226 Difference]: Without dead ends: 81 [2022-02-20 17:20:47,224 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:20:47,225 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 5 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 25 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 25 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:20:47,225 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 137 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 25 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:20:47,226 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-02-20 17:20:47,292 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 74. [2022-02-20 17:20:47,293 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:20:47,293 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 74 states, 38 states have (on average 1.3157894736842106) internal successors, (50), 45 states have internal predecessors, (50), 29 states have call successors, (29), 6 states have call predecessors, (29), 6 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-02-20 17:20:47,293 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 74 states, 38 states have (on average 1.3157894736842106) internal successors, (50), 45 states have internal predecessors, (50), 29 states have call successors, (29), 6 states have call predecessors, (29), 6 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-02-20 17:20:47,294 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 74 states, 38 states have (on average 1.3157894736842106) internal successors, (50), 45 states have internal predecessors, (50), 29 states have call successors, (29), 6 states have call predecessors, (29), 6 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-02-20 17:20:47,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:47,298 INFO L93 Difference]: Finished difference Result 81 states and 117 transitions. [2022-02-20 17:20:47,298 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 117 transitions. [2022-02-20 17:20:47,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:47,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:47,299 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 38 states have (on average 1.3157894736842106) internal successors, (50), 45 states have internal predecessors, (50), 29 states have call successors, (29), 6 states have call predecessors, (29), 6 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) Second operand 81 states. [2022-02-20 17:20:47,299 INFO L87 Difference]: Start difference. First operand has 74 states, 38 states have (on average 1.3157894736842106) internal successors, (50), 45 states have internal predecessors, (50), 29 states have call successors, (29), 6 states have call predecessors, (29), 6 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) Second operand 81 states. [2022-02-20 17:20:47,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:47,302 INFO L93 Difference]: Finished difference Result 81 states and 117 transitions. [2022-02-20 17:20:47,303 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 117 transitions. [2022-02-20 17:20:47,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:47,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:47,303 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:20:47,303 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:20:47,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 38 states have (on average 1.3157894736842106) internal successors, (50), 45 states have internal predecessors, (50), 29 states have call successors, (29), 6 states have call predecessors, (29), 6 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-02-20 17:20:47,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 105 transitions. [2022-02-20 17:20:47,307 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 105 transitions. Word has length 35 [2022-02-20 17:20:47,307 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:20:47,307 INFO L470 AbstractCegarLoop]: Abstraction has 74 states and 105 transitions. [2022-02-20 17:20:47,307 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-02-20 17:20:47,307 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 105 transitions. [2022-02-20 17:20:47,308 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-02-20 17:20:47,308 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:47,308 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:20:47,331 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 17:20:47,523 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:47,523 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:47,524 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:47,524 INFO L85 PathProgramCache]: Analyzing trace with hash 1689492770, now seen corresponding path program 1 times [2022-02-20 17:20:47,524 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:47,524 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [135274374] [2022-02-20 17:20:47,524 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:47,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:47,538 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:20:47,538 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1998876430] [2022-02-20 17:20:47,538 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:47,538 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:47,538 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:47,541 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:20:47,542 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-02-20 17:20:47,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:47,584 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 17:20:47,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:47,593 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:20:47,753 INFO L290 TraceCheckUtils]: 0: Hoare triple {1940#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1945#(<= ~counter~0 0)} is VALID [2022-02-20 17:20:47,754 INFO L290 TraceCheckUtils]: 1: Hoare triple {1945#(<= ~counter~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1945#(<= ~counter~0 0)} is VALID [2022-02-20 17:20:47,754 INFO L272 TraceCheckUtils]: 2: Hoare triple {1945#(<= ~counter~0 0)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1945#(<= ~counter~0 0)} is VALID [2022-02-20 17:20:47,754 INFO L290 TraceCheckUtils]: 3: Hoare triple {1945#(<= ~counter~0 0)} ~cond := #in~cond; {1945#(<= ~counter~0 0)} is VALID [2022-02-20 17:20:47,755 INFO L290 TraceCheckUtils]: 4: Hoare triple {1945#(<= ~counter~0 0)} assume !(0 == ~cond); {1945#(<= ~counter~0 0)} is VALID [2022-02-20 17:20:47,755 INFO L290 TraceCheckUtils]: 5: Hoare triple {1945#(<= ~counter~0 0)} assume true; {1945#(<= ~counter~0 0)} is VALID [2022-02-20 17:20:47,756 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1945#(<= ~counter~0 0)} {1945#(<= ~counter~0 0)} #61#return; {1945#(<= ~counter~0 0)} is VALID [2022-02-20 17:20:47,756 INFO L272 TraceCheckUtils]: 7: Hoare triple {1945#(<= ~counter~0 0)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1945#(<= ~counter~0 0)} is VALID [2022-02-20 17:20:47,757 INFO L290 TraceCheckUtils]: 8: Hoare triple {1945#(<= ~counter~0 0)} ~cond := #in~cond; {1945#(<= ~counter~0 0)} is VALID [2022-02-20 17:20:47,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {1945#(<= ~counter~0 0)} assume !(0 == ~cond); {1945#(<= ~counter~0 0)} is VALID [2022-02-20 17:20:47,757 INFO L290 TraceCheckUtils]: 10: Hoare triple {1945#(<= ~counter~0 0)} assume true; {1945#(<= ~counter~0 0)} is VALID [2022-02-20 17:20:47,758 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1945#(<= ~counter~0 0)} {1945#(<= ~counter~0 0)} #63#return; {1945#(<= ~counter~0 0)} is VALID [2022-02-20 17:20:47,758 INFO L290 TraceCheckUtils]: 12: Hoare triple {1945#(<= ~counter~0 0)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {1945#(<= ~counter~0 0)} is VALID [2022-02-20 17:20:47,759 INFO L290 TraceCheckUtils]: 13: Hoare triple {1945#(<= ~counter~0 0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {1985#(<= ~counter~0 1)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,760 INFO L272 TraceCheckUtils]: 15: Hoare triple {1985#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,760 INFO L290 TraceCheckUtils]: 16: Hoare triple {1985#(<= ~counter~0 1)} ~cond := #in~cond; {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,761 INFO L290 TraceCheckUtils]: 17: Hoare triple {1985#(<= ~counter~0 1)} assume !(0 == ~cond); {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,762 INFO L290 TraceCheckUtils]: 18: Hoare triple {1985#(<= ~counter~0 1)} assume true; {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,764 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1985#(<= ~counter~0 1)} {1985#(<= ~counter~0 1)} #65#return; {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,764 INFO L272 TraceCheckUtils]: 20: Hoare triple {1985#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,765 INFO L290 TraceCheckUtils]: 21: Hoare triple {1985#(<= ~counter~0 1)} ~cond := #in~cond; {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,765 INFO L290 TraceCheckUtils]: 22: Hoare triple {1985#(<= ~counter~0 1)} assume !(0 == ~cond); {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,765 INFO L290 TraceCheckUtils]: 23: Hoare triple {1985#(<= ~counter~0 1)} assume true; {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,766 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1985#(<= ~counter~0 1)} {1985#(<= ~counter~0 1)} #67#return; {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,767 INFO L272 TraceCheckUtils]: 25: Hoare triple {1985#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,768 INFO L290 TraceCheckUtils]: 26: Hoare triple {1985#(<= ~counter~0 1)} ~cond := #in~cond; {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,768 INFO L290 TraceCheckUtils]: 27: Hoare triple {1985#(<= ~counter~0 1)} assume !(0 == ~cond); {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,768 INFO L290 TraceCheckUtils]: 28: Hoare triple {1985#(<= ~counter~0 1)} assume true; {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,769 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1985#(<= ~counter~0 1)} {1985#(<= ~counter~0 1)} #69#return; {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,769 INFO L290 TraceCheckUtils]: 30: Hoare triple {1985#(<= ~counter~0 1)} assume !!(main_~a~0#1 != main_~b~0#1); {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,770 INFO L290 TraceCheckUtils]: 31: Hoare triple {1985#(<= ~counter~0 1)} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {1985#(<= ~counter~0 1)} is VALID [2022-02-20 17:20:47,770 INFO L290 TraceCheckUtils]: 32: Hoare triple {1985#(<= ~counter~0 1)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {2043#(<= |ULTIMATE.start_main_#t~post6#1| 1)} is VALID [2022-02-20 17:20:47,771 INFO L290 TraceCheckUtils]: 33: Hoare triple {2043#(<= |ULTIMATE.start_main_#t~post6#1| 1)} assume !(main_#t~post6#1 < 5);havoc main_#t~post6#1; {1941#false} is VALID [2022-02-20 17:20:47,771 INFO L272 TraceCheckUtils]: 34: Hoare triple {1941#false} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {1941#false} is VALID [2022-02-20 17:20:47,771 INFO L290 TraceCheckUtils]: 35: Hoare triple {1941#false} ~cond := #in~cond; {1941#false} is VALID [2022-02-20 17:20:47,771 INFO L290 TraceCheckUtils]: 36: Hoare triple {1941#false} assume 0 == ~cond; {1941#false} is VALID [2022-02-20 17:20:47,771 INFO L290 TraceCheckUtils]: 37: Hoare triple {1941#false} assume !false; {1941#false} is VALID [2022-02-20 17:20:47,772 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 17:20:47,772 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:20:47,952 INFO L290 TraceCheckUtils]: 37: Hoare triple {1941#false} assume !false; {1941#false} is VALID [2022-02-20 17:20:47,953 INFO L290 TraceCheckUtils]: 36: Hoare triple {1941#false} assume 0 == ~cond; {1941#false} is VALID [2022-02-20 17:20:47,953 INFO L290 TraceCheckUtils]: 35: Hoare triple {1941#false} ~cond := #in~cond; {1941#false} is VALID [2022-02-20 17:20:47,953 INFO L272 TraceCheckUtils]: 34: Hoare triple {1941#false} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {1941#false} is VALID [2022-02-20 17:20:47,954 INFO L290 TraceCheckUtils]: 33: Hoare triple {2071#(< |ULTIMATE.start_main_#t~post6#1| 5)} assume !(main_#t~post6#1 < 5);havoc main_#t~post6#1; {1941#false} is VALID [2022-02-20 17:20:47,954 INFO L290 TraceCheckUtils]: 32: Hoare triple {2075#(< ~counter~0 5)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {2071#(< |ULTIMATE.start_main_#t~post6#1| 5)} is VALID [2022-02-20 17:20:47,955 INFO L290 TraceCheckUtils]: 31: Hoare triple {2075#(< ~counter~0 5)} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {2075#(< ~counter~0 5)} is VALID [2022-02-20 17:20:47,956 INFO L290 TraceCheckUtils]: 30: Hoare triple {2075#(< ~counter~0 5)} assume !!(main_~a~0#1 != main_~b~0#1); {2075#(< ~counter~0 5)} is VALID [2022-02-20 17:20:47,957 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1940#true} {2075#(< ~counter~0 5)} #69#return; {2075#(< ~counter~0 5)} is VALID [2022-02-20 17:20:47,957 INFO L290 TraceCheckUtils]: 28: Hoare triple {1940#true} assume true; {1940#true} is VALID [2022-02-20 17:20:47,957 INFO L290 TraceCheckUtils]: 27: Hoare triple {1940#true} assume !(0 == ~cond); {1940#true} is VALID [2022-02-20 17:20:47,957 INFO L290 TraceCheckUtils]: 26: Hoare triple {1940#true} ~cond := #in~cond; {1940#true} is VALID [2022-02-20 17:20:47,957 INFO L272 TraceCheckUtils]: 25: Hoare triple {2075#(< ~counter~0 5)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {1940#true} is VALID [2022-02-20 17:20:47,958 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1940#true} {2075#(< ~counter~0 5)} #67#return; {2075#(< ~counter~0 5)} is VALID [2022-02-20 17:20:47,958 INFO L290 TraceCheckUtils]: 23: Hoare triple {1940#true} assume true; {1940#true} is VALID [2022-02-20 17:20:47,958 INFO L290 TraceCheckUtils]: 22: Hoare triple {1940#true} assume !(0 == ~cond); {1940#true} is VALID [2022-02-20 17:20:47,958 INFO L290 TraceCheckUtils]: 21: Hoare triple {1940#true} ~cond := #in~cond; {1940#true} is VALID [2022-02-20 17:20:47,958 INFO L272 TraceCheckUtils]: 20: Hoare triple {2075#(< ~counter~0 5)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {1940#true} is VALID [2022-02-20 17:20:47,959 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1940#true} {2075#(< ~counter~0 5)} #65#return; {2075#(< ~counter~0 5)} is VALID [2022-02-20 17:20:47,959 INFO L290 TraceCheckUtils]: 18: Hoare triple {1940#true} assume true; {1940#true} is VALID [2022-02-20 17:20:47,960 INFO L290 TraceCheckUtils]: 17: Hoare triple {1940#true} assume !(0 == ~cond); {1940#true} is VALID [2022-02-20 17:20:47,960 INFO L290 TraceCheckUtils]: 16: Hoare triple {1940#true} ~cond := #in~cond; {1940#true} is VALID [2022-02-20 17:20:47,960 INFO L272 TraceCheckUtils]: 15: Hoare triple {2075#(< ~counter~0 5)} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {1940#true} is VALID [2022-02-20 17:20:47,960 INFO L290 TraceCheckUtils]: 14: Hoare triple {2075#(< ~counter~0 5)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {2075#(< ~counter~0 5)} is VALID [2022-02-20 17:20:47,961 INFO L290 TraceCheckUtils]: 13: Hoare triple {2133#(< ~counter~0 4)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {2075#(< ~counter~0 5)} is VALID [2022-02-20 17:20:47,961 INFO L290 TraceCheckUtils]: 12: Hoare triple {2133#(< ~counter~0 4)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {2133#(< ~counter~0 4)} is VALID [2022-02-20 17:20:47,962 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1940#true} {2133#(< ~counter~0 4)} #63#return; {2133#(< ~counter~0 4)} is VALID [2022-02-20 17:20:47,962 INFO L290 TraceCheckUtils]: 10: Hoare triple {1940#true} assume true; {1940#true} is VALID [2022-02-20 17:20:47,962 INFO L290 TraceCheckUtils]: 9: Hoare triple {1940#true} assume !(0 == ~cond); {1940#true} is VALID [2022-02-20 17:20:47,962 INFO L290 TraceCheckUtils]: 8: Hoare triple {1940#true} ~cond := #in~cond; {1940#true} is VALID [2022-02-20 17:20:47,962 INFO L272 TraceCheckUtils]: 7: Hoare triple {2133#(< ~counter~0 4)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1940#true} is VALID [2022-02-20 17:20:47,963 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1940#true} {2133#(< ~counter~0 4)} #61#return; {2133#(< ~counter~0 4)} is VALID [2022-02-20 17:20:47,963 INFO L290 TraceCheckUtils]: 5: Hoare triple {1940#true} assume true; {1940#true} is VALID [2022-02-20 17:20:47,963 INFO L290 TraceCheckUtils]: 4: Hoare triple {1940#true} assume !(0 == ~cond); {1940#true} is VALID [2022-02-20 17:20:47,963 INFO L290 TraceCheckUtils]: 3: Hoare triple {1940#true} ~cond := #in~cond; {1940#true} is VALID [2022-02-20 17:20:47,963 INFO L272 TraceCheckUtils]: 2: Hoare triple {2133#(< ~counter~0 4)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1940#true} is VALID [2022-02-20 17:20:47,964 INFO L290 TraceCheckUtils]: 1: Hoare triple {2133#(< ~counter~0 4)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2133#(< ~counter~0 4)} is VALID [2022-02-20 17:20:47,964 INFO L290 TraceCheckUtils]: 0: Hoare triple {1940#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2133#(< ~counter~0 4)} is VALID [2022-02-20 17:20:47,966 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 17:20:47,966 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:47,966 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [135274374] [2022-02-20 17:20:47,966 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:20:47,966 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1998876430] [2022-02-20 17:20:47,966 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1998876430] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:20:47,966 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:20:47,967 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5] total 8 [2022-02-20 17:20:47,967 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1068521877] [2022-02-20 17:20:47,967 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:20:47,968 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.125) internal successors, (33), 8 states have internal predecessors, (33), 5 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 38 [2022-02-20 17:20:47,970 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:47,970 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.125) internal successors, (33), 8 states have internal predecessors, (33), 5 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 17:20:48,020 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:48,021 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:20:48,021 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:48,021 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:20:48,021 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:20:48,022 INFO L87 Difference]: Start difference. First operand 74 states and 105 transitions. Second operand has 8 states, 8 states have (on average 4.125) internal successors, (33), 8 states have internal predecessors, (33), 5 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 17:20:48,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:48,632 INFO L93 Difference]: Finished difference Result 218 states and 286 transitions. [2022-02-20 17:20:48,632 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 17:20:48,633 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.125) internal successors, (33), 8 states have internal predecessors, (33), 5 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 38 [2022-02-20 17:20:48,633 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:48,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.125) internal successors, (33), 8 states have internal predecessors, (33), 5 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 17:20:48,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 120 transitions. [2022-02-20 17:20:48,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.125) internal successors, (33), 8 states have internal predecessors, (33), 5 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 17:20:48,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 120 transitions. [2022-02-20 17:20:48,638 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 120 transitions. [2022-02-20 17:20:48,731 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:48,737 INFO L225 Difference]: With dead ends: 218 [2022-02-20 17:20:48,737 INFO L226 Difference]: Without dead ends: 196 [2022-02-20 17:20:48,738 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 68 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:20:48,739 INFO L933 BasicCegarLoop]: 51 mSDtfsCounter, 78 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 67 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 208 SdHoareTripleChecker+Invalid, 108 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 41 IncrementalHoareTripleChecker+Valid, 67 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:20:48,739 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [78 Valid, 208 Invalid, 108 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 67 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:20:48,739 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 196 states. [2022-02-20 17:20:48,935 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 196 to 190. [2022-02-20 17:20:48,935 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:20:48,936 INFO L82 GeneralOperation]: Start isEquivalent. First operand 196 states. Second operand has 190 states, 108 states have (on average 1.2222222222222223) internal successors, (132), 119 states have internal predecessors, (132), 61 states have call successors, (61), 21 states have call predecessors, (61), 20 states have return successors, (54), 49 states have call predecessors, (54), 54 states have call successors, (54) [2022-02-20 17:20:48,937 INFO L74 IsIncluded]: Start isIncluded. First operand 196 states. Second operand has 190 states, 108 states have (on average 1.2222222222222223) internal successors, (132), 119 states have internal predecessors, (132), 61 states have call successors, (61), 21 states have call predecessors, (61), 20 states have return successors, (54), 49 states have call predecessors, (54), 54 states have call successors, (54) [2022-02-20 17:20:48,938 INFO L87 Difference]: Start difference. First operand 196 states. Second operand has 190 states, 108 states have (on average 1.2222222222222223) internal successors, (132), 119 states have internal predecessors, (132), 61 states have call successors, (61), 21 states have call predecessors, (61), 20 states have return successors, (54), 49 states have call predecessors, (54), 54 states have call successors, (54) [2022-02-20 17:20:48,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:48,946 INFO L93 Difference]: Finished difference Result 196 states and 250 transitions. [2022-02-20 17:20:48,946 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 250 transitions. [2022-02-20 17:20:48,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:48,947 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:48,948 INFO L74 IsIncluded]: Start isIncluded. First operand has 190 states, 108 states have (on average 1.2222222222222223) internal successors, (132), 119 states have internal predecessors, (132), 61 states have call successors, (61), 21 states have call predecessors, (61), 20 states have return successors, (54), 49 states have call predecessors, (54), 54 states have call successors, (54) Second operand 196 states. [2022-02-20 17:20:48,948 INFO L87 Difference]: Start difference. First operand has 190 states, 108 states have (on average 1.2222222222222223) internal successors, (132), 119 states have internal predecessors, (132), 61 states have call successors, (61), 21 states have call predecessors, (61), 20 states have return successors, (54), 49 states have call predecessors, (54), 54 states have call successors, (54) Second operand 196 states. [2022-02-20 17:20:48,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:48,955 INFO L93 Difference]: Finished difference Result 196 states and 250 transitions. [2022-02-20 17:20:48,956 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 250 transitions. [2022-02-20 17:20:48,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:48,957 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:48,957 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:20:48,957 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:20:48,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 190 states, 108 states have (on average 1.2222222222222223) internal successors, (132), 119 states have internal predecessors, (132), 61 states have call successors, (61), 21 states have call predecessors, (61), 20 states have return successors, (54), 49 states have call predecessors, (54), 54 states have call successors, (54) [2022-02-20 17:20:48,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 247 transitions. [2022-02-20 17:20:48,973 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 247 transitions. Word has length 38 [2022-02-20 17:20:48,973 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:20:48,973 INFO L470 AbstractCegarLoop]: Abstraction has 190 states and 247 transitions. [2022-02-20 17:20:48,974 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.125) internal successors, (33), 8 states have internal predecessors, (33), 5 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-02-20 17:20:48,974 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 247 transitions. [2022-02-20 17:20:48,974 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-02-20 17:20:48,974 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:48,974 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:20:48,999 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 17:20:49,197 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:49,198 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:49,198 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:49,198 INFO L85 PathProgramCache]: Analyzing trace with hash 1691161066, now seen corresponding path program 1 times [2022-02-20 17:20:49,198 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:49,198 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2028501911] [2022-02-20 17:20:49,198 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:49,199 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:49,210 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:20:49,210 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [428327390] [2022-02-20 17:20:49,210 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:49,210 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:49,210 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:49,211 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:20:49,234 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-02-20 17:20:49,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:49,263 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 17:20:49,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:49,275 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:20:49,435 INFO L290 TraceCheckUtils]: 0: Hoare triple {3178#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3178#true} is VALID [2022-02-20 17:20:49,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {3178#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3178#true} is VALID [2022-02-20 17:20:49,435 INFO L272 TraceCheckUtils]: 2: Hoare triple {3178#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {3178#true} is VALID [2022-02-20 17:20:49,441 INFO L290 TraceCheckUtils]: 3: Hoare triple {3178#true} ~cond := #in~cond; {3178#true} is VALID [2022-02-20 17:20:49,441 INFO L290 TraceCheckUtils]: 4: Hoare triple {3178#true} assume !(0 == ~cond); {3178#true} is VALID [2022-02-20 17:20:49,442 INFO L290 TraceCheckUtils]: 5: Hoare triple {3178#true} assume true; {3178#true} is VALID [2022-02-20 17:20:49,442 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3178#true} {3178#true} #61#return; {3178#true} is VALID [2022-02-20 17:20:49,445 INFO L272 TraceCheckUtils]: 7: Hoare triple {3178#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {3178#true} is VALID [2022-02-20 17:20:49,445 INFO L290 TraceCheckUtils]: 8: Hoare triple {3178#true} ~cond := #in~cond; {3178#true} is VALID [2022-02-20 17:20:49,445 INFO L290 TraceCheckUtils]: 9: Hoare triple {3178#true} assume !(0 == ~cond); {3178#true} is VALID [2022-02-20 17:20:49,445 INFO L290 TraceCheckUtils]: 10: Hoare triple {3178#true} assume true; {3178#true} is VALID [2022-02-20 17:20:49,445 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {3178#true} {3178#true} #63#return; {3178#true} is VALID [2022-02-20 17:20:49,447 INFO L290 TraceCheckUtils]: 12: Hoare triple {3178#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:49,448 INFO L290 TraceCheckUtils]: 13: Hoare triple {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:49,449 INFO L290 TraceCheckUtils]: 14: Hoare triple {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:49,449 INFO L272 TraceCheckUtils]: 15: Hoare triple {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3178#true} is VALID [2022-02-20 17:20:49,449 INFO L290 TraceCheckUtils]: 16: Hoare triple {3178#true} ~cond := #in~cond; {3178#true} is VALID [2022-02-20 17:20:49,449 INFO L290 TraceCheckUtils]: 17: Hoare triple {3178#true} assume !(0 == ~cond); {3178#true} is VALID [2022-02-20 17:20:49,450 INFO L290 TraceCheckUtils]: 18: Hoare triple {3178#true} assume true; {3178#true} is VALID [2022-02-20 17:20:49,453 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {3178#true} {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #65#return; {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:49,453 INFO L272 TraceCheckUtils]: 20: Hoare triple {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {3178#true} is VALID [2022-02-20 17:20:49,453 INFO L290 TraceCheckUtils]: 21: Hoare triple {3178#true} ~cond := #in~cond; {3178#true} is VALID [2022-02-20 17:20:49,454 INFO L290 TraceCheckUtils]: 22: Hoare triple {3178#true} assume !(0 == ~cond); {3178#true} is VALID [2022-02-20 17:20:49,454 INFO L290 TraceCheckUtils]: 23: Hoare triple {3178#true} assume true; {3178#true} is VALID [2022-02-20 17:20:49,454 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {3178#true} {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #67#return; {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:49,455 INFO L272 TraceCheckUtils]: 25: Hoare triple {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {3178#true} is VALID [2022-02-20 17:20:49,455 INFO L290 TraceCheckUtils]: 26: Hoare triple {3178#true} ~cond := #in~cond; {3178#true} is VALID [2022-02-20 17:20:49,455 INFO L290 TraceCheckUtils]: 27: Hoare triple {3178#true} assume !(0 == ~cond); {3178#true} is VALID [2022-02-20 17:20:49,455 INFO L290 TraceCheckUtils]: 28: Hoare triple {3178#true} assume true; {3178#true} is VALID [2022-02-20 17:20:49,456 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3178#true} {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #69#return; {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:49,456 INFO L290 TraceCheckUtils]: 30: Hoare triple {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_~a~0#1 != main_~b~0#1); {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:49,457 INFO L290 TraceCheckUtils]: 31: Hoare triple {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:49,457 INFO L290 TraceCheckUtils]: 32: Hoare triple {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:49,457 INFO L290 TraceCheckUtils]: 33: Hoare triple {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:49,458 INFO L272 TraceCheckUtils]: 34: Hoare triple {3219#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3286#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:20:49,459 INFO L290 TraceCheckUtils]: 35: Hoare triple {3286#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3290#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:20:49,459 INFO L290 TraceCheckUtils]: 36: Hoare triple {3290#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3179#false} is VALID [2022-02-20 17:20:49,459 INFO L290 TraceCheckUtils]: 37: Hoare triple {3179#false} assume !false; {3179#false} is VALID [2022-02-20 17:20:49,459 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-02-20 17:20:49,459 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:20:49,460 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:49,460 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2028501911] [2022-02-20 17:20:49,460 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:20:49,460 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [428327390] [2022-02-20 17:20:49,460 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [428327390] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:20:49,460 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:20:49,460 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:20:49,461 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [429269145] [2022-02-20 17:20:49,461 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:20:49,461 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 38 [2022-02-20 17:20:49,462 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:49,462 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:20:49,481 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:49,481 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:20:49,481 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:49,482 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:20:49,482 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:20:49,482 INFO L87 Difference]: Start difference. First operand 190 states and 247 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:20:49,826 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:49,827 INFO L93 Difference]: Finished difference Result 204 states and 260 transitions. [2022-02-20 17:20:49,827 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:20:49,827 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 38 [2022-02-20 17:20:49,827 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:49,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:20:49,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-02-20 17:20:49,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:20:49,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-02-20 17:20:49,830 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-02-20 17:20:49,872 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:49,876 INFO L225 Difference]: With dead ends: 204 [2022-02-20 17:20:49,876 INFO L226 Difference]: Without dead ends: 199 [2022-02-20 17:20:49,877 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 33 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:20:49,877 INFO L933 BasicCegarLoop]: 35 mSDtfsCounter, 7 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 27 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 127 SdHoareTripleChecker+Invalid, 28 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 27 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:20:49,878 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 127 Invalid, 28 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 27 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:20:49,878 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 199 states. [2022-02-20 17:20:50,066 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 199 to 199. [2022-02-20 17:20:50,066 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:20:50,067 INFO L82 GeneralOperation]: Start isEquivalent. First operand 199 states. Second operand has 199 states, 117 states have (on average 1.205128205128205) internal successors, (141), 128 states have internal predecessors, (141), 58 states have call successors, (58), 24 states have call predecessors, (58), 23 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) [2022-02-20 17:20:50,072 INFO L74 IsIncluded]: Start isIncluded. First operand 199 states. Second operand has 199 states, 117 states have (on average 1.205128205128205) internal successors, (141), 128 states have internal predecessors, (141), 58 states have call successors, (58), 24 states have call predecessors, (58), 23 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) [2022-02-20 17:20:50,075 INFO L87 Difference]: Start difference. First operand 199 states. Second operand has 199 states, 117 states have (on average 1.205128205128205) internal successors, (141), 128 states have internal predecessors, (141), 58 states have call successors, (58), 24 states have call predecessors, (58), 23 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) [2022-02-20 17:20:50,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:50,084 INFO L93 Difference]: Finished difference Result 199 states and 250 transitions. [2022-02-20 17:20:50,084 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 250 transitions. [2022-02-20 17:20:50,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:50,086 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:50,087 INFO L74 IsIncluded]: Start isIncluded. First operand has 199 states, 117 states have (on average 1.205128205128205) internal successors, (141), 128 states have internal predecessors, (141), 58 states have call successors, (58), 24 states have call predecessors, (58), 23 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) Second operand 199 states. [2022-02-20 17:20:50,089 INFO L87 Difference]: Start difference. First operand has 199 states, 117 states have (on average 1.205128205128205) internal successors, (141), 128 states have internal predecessors, (141), 58 states have call successors, (58), 24 states have call predecessors, (58), 23 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) Second operand 199 states. [2022-02-20 17:20:50,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:50,103 INFO L93 Difference]: Finished difference Result 199 states and 250 transitions. [2022-02-20 17:20:50,103 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 250 transitions. [2022-02-20 17:20:50,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:50,104 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:50,104 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:20:50,104 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:20:50,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 199 states, 117 states have (on average 1.205128205128205) internal successors, (141), 128 states have internal predecessors, (141), 58 states have call successors, (58), 24 states have call predecessors, (58), 23 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) [2022-02-20 17:20:50,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 199 states to 199 states and 250 transitions. [2022-02-20 17:20:50,115 INFO L78 Accepts]: Start accepts. Automaton has 199 states and 250 transitions. Word has length 38 [2022-02-20 17:20:50,115 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:20:50,115 INFO L470 AbstractCegarLoop]: Abstraction has 199 states and 250 transitions. [2022-02-20 17:20:50,115 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:20:50,115 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 250 transitions. [2022-02-20 17:20:50,116 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 17:20:50,117 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:50,117 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:20:50,139 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-02-20 17:20:50,339 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:50,339 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:50,340 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:50,340 INFO L85 PathProgramCache]: Analyzing trace with hash 1925895455, now seen corresponding path program 1 times [2022-02-20 17:20:50,340 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:50,340 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [996472474] [2022-02-20 17:20:50,340 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:50,340 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:50,351 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:20:50,351 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [766991115] [2022-02-20 17:20:50,351 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:50,351 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:50,351 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:50,352 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:20:50,363 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-02-20 17:20:50,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:50,400 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 17:20:50,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:50,415 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:20:50,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {4290#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4290#true} is VALID [2022-02-20 17:20:50,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {4290#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {4290#true} is VALID [2022-02-20 17:20:50,604 INFO L272 TraceCheckUtils]: 2: Hoare triple {4290#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {4290#true} is VALID [2022-02-20 17:20:50,604 INFO L290 TraceCheckUtils]: 3: Hoare triple {4290#true} ~cond := #in~cond; {4290#true} is VALID [2022-02-20 17:20:50,604 INFO L290 TraceCheckUtils]: 4: Hoare triple {4290#true} assume !(0 == ~cond); {4290#true} is VALID [2022-02-20 17:20:50,604 INFO L290 TraceCheckUtils]: 5: Hoare triple {4290#true} assume true; {4290#true} is VALID [2022-02-20 17:20:50,604 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4290#true} {4290#true} #61#return; {4290#true} is VALID [2022-02-20 17:20:50,604 INFO L272 TraceCheckUtils]: 7: Hoare triple {4290#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {4290#true} is VALID [2022-02-20 17:20:50,605 INFO L290 TraceCheckUtils]: 8: Hoare triple {4290#true} ~cond := #in~cond; {4290#true} is VALID [2022-02-20 17:20:50,605 INFO L290 TraceCheckUtils]: 9: Hoare triple {4290#true} assume !(0 == ~cond); {4290#true} is VALID [2022-02-20 17:20:50,605 INFO L290 TraceCheckUtils]: 10: Hoare triple {4290#true} assume true; {4290#true} is VALID [2022-02-20 17:20:50,605 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4290#true} {4290#true} #63#return; {4290#true} is VALID [2022-02-20 17:20:50,605 INFO L290 TraceCheckUtils]: 12: Hoare triple {4290#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {4290#true} is VALID [2022-02-20 17:20:50,605 INFO L290 TraceCheckUtils]: 13: Hoare triple {4290#true} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {4290#true} is VALID [2022-02-20 17:20:50,605 INFO L290 TraceCheckUtils]: 14: Hoare triple {4290#true} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {4290#true} is VALID [2022-02-20 17:20:50,605 INFO L272 TraceCheckUtils]: 15: Hoare triple {4290#true} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {4290#true} is VALID [2022-02-20 17:20:50,605 INFO L290 TraceCheckUtils]: 16: Hoare triple {4290#true} ~cond := #in~cond; {4290#true} is VALID [2022-02-20 17:20:50,606 INFO L290 TraceCheckUtils]: 17: Hoare triple {4290#true} assume !(0 == ~cond); {4290#true} is VALID [2022-02-20 17:20:50,606 INFO L290 TraceCheckUtils]: 18: Hoare triple {4290#true} assume true; {4290#true} is VALID [2022-02-20 17:20:50,606 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4290#true} {4290#true} #65#return; {4290#true} is VALID [2022-02-20 17:20:50,606 INFO L272 TraceCheckUtils]: 20: Hoare triple {4290#true} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {4290#true} is VALID [2022-02-20 17:20:50,607 INFO L290 TraceCheckUtils]: 21: Hoare triple {4290#true} ~cond := #in~cond; {4358#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:20:50,607 INFO L290 TraceCheckUtils]: 22: Hoare triple {4358#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4362#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:20:50,608 INFO L290 TraceCheckUtils]: 23: Hoare triple {4362#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4362#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:20:50,609 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {4362#(not (= |__VERIFIER_assert_#in~cond| 0))} {4290#true} #67#return; {4369#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:20:50,609 INFO L272 TraceCheckUtils]: 25: Hoare triple {4369#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {4290#true} is VALID [2022-02-20 17:20:50,609 INFO L290 TraceCheckUtils]: 26: Hoare triple {4290#true} ~cond := #in~cond; {4290#true} is VALID [2022-02-20 17:20:50,609 INFO L290 TraceCheckUtils]: 27: Hoare triple {4290#true} assume !(0 == ~cond); {4290#true} is VALID [2022-02-20 17:20:50,609 INFO L290 TraceCheckUtils]: 28: Hoare triple {4290#true} assume true; {4290#true} is VALID [2022-02-20 17:20:50,610 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {4290#true} {4369#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} #69#return; {4369#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:20:50,611 INFO L290 TraceCheckUtils]: 30: Hoare triple {4369#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} assume !(main_~a~0#1 != main_~b~0#1); {4388#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:20:50,611 INFO L272 TraceCheckUtils]: 31: Hoare triple {4388#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {4290#true} is VALID [2022-02-20 17:20:50,611 INFO L290 TraceCheckUtils]: 32: Hoare triple {4290#true} ~cond := #in~cond; {4290#true} is VALID [2022-02-20 17:20:50,611 INFO L290 TraceCheckUtils]: 33: Hoare triple {4290#true} assume !(0 == ~cond); {4290#true} is VALID [2022-02-20 17:20:50,611 INFO L290 TraceCheckUtils]: 34: Hoare triple {4290#true} assume true; {4290#true} is VALID [2022-02-20 17:20:50,613 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4290#true} {4388#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} #71#return; {4388#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:20:50,613 INFO L272 TraceCheckUtils]: 36: Hoare triple {4388#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~p~0#1 * main_~x~0#1 + main_~r~0#1 * main_~y~0#1 - main_~b~0#1 then 1 else 0)); {4407#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:20:50,614 INFO L290 TraceCheckUtils]: 37: Hoare triple {4407#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4411#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:20:50,614 INFO L290 TraceCheckUtils]: 38: Hoare triple {4411#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4291#false} is VALID [2022-02-20 17:20:50,614 INFO L290 TraceCheckUtils]: 39: Hoare triple {4291#false} assume !false; {4291#false} is VALID [2022-02-20 17:20:50,615 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-02-20 17:20:50,615 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:00,028 INFO L290 TraceCheckUtils]: 39: Hoare triple {4291#false} assume !false; {4291#false} is VALID [2022-02-20 17:21:00,029 INFO L290 TraceCheckUtils]: 38: Hoare triple {4411#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4291#false} is VALID [2022-02-20 17:21:00,029 INFO L290 TraceCheckUtils]: 37: Hoare triple {4407#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4411#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:00,030 INFO L272 TraceCheckUtils]: 36: Hoare triple {4388#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~p~0#1 * main_~x~0#1 + main_~r~0#1 * main_~y~0#1 - main_~b~0#1 then 1 else 0)); {4407#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:00,030 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4290#true} {4388#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} #71#return; {4388#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:00,030 INFO L290 TraceCheckUtils]: 34: Hoare triple {4290#true} assume true; {4290#true} is VALID [2022-02-20 17:21:00,030 INFO L290 TraceCheckUtils]: 33: Hoare triple {4290#true} assume !(0 == ~cond); {4290#true} is VALID [2022-02-20 17:21:00,030 INFO L290 TraceCheckUtils]: 32: Hoare triple {4290#true} ~cond := #in~cond; {4290#true} is VALID [2022-02-20 17:21:00,031 INFO L272 TraceCheckUtils]: 31: Hoare triple {4388#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {4290#true} is VALID [2022-02-20 17:21:00,031 INFO L290 TraceCheckUtils]: 30: Hoare triple {4369#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} assume !(main_~a~0#1 != main_~b~0#1); {4388#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:00,032 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {4290#true} {4369#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} #69#return; {4369#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:00,032 INFO L290 TraceCheckUtils]: 28: Hoare triple {4290#true} assume true; {4290#true} is VALID [2022-02-20 17:21:00,032 INFO L290 TraceCheckUtils]: 27: Hoare triple {4290#true} assume !(0 == ~cond); {4290#true} is VALID [2022-02-20 17:21:00,032 INFO L290 TraceCheckUtils]: 26: Hoare triple {4290#true} ~cond := #in~cond; {4290#true} is VALID [2022-02-20 17:21:00,032 INFO L272 TraceCheckUtils]: 25: Hoare triple {4369#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {4290#true} is VALID [2022-02-20 17:21:00,032 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {4362#(not (= |__VERIFIER_assert_#in~cond| 0))} {4290#true} #67#return; {4369#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:00,033 INFO L290 TraceCheckUtils]: 23: Hoare triple {4362#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4362#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:00,033 INFO L290 TraceCheckUtils]: 22: Hoare triple {4472#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4362#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:00,033 INFO L290 TraceCheckUtils]: 21: Hoare triple {4290#true} ~cond := #in~cond; {4472#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:21:00,034 INFO L272 TraceCheckUtils]: 20: Hoare triple {4290#true} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {4290#true} is VALID [2022-02-20 17:21:00,034 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4290#true} {4290#true} #65#return; {4290#true} is VALID [2022-02-20 17:21:00,034 INFO L290 TraceCheckUtils]: 18: Hoare triple {4290#true} assume true; {4290#true} is VALID [2022-02-20 17:21:00,034 INFO L290 TraceCheckUtils]: 17: Hoare triple {4290#true} assume !(0 == ~cond); {4290#true} is VALID [2022-02-20 17:21:00,034 INFO L290 TraceCheckUtils]: 16: Hoare triple {4290#true} ~cond := #in~cond; {4290#true} is VALID [2022-02-20 17:21:00,034 INFO L272 TraceCheckUtils]: 15: Hoare triple {4290#true} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {4290#true} is VALID [2022-02-20 17:21:00,034 INFO L290 TraceCheckUtils]: 14: Hoare triple {4290#true} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {4290#true} is VALID [2022-02-20 17:21:00,034 INFO L290 TraceCheckUtils]: 13: Hoare triple {4290#true} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {4290#true} is VALID [2022-02-20 17:21:00,034 INFO L290 TraceCheckUtils]: 12: Hoare triple {4290#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {4290#true} is VALID [2022-02-20 17:21:00,034 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {4290#true} {4290#true} #63#return; {4290#true} is VALID [2022-02-20 17:21:00,034 INFO L290 TraceCheckUtils]: 10: Hoare triple {4290#true} assume true; {4290#true} is VALID [2022-02-20 17:21:00,034 INFO L290 TraceCheckUtils]: 9: Hoare triple {4290#true} assume !(0 == ~cond); {4290#true} is VALID [2022-02-20 17:21:00,035 INFO L290 TraceCheckUtils]: 8: Hoare triple {4290#true} ~cond := #in~cond; {4290#true} is VALID [2022-02-20 17:21:00,035 INFO L272 TraceCheckUtils]: 7: Hoare triple {4290#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {4290#true} is VALID [2022-02-20 17:21:00,035 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4290#true} {4290#true} #61#return; {4290#true} is VALID [2022-02-20 17:21:00,035 INFO L290 TraceCheckUtils]: 5: Hoare triple {4290#true} assume true; {4290#true} is VALID [2022-02-20 17:21:00,035 INFO L290 TraceCheckUtils]: 4: Hoare triple {4290#true} assume !(0 == ~cond); {4290#true} is VALID [2022-02-20 17:21:00,035 INFO L290 TraceCheckUtils]: 3: Hoare triple {4290#true} ~cond := #in~cond; {4290#true} is VALID [2022-02-20 17:21:00,035 INFO L272 TraceCheckUtils]: 2: Hoare triple {4290#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {4290#true} is VALID [2022-02-20 17:21:00,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {4290#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {4290#true} is VALID [2022-02-20 17:21:00,036 INFO L290 TraceCheckUtils]: 0: Hoare triple {4290#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4290#true} is VALID [2022-02-20 17:21:00,036 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-02-20 17:21:00,036 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:00,036 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [996472474] [2022-02-20 17:21:00,036 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:00,036 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [766991115] [2022-02-20 17:21:00,037 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [766991115] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:21:00,037 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:21:00,037 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-02-20 17:21:00,037 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [523781500] [2022-02-20 17:21:00,037 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:21:00,038 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 40 [2022-02-20 17:21:00,038 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:00,038 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 17:21:00,064 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:00,064 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 17:21:00,064 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:00,064 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 17:21:00,064 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:21:00,065 INFO L87 Difference]: Start difference. First operand 199 states and 250 transitions. Second operand has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 17:21:00,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:00,984 INFO L93 Difference]: Finished difference Result 228 states and 286 transitions. [2022-02-20 17:21:00,984 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 17:21:00,984 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 40 [2022-02-20 17:21:00,984 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:00,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 17:21:00,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 56 transitions. [2022-02-20 17:21:00,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 17:21:00,996 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 56 transitions. [2022-02-20 17:21:00,996 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 56 transitions. [2022-02-20 17:21:01,051 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:01,054 INFO L225 Difference]: With dead ends: 228 [2022-02-20 17:21:01,055 INFO L226 Difference]: Without dead ends: 212 [2022-02-20 17:21:01,055 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 70 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:21:01,056 INFO L933 BasicCegarLoop]: 25 mSDtfsCounter, 16 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 138 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 138 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:01,056 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 137 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 138 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 17:21:01,056 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-02-20 17:21:01,235 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 210. [2022-02-20 17:21:01,235 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:01,236 INFO L82 GeneralOperation]: Start isEquivalent. First operand 212 states. Second operand has 210 states, 127 states have (on average 1.1653543307086613) internal successors, (148), 138 states have internal predecessors, (148), 57 states have call successors, (57), 25 states have call predecessors, (57), 25 states have return successors, (53), 46 states have call predecessors, (53), 53 states have call successors, (53) [2022-02-20 17:21:01,236 INFO L74 IsIncluded]: Start isIncluded. First operand 212 states. Second operand has 210 states, 127 states have (on average 1.1653543307086613) internal successors, (148), 138 states have internal predecessors, (148), 57 states have call successors, (57), 25 states have call predecessors, (57), 25 states have return successors, (53), 46 states have call predecessors, (53), 53 states have call successors, (53) [2022-02-20 17:21:01,237 INFO L87 Difference]: Start difference. First operand 212 states. Second operand has 210 states, 127 states have (on average 1.1653543307086613) internal successors, (148), 138 states have internal predecessors, (148), 57 states have call successors, (57), 25 states have call predecessors, (57), 25 states have return successors, (53), 46 states have call predecessors, (53), 53 states have call successors, (53) [2022-02-20 17:21:01,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:01,243 INFO L93 Difference]: Finished difference Result 212 states and 261 transitions. [2022-02-20 17:21:01,243 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 261 transitions. [2022-02-20 17:21:01,244 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:01,244 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:01,245 INFO L74 IsIncluded]: Start isIncluded. First operand has 210 states, 127 states have (on average 1.1653543307086613) internal successors, (148), 138 states have internal predecessors, (148), 57 states have call successors, (57), 25 states have call predecessors, (57), 25 states have return successors, (53), 46 states have call predecessors, (53), 53 states have call successors, (53) Second operand 212 states. [2022-02-20 17:21:01,245 INFO L87 Difference]: Start difference. First operand has 210 states, 127 states have (on average 1.1653543307086613) internal successors, (148), 138 states have internal predecessors, (148), 57 states have call successors, (57), 25 states have call predecessors, (57), 25 states have return successors, (53), 46 states have call predecessors, (53), 53 states have call successors, (53) Second operand 212 states. [2022-02-20 17:21:01,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:01,251 INFO L93 Difference]: Finished difference Result 212 states and 261 transitions. [2022-02-20 17:21:01,251 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 261 transitions. [2022-02-20 17:21:01,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:01,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:01,252 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:01,252 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:01,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 210 states, 127 states have (on average 1.1653543307086613) internal successors, (148), 138 states have internal predecessors, (148), 57 states have call successors, (57), 25 states have call predecessors, (57), 25 states have return successors, (53), 46 states have call predecessors, (53), 53 states have call successors, (53) [2022-02-20 17:21:01,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 258 transitions. [2022-02-20 17:21:01,259 INFO L78 Accepts]: Start accepts. Automaton has 210 states and 258 transitions. Word has length 40 [2022-02-20 17:21:01,259 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:01,259 INFO L470 AbstractCegarLoop]: Abstraction has 210 states and 258 transitions. [2022-02-20 17:21:01,259 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-02-20 17:21:01,259 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 258 transitions. [2022-02-20 17:21:01,260 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 17:21:01,260 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:01,260 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:01,285 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-02-20 17:21:01,479 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:01,480 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:01,480 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:01,480 INFO L85 PathProgramCache]: Analyzing trace with hash 968731240, now seen corresponding path program 2 times [2022-02-20 17:21:01,480 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:01,480 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1101927863] [2022-02-20 17:21:01,480 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:01,480 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:01,490 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:01,490 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [168773444] [2022-02-20 17:21:01,497 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 17:21:01,498 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:01,498 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:01,499 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:21:01,500 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-02-20 17:21:01,535 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 17:21:01,535 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 17:21:01,536 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 21 conjunts are in the unsatisfiable core [2022-02-20 17:21:01,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:01,545 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:01,848 INFO L290 TraceCheckUtils]: 0: Hoare triple {5609#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5609#true} is VALID [2022-02-20 17:21:01,848 INFO L290 TraceCheckUtils]: 1: Hoare triple {5609#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {5609#true} is VALID [2022-02-20 17:21:01,848 INFO L272 TraceCheckUtils]: 2: Hoare triple {5609#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {5609#true} is VALID [2022-02-20 17:21:01,848 INFO L290 TraceCheckUtils]: 3: Hoare triple {5609#true} ~cond := #in~cond; {5609#true} is VALID [2022-02-20 17:21:01,848 INFO L290 TraceCheckUtils]: 4: Hoare triple {5609#true} assume !(0 == ~cond); {5609#true} is VALID [2022-02-20 17:21:01,848 INFO L290 TraceCheckUtils]: 5: Hoare triple {5609#true} assume true; {5609#true} is VALID [2022-02-20 17:21:01,849 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {5609#true} {5609#true} #61#return; {5609#true} is VALID [2022-02-20 17:21:01,849 INFO L272 TraceCheckUtils]: 7: Hoare triple {5609#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {5609#true} is VALID [2022-02-20 17:21:01,849 INFO L290 TraceCheckUtils]: 8: Hoare triple {5609#true} ~cond := #in~cond; {5609#true} is VALID [2022-02-20 17:21:01,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {5609#true} assume !(0 == ~cond); {5609#true} is VALID [2022-02-20 17:21:01,849 INFO L290 TraceCheckUtils]: 10: Hoare triple {5609#true} assume true; {5609#true} is VALID [2022-02-20 17:21:01,849 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {5609#true} {5609#true} #63#return; {5609#true} is VALID [2022-02-20 17:21:01,850 INFO L290 TraceCheckUtils]: 12: Hoare triple {5609#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:01,851 INFO L290 TraceCheckUtils]: 13: Hoare triple {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:01,852 INFO L290 TraceCheckUtils]: 14: Hoare triple {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:01,852 INFO L272 TraceCheckUtils]: 15: Hoare triple {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {5609#true} is VALID [2022-02-20 17:21:01,852 INFO L290 TraceCheckUtils]: 16: Hoare triple {5609#true} ~cond := #in~cond; {5609#true} is VALID [2022-02-20 17:21:01,852 INFO L290 TraceCheckUtils]: 17: Hoare triple {5609#true} assume !(0 == ~cond); {5609#true} is VALID [2022-02-20 17:21:01,852 INFO L290 TraceCheckUtils]: 18: Hoare triple {5609#true} assume true; {5609#true} is VALID [2022-02-20 17:21:01,855 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5609#true} {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #65#return; {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:01,855 INFO L272 TraceCheckUtils]: 20: Hoare triple {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {5609#true} is VALID [2022-02-20 17:21:01,855 INFO L290 TraceCheckUtils]: 21: Hoare triple {5609#true} ~cond := #in~cond; {5609#true} is VALID [2022-02-20 17:21:01,855 INFO L290 TraceCheckUtils]: 22: Hoare triple {5609#true} assume !(0 == ~cond); {5609#true} is VALID [2022-02-20 17:21:01,855 INFO L290 TraceCheckUtils]: 23: Hoare triple {5609#true} assume true; {5609#true} is VALID [2022-02-20 17:21:01,858 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {5609#true} {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #67#return; {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:01,858 INFO L272 TraceCheckUtils]: 25: Hoare triple {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {5609#true} is VALID [2022-02-20 17:21:01,858 INFO L290 TraceCheckUtils]: 26: Hoare triple {5609#true} ~cond := #in~cond; {5609#true} is VALID [2022-02-20 17:21:01,858 INFO L290 TraceCheckUtils]: 27: Hoare triple {5609#true} assume !(0 == ~cond); {5609#true} is VALID [2022-02-20 17:21:01,858 INFO L290 TraceCheckUtils]: 28: Hoare triple {5609#true} assume true; {5609#true} is VALID [2022-02-20 17:21:01,859 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {5609#true} {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #69#return; {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:01,859 INFO L290 TraceCheckUtils]: 30: Hoare triple {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_~a~0#1 != main_~b~0#1); {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:01,860 INFO L290 TraceCheckUtils]: 31: Hoare triple {5650#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {5708#(and (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1| (+ (* (- 1) |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 17:21:01,860 INFO L290 TraceCheckUtils]: 32: Hoare triple {5708#(and (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1| (+ (* (- 1) |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~x~0#1|)))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {5708#(and (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1| (+ (* (- 1) |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 17:21:01,861 INFO L290 TraceCheckUtils]: 33: Hoare triple {5708#(and (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1| (+ (* (- 1) |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~x~0#1|)))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {5708#(and (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1| (+ (* (- 1) |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 17:21:01,861 INFO L272 TraceCheckUtils]: 34: Hoare triple {5708#(and (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1| (+ (* (- 1) |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~x~0#1|)))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {5609#true} is VALID [2022-02-20 17:21:01,861 INFO L290 TraceCheckUtils]: 35: Hoare triple {5609#true} ~cond := #in~cond; {5609#true} is VALID [2022-02-20 17:21:01,861 INFO L290 TraceCheckUtils]: 36: Hoare triple {5609#true} assume !(0 == ~cond); {5609#true} is VALID [2022-02-20 17:21:01,861 INFO L290 TraceCheckUtils]: 37: Hoare triple {5609#true} assume true; {5609#true} is VALID [2022-02-20 17:21:01,862 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5609#true} {5708#(and (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1| (+ (* (- 1) |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~x~0#1|)))} #65#return; {5708#(and (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1| (+ (* (- 1) |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~x~0#1|)))} is VALID [2022-02-20 17:21:01,862 INFO L272 TraceCheckUtils]: 39: Hoare triple {5708#(and (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1) (= |ULTIMATE.start_main_~a~0#1| (+ (* (- 1) |ULTIMATE.start_main_~y~0#1|) |ULTIMATE.start_main_~x~0#1|)))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {5733#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:01,863 INFO L290 TraceCheckUtils]: 40: Hoare triple {5733#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5737#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:01,863 INFO L290 TraceCheckUtils]: 41: Hoare triple {5737#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5610#false} is VALID [2022-02-20 17:21:01,863 INFO L290 TraceCheckUtils]: 42: Hoare triple {5610#false} assume !false; {5610#false} is VALID [2022-02-20 17:21:01,863 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-02-20 17:21:01,863 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:02,050 INFO L290 TraceCheckUtils]: 42: Hoare triple {5610#false} assume !false; {5610#false} is VALID [2022-02-20 17:21:02,050 INFO L290 TraceCheckUtils]: 41: Hoare triple {5737#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5610#false} is VALID [2022-02-20 17:21:02,051 INFO L290 TraceCheckUtils]: 40: Hoare triple {5733#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5737#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:02,055 INFO L272 TraceCheckUtils]: 39: Hoare triple {5753#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {5733#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:02,056 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5609#true} {5753#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} #65#return; {5753#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:02,056 INFO L290 TraceCheckUtils]: 37: Hoare triple {5609#true} assume true; {5609#true} is VALID [2022-02-20 17:21:02,056 INFO L290 TraceCheckUtils]: 36: Hoare triple {5609#true} assume !(0 == ~cond); {5609#true} is VALID [2022-02-20 17:21:02,056 INFO L290 TraceCheckUtils]: 35: Hoare triple {5609#true} ~cond := #in~cond; {5609#true} is VALID [2022-02-20 17:21:02,057 INFO L272 TraceCheckUtils]: 34: Hoare triple {5753#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {5609#true} is VALID [2022-02-20 17:21:02,060 INFO L290 TraceCheckUtils]: 33: Hoare triple {5753#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {5753#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:02,060 INFO L290 TraceCheckUtils]: 32: Hoare triple {5753#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {5753#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:02,193 INFO L290 TraceCheckUtils]: 31: Hoare triple {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {5753#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:02,194 INFO L290 TraceCheckUtils]: 30: Hoare triple {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} assume !!(main_~a~0#1 != main_~b~0#1); {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:21:02,194 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {5609#true} {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} #69#return; {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:21:02,194 INFO L290 TraceCheckUtils]: 28: Hoare triple {5609#true} assume true; {5609#true} is VALID [2022-02-20 17:21:02,194 INFO L290 TraceCheckUtils]: 27: Hoare triple {5609#true} assume !(0 == ~cond); {5609#true} is VALID [2022-02-20 17:21:02,195 INFO L290 TraceCheckUtils]: 26: Hoare triple {5609#true} ~cond := #in~cond; {5609#true} is VALID [2022-02-20 17:21:02,195 INFO L272 TraceCheckUtils]: 25: Hoare triple {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {5609#true} is VALID [2022-02-20 17:21:02,195 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {5609#true} {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} #67#return; {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:21:02,195 INFO L290 TraceCheckUtils]: 23: Hoare triple {5609#true} assume true; {5609#true} is VALID [2022-02-20 17:21:02,195 INFO L290 TraceCheckUtils]: 22: Hoare triple {5609#true} assume !(0 == ~cond); {5609#true} is VALID [2022-02-20 17:21:02,195 INFO L290 TraceCheckUtils]: 21: Hoare triple {5609#true} ~cond := #in~cond; {5609#true} is VALID [2022-02-20 17:21:02,196 INFO L272 TraceCheckUtils]: 20: Hoare triple {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {5609#true} is VALID [2022-02-20 17:21:02,196 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {5609#true} {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} #65#return; {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:21:02,196 INFO L290 TraceCheckUtils]: 18: Hoare triple {5609#true} assume true; {5609#true} is VALID [2022-02-20 17:21:02,196 INFO L290 TraceCheckUtils]: 17: Hoare triple {5609#true} assume !(0 == ~cond); {5609#true} is VALID [2022-02-20 17:21:02,196 INFO L290 TraceCheckUtils]: 16: Hoare triple {5609#true} ~cond := #in~cond; {5609#true} is VALID [2022-02-20 17:21:02,196 INFO L272 TraceCheckUtils]: 15: Hoare triple {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {5609#true} is VALID [2022-02-20 17:21:02,203 INFO L290 TraceCheckUtils]: 14: Hoare triple {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:21:02,204 INFO L290 TraceCheckUtils]: 13: Hoare triple {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:21:02,204 INFO L290 TraceCheckUtils]: 12: Hoare triple {5609#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {5778#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:21:02,204 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {5609#true} {5609#true} #63#return; {5609#true} is VALID [2022-02-20 17:21:02,204 INFO L290 TraceCheckUtils]: 10: Hoare triple {5609#true} assume true; {5609#true} is VALID [2022-02-20 17:21:02,204 INFO L290 TraceCheckUtils]: 9: Hoare triple {5609#true} assume !(0 == ~cond); {5609#true} is VALID [2022-02-20 17:21:02,204 INFO L290 TraceCheckUtils]: 8: Hoare triple {5609#true} ~cond := #in~cond; {5609#true} is VALID [2022-02-20 17:21:02,204 INFO L272 TraceCheckUtils]: 7: Hoare triple {5609#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {5609#true} is VALID [2022-02-20 17:21:02,204 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {5609#true} {5609#true} #61#return; {5609#true} is VALID [2022-02-20 17:21:02,204 INFO L290 TraceCheckUtils]: 5: Hoare triple {5609#true} assume true; {5609#true} is VALID [2022-02-20 17:21:02,205 INFO L290 TraceCheckUtils]: 4: Hoare triple {5609#true} assume !(0 == ~cond); {5609#true} is VALID [2022-02-20 17:21:02,205 INFO L290 TraceCheckUtils]: 3: Hoare triple {5609#true} ~cond := #in~cond; {5609#true} is VALID [2022-02-20 17:21:02,205 INFO L272 TraceCheckUtils]: 2: Hoare triple {5609#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {5609#true} is VALID [2022-02-20 17:21:02,205 INFO L290 TraceCheckUtils]: 1: Hoare triple {5609#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {5609#true} is VALID [2022-02-20 17:21:02,205 INFO L290 TraceCheckUtils]: 0: Hoare triple {5609#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5609#true} is VALID [2022-02-20 17:21:02,205 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-02-20 17:21:02,205 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:02,205 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1101927863] [2022-02-20 17:21:02,205 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:02,205 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [168773444] [2022-02-20 17:21:02,205 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [168773444] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:21:02,205 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:21:02,205 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-02-20 17:21:02,206 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1089113407] [2022-02-20 17:21:02,206 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:21:02,206 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 43 [2022-02-20 17:21:02,206 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:02,207 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 17:21:02,292 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:02,292 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:21:02,292 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:02,293 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:21:02,293 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:21:02,293 INFO L87 Difference]: Start difference. First operand 210 states and 258 transitions. Second operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 17:21:06,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:06,356 INFO L93 Difference]: Finished difference Result 249 states and 310 transitions. [2022-02-20 17:21:06,356 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 17:21:06,357 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) Word has length 43 [2022-02-20 17:21:06,357 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:06,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 17:21:06,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 71 transitions. [2022-02-20 17:21:06,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 17:21:06,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 71 transitions. [2022-02-20 17:21:06,362 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 71 transitions. [2022-02-20 17:21:06,552 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:06,556 INFO L225 Difference]: With dead ends: 249 [2022-02-20 17:21:06,556 INFO L226 Difference]: Without dead ends: 225 [2022-02-20 17:21:06,557 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 77 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:21:06,557 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 15 mSDsluCounter, 146 mSDsCounter, 0 mSdLazyCounter, 100 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 140 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 100 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:06,557 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 186 Invalid, 140 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 100 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-02-20 17:21:06,559 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 225 states. [2022-02-20 17:21:06,709 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 225 to 206. [2022-02-20 17:21:06,709 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:06,709 INFO L82 GeneralOperation]: Start isEquivalent. First operand 225 states. Second operand has 206 states, 133 states have (on average 1.1278195488721805) internal successors, (150), 141 states have internal predecessors, (150), 45 states have call successors, (45), 27 states have call predecessors, (45), 27 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-02-20 17:21:06,710 INFO L74 IsIncluded]: Start isIncluded. First operand 225 states. Second operand has 206 states, 133 states have (on average 1.1278195488721805) internal successors, (150), 141 states have internal predecessors, (150), 45 states have call successors, (45), 27 states have call predecessors, (45), 27 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-02-20 17:21:06,710 INFO L87 Difference]: Start difference. First operand 225 states. Second operand has 206 states, 133 states have (on average 1.1278195488721805) internal successors, (150), 141 states have internal predecessors, (150), 45 states have call successors, (45), 27 states have call predecessors, (45), 27 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-02-20 17:21:06,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:06,716 INFO L93 Difference]: Finished difference Result 225 states and 269 transitions. [2022-02-20 17:21:06,716 INFO L276 IsEmpty]: Start isEmpty. Operand 225 states and 269 transitions. [2022-02-20 17:21:06,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:06,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:06,717 INFO L74 IsIncluded]: Start isIncluded. First operand has 206 states, 133 states have (on average 1.1278195488721805) internal successors, (150), 141 states have internal predecessors, (150), 45 states have call successors, (45), 27 states have call predecessors, (45), 27 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) Second operand 225 states. [2022-02-20 17:21:06,718 INFO L87 Difference]: Start difference. First operand has 206 states, 133 states have (on average 1.1278195488721805) internal successors, (150), 141 states have internal predecessors, (150), 45 states have call successors, (45), 27 states have call predecessors, (45), 27 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) Second operand 225 states. [2022-02-20 17:21:06,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:06,724 INFO L93 Difference]: Finished difference Result 225 states and 269 transitions. [2022-02-20 17:21:06,724 INFO L276 IsEmpty]: Start isEmpty. Operand 225 states and 269 transitions. [2022-02-20 17:21:06,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:06,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:06,725 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:06,725 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:06,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 206 states, 133 states have (on average 1.1278195488721805) internal successors, (150), 141 states have internal predecessors, (150), 45 states have call successors, (45), 27 states have call predecessors, (45), 27 states have return successors, (41), 37 states have call predecessors, (41), 41 states have call successors, (41) [2022-02-20 17:21:06,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 206 states to 206 states and 236 transitions. [2022-02-20 17:21:06,731 INFO L78 Accepts]: Start accepts. Automaton has 206 states and 236 transitions. Word has length 43 [2022-02-20 17:21:06,731 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:06,731 INFO L470 AbstractCegarLoop]: Abstraction has 206 states and 236 transitions. [2022-02-20 17:21:06,731 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 7 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 5 states have call predecessors, (10), 5 states have call successors, (10) [2022-02-20 17:21:06,731 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 236 transitions. [2022-02-20 17:21:06,732 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-02-20 17:21:06,732 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:06,732 INFO L514 BasicCegarLoop]: trace histogram [7, 6, 6, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:06,757 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-02-20 17:21:06,955 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-02-20 17:21:06,955 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:06,956 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:06,956 INFO L85 PathProgramCache]: Analyzing trace with hash -715006568, now seen corresponding path program 1 times [2022-02-20 17:21:06,956 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:06,956 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [843449763] [2022-02-20 17:21:06,956 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:06,956 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:06,966 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:06,966 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [245373603] [2022-02-20 17:21:06,966 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:06,967 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:06,967 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:06,968 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:21:06,980 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-02-20 17:21:07,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:07,020 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 19 conjunts are in the unsatisfiable core [2022-02-20 17:21:07,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:07,030 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:07,400 INFO L290 TraceCheckUtils]: 0: Hoare triple {6985#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6985#true} is VALID [2022-02-20 17:21:07,401 INFO L290 TraceCheckUtils]: 1: Hoare triple {6985#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {6985#true} is VALID [2022-02-20 17:21:07,401 INFO L272 TraceCheckUtils]: 2: Hoare triple {6985#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,401 INFO L290 TraceCheckUtils]: 3: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,401 INFO L290 TraceCheckUtils]: 4: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,401 INFO L290 TraceCheckUtils]: 5: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,401 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {6985#true} {6985#true} #61#return; {6985#true} is VALID [2022-02-20 17:21:07,401 INFO L272 TraceCheckUtils]: 7: Hoare triple {6985#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,401 INFO L290 TraceCheckUtils]: 8: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,401 INFO L290 TraceCheckUtils]: 9: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,401 INFO L290 TraceCheckUtils]: 10: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,402 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6985#true} {6985#true} #63#return; {6985#true} is VALID [2022-02-20 17:21:07,402 INFO L290 TraceCheckUtils]: 12: Hoare triple {6985#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:07,402 INFO L290 TraceCheckUtils]: 13: Hoare triple {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:07,403 INFO L290 TraceCheckUtils]: 14: Hoare triple {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:07,403 INFO L272 TraceCheckUtils]: 15: Hoare triple {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,403 INFO L290 TraceCheckUtils]: 16: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,403 INFO L290 TraceCheckUtils]: 17: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,403 INFO L290 TraceCheckUtils]: 18: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,404 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {6985#true} {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #65#return; {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:07,404 INFO L272 TraceCheckUtils]: 20: Hoare triple {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,404 INFO L290 TraceCheckUtils]: 21: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,404 INFO L290 TraceCheckUtils]: 22: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,405 INFO L290 TraceCheckUtils]: 23: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,406 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {6985#true} {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #67#return; {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:07,406 INFO L272 TraceCheckUtils]: 25: Hoare triple {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,406 INFO L290 TraceCheckUtils]: 26: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,406 INFO L290 TraceCheckUtils]: 27: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,406 INFO L290 TraceCheckUtils]: 28: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,407 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {6985#true} {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #69#return; {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:07,407 INFO L290 TraceCheckUtils]: 30: Hoare triple {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_~a~0#1 != main_~b~0#1); {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:07,408 INFO L290 TraceCheckUtils]: 31: Hoare triple {7026#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:07,409 INFO L290 TraceCheckUtils]: 32: Hoare triple {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:07,409 INFO L290 TraceCheckUtils]: 33: Hoare triple {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:07,409 INFO L272 TraceCheckUtils]: 34: Hoare triple {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,409 INFO L290 TraceCheckUtils]: 35: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,409 INFO L290 TraceCheckUtils]: 36: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,409 INFO L290 TraceCheckUtils]: 37: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,410 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6985#true} {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #65#return; {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:07,410 INFO L272 TraceCheckUtils]: 39: Hoare triple {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,410 INFO L290 TraceCheckUtils]: 40: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,410 INFO L290 TraceCheckUtils]: 41: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,410 INFO L290 TraceCheckUtils]: 42: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,411 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6985#true} {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #67#return; {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:07,411 INFO L272 TraceCheckUtils]: 44: Hoare triple {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,411 INFO L290 TraceCheckUtils]: 45: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,411 INFO L290 TraceCheckUtils]: 46: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,411 INFO L290 TraceCheckUtils]: 47: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,412 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6985#true} {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #69#return; {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:07,412 INFO L290 TraceCheckUtils]: 49: Hoare triple {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_~a~0#1 != main_~b~0#1); {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:07,413 INFO L290 TraceCheckUtils]: 50: Hoare triple {7084#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !(main_~a~0#1 > main_~b~0#1);main_~b~0#1 := main_~b~0#1 - main_~a~0#1;main_~q~0#1 := main_~q~0#1 - main_~p~0#1;main_~s~0#1 := main_~s~0#1 - main_~r~0#1; {7142#(and (= (+ |ULTIMATE.start_main_~r~0#1| 1) 0) (= |ULTIMATE.start_main_~s~0#1| (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1) |ULTIMATE.start_main_~p~0#1|) (= (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) 0))} is VALID [2022-02-20 17:21:07,414 INFO L290 TraceCheckUtils]: 51: Hoare triple {7142#(and (= (+ |ULTIMATE.start_main_~r~0#1| 1) 0) (= |ULTIMATE.start_main_~s~0#1| (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1) |ULTIMATE.start_main_~p~0#1|) (= (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) 0))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {7142#(and (= (+ |ULTIMATE.start_main_~r~0#1| 1) 0) (= |ULTIMATE.start_main_~s~0#1| (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1) |ULTIMATE.start_main_~p~0#1|) (= (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) 0))} is VALID [2022-02-20 17:21:07,414 INFO L290 TraceCheckUtils]: 52: Hoare triple {7142#(and (= (+ |ULTIMATE.start_main_~r~0#1| 1) 0) (= |ULTIMATE.start_main_~s~0#1| (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1) |ULTIMATE.start_main_~p~0#1|) (= (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) 0))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {7142#(and (= (+ |ULTIMATE.start_main_~r~0#1| 1) 0) (= |ULTIMATE.start_main_~s~0#1| (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1) |ULTIMATE.start_main_~p~0#1|) (= (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) 0))} is VALID [2022-02-20 17:21:07,415 INFO L272 TraceCheckUtils]: 53: Hoare triple {7142#(and (= (+ |ULTIMATE.start_main_~r~0#1| 1) 0) (= |ULTIMATE.start_main_~s~0#1| (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1) |ULTIMATE.start_main_~p~0#1|) (= (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) 0))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {7152#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:07,415 INFO L290 TraceCheckUtils]: 54: Hoare triple {7152#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7156#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:07,415 INFO L290 TraceCheckUtils]: 55: Hoare triple {7156#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6986#false} is VALID [2022-02-20 17:21:07,416 INFO L290 TraceCheckUtils]: 56: Hoare triple {6986#false} assume !false; {6986#false} is VALID [2022-02-20 17:21:07,416 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 13 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-02-20 17:21:07,416 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:07,769 INFO L290 TraceCheckUtils]: 56: Hoare triple {6986#false} assume !false; {6986#false} is VALID [2022-02-20 17:21:07,769 INFO L290 TraceCheckUtils]: 55: Hoare triple {7156#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6986#false} is VALID [2022-02-20 17:21:07,770 INFO L290 TraceCheckUtils]: 54: Hoare triple {7152#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7156#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:07,771 INFO L272 TraceCheckUtils]: 53: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {7152#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:07,771 INFO L290 TraceCheckUtils]: 52: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,772 INFO L290 TraceCheckUtils]: 51: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,775 INFO L290 TraceCheckUtils]: 50: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !(main_~a~0#1 > main_~b~0#1);main_~b~0#1 := main_~b~0#1 - main_~a~0#1;main_~q~0#1 := main_~q~0#1 - main_~p~0#1;main_~s~0#1 := main_~s~0#1 - main_~r~0#1; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,775 INFO L290 TraceCheckUtils]: 49: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !!(main_~a~0#1 != main_~b~0#1); {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,776 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6985#true} {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #69#return; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,776 INFO L290 TraceCheckUtils]: 47: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,776 INFO L290 TraceCheckUtils]: 46: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,776 INFO L290 TraceCheckUtils]: 45: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,776 INFO L272 TraceCheckUtils]: 44: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,777 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6985#true} {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #67#return; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,777 INFO L290 TraceCheckUtils]: 42: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,777 INFO L290 TraceCheckUtils]: 41: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,778 INFO L290 TraceCheckUtils]: 40: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,778 INFO L272 TraceCheckUtils]: 39: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,778 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6985#true} {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #65#return; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,778 INFO L290 TraceCheckUtils]: 37: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,779 INFO L290 TraceCheckUtils]: 36: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,779 INFO L290 TraceCheckUtils]: 35: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,779 INFO L272 TraceCheckUtils]: 34: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,779 INFO L290 TraceCheckUtils]: 33: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,780 INFO L290 TraceCheckUtils]: 32: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,782 INFO L290 TraceCheckUtils]: 31: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,783 INFO L290 TraceCheckUtils]: 30: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !!(main_~a~0#1 != main_~b~0#1); {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,784 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {6985#true} {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #69#return; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,784 INFO L290 TraceCheckUtils]: 28: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,784 INFO L290 TraceCheckUtils]: 27: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,784 INFO L290 TraceCheckUtils]: 26: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,784 INFO L272 TraceCheckUtils]: 25: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,785 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {6985#true} {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #67#return; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,785 INFO L290 TraceCheckUtils]: 23: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,785 INFO L290 TraceCheckUtils]: 22: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,785 INFO L290 TraceCheckUtils]: 21: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,785 INFO L272 TraceCheckUtils]: 20: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,786 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {6985#true} {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #65#return; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,786 INFO L290 TraceCheckUtils]: 18: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,786 INFO L290 TraceCheckUtils]: 17: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,786 INFO L290 TraceCheckUtils]: 16: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,786 INFO L272 TraceCheckUtils]: 15: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,787 INFO L290 TraceCheckUtils]: 14: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,787 INFO L290 TraceCheckUtils]: 13: Hoare triple {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,788 INFO L290 TraceCheckUtils]: 12: Hoare triple {6985#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {7172#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:07,788 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {6985#true} {6985#true} #63#return; {6985#true} is VALID [2022-02-20 17:21:07,788 INFO L290 TraceCheckUtils]: 10: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,788 INFO L290 TraceCheckUtils]: 9: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,788 INFO L290 TraceCheckUtils]: 8: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,788 INFO L272 TraceCheckUtils]: 7: Hoare triple {6985#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,788 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {6985#true} {6985#true} #61#return; {6985#true} is VALID [2022-02-20 17:21:07,788 INFO L290 TraceCheckUtils]: 5: Hoare triple {6985#true} assume true; {6985#true} is VALID [2022-02-20 17:21:07,788 INFO L290 TraceCheckUtils]: 4: Hoare triple {6985#true} assume !(0 == ~cond); {6985#true} is VALID [2022-02-20 17:21:07,789 INFO L290 TraceCheckUtils]: 3: Hoare triple {6985#true} ~cond := #in~cond; {6985#true} is VALID [2022-02-20 17:21:07,789 INFO L272 TraceCheckUtils]: 2: Hoare triple {6985#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {6985#true} is VALID [2022-02-20 17:21:07,789 INFO L290 TraceCheckUtils]: 1: Hoare triple {6985#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {6985#true} is VALID [2022-02-20 17:21:07,789 INFO L290 TraceCheckUtils]: 0: Hoare triple {6985#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6985#true} is VALID [2022-02-20 17:21:07,789 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 77 trivial. 0 not checked. [2022-02-20 17:21:07,789 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:07,789 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [843449763] [2022-02-20 17:21:07,789 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:07,790 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [245373603] [2022-02-20 17:21:07,790 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [245373603] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:21:07,790 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:21:07,790 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-02-20 17:21:07,790 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [724833405] [2022-02-20 17:21:07,790 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:07,791 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 57 [2022-02-20 17:21:07,791 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:07,791 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:21:07,814 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:07,814 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:07,814 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:07,814 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:07,815 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:21:07,815 INFO L87 Difference]: Start difference. First operand 206 states and 236 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:21:08,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:08,109 INFO L93 Difference]: Finished difference Result 212 states and 241 transitions. [2022-02-20 17:21:08,109 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:08,109 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 57 [2022-02-20 17:21:08,109 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:08,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:21:08,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 38 transitions. [2022-02-20 17:21:08,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:21:08,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 38 transitions. [2022-02-20 17:21:08,110 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 38 transitions. [2022-02-20 17:21:08,147 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:08,150 INFO L225 Difference]: With dead ends: 212 [2022-02-20 17:21:08,150 INFO L226 Difference]: Without dead ends: 188 [2022-02-20 17:21:08,150 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 103 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:21:08,151 INFO L933 BasicCegarLoop]: 28 mSDtfsCounter, 7 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 95 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:08,151 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 95 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:21:08,152 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2022-02-20 17:21:08,278 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 185. [2022-02-20 17:21:08,278 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:08,279 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand has 185 states, 124 states have (on average 1.1129032258064515) internal successors, (138), 128 states have internal predecessors, (138), 36 states have call successors, (36), 24 states have call predecessors, (36), 24 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) [2022-02-20 17:21:08,279 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand has 185 states, 124 states have (on average 1.1129032258064515) internal successors, (138), 128 states have internal predecessors, (138), 36 states have call successors, (36), 24 states have call predecessors, (36), 24 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) [2022-02-20 17:21:08,279 INFO L87 Difference]: Start difference. First operand 188 states. Second operand has 185 states, 124 states have (on average 1.1129032258064515) internal successors, (138), 128 states have internal predecessors, (138), 36 states have call successors, (36), 24 states have call predecessors, (36), 24 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) [2022-02-20 17:21:08,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:08,283 INFO L93 Difference]: Finished difference Result 188 states and 212 transitions. [2022-02-20 17:21:08,283 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 212 transitions. [2022-02-20 17:21:08,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:08,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:08,284 INFO L74 IsIncluded]: Start isIncluded. First operand has 185 states, 124 states have (on average 1.1129032258064515) internal successors, (138), 128 states have internal predecessors, (138), 36 states have call successors, (36), 24 states have call predecessors, (36), 24 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) Second operand 188 states. [2022-02-20 17:21:08,284 INFO L87 Difference]: Start difference. First operand has 185 states, 124 states have (on average 1.1129032258064515) internal successors, (138), 128 states have internal predecessors, (138), 36 states have call successors, (36), 24 states have call predecessors, (36), 24 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) Second operand 188 states. [2022-02-20 17:21:08,288 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:08,288 INFO L93 Difference]: Finished difference Result 188 states and 212 transitions. [2022-02-20 17:21:08,288 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 212 transitions. [2022-02-20 17:21:08,289 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:08,289 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:08,289 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:08,289 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:08,289 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 185 states, 124 states have (on average 1.1129032258064515) internal successors, (138), 128 states have internal predecessors, (138), 36 states have call successors, (36), 24 states have call predecessors, (36), 24 states have return successors, (34), 32 states have call predecessors, (34), 34 states have call successors, (34) [2022-02-20 17:21:08,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 185 states to 185 states and 208 transitions. [2022-02-20 17:21:08,294 INFO L78 Accepts]: Start accepts. Automaton has 185 states and 208 transitions. Word has length 57 [2022-02-20 17:21:08,294 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:08,294 INFO L470 AbstractCegarLoop]: Abstraction has 185 states and 208 transitions. [2022-02-20 17:21:08,294 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:21:08,294 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 208 transitions. [2022-02-20 17:21:08,295 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2022-02-20 17:21:08,295 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:08,295 INFO L514 BasicCegarLoop]: trace histogram [13, 12, 12, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:08,318 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-02-20 17:21:08,517 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:08,518 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:08,518 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:08,518 INFO L85 PathProgramCache]: Analyzing trace with hash 985491918, now seen corresponding path program 2 times [2022-02-20 17:21:08,518 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:08,518 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1827824012] [2022-02-20 17:21:08,518 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:08,518 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:08,538 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:08,541 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1938407122] [2022-02-20 17:21:08,541 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 17:21:08,541 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:08,542 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:08,543 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:21:08,544 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-02-20 17:21:08,587 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 17:21:08,587 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 17:21:08,588 INFO L263 TraceCheckSpWp]: Trace formula consists of 235 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 17:21:08,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:08,604 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:09,002 INFO L290 TraceCheckUtils]: 0: Hoare triple {8269#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,003 INFO L290 TraceCheckUtils]: 1: Hoare triple {8274#(<= ~counter~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,004 INFO L272 TraceCheckUtils]: 2: Hoare triple {8274#(<= ~counter~0 0)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,004 INFO L290 TraceCheckUtils]: 3: Hoare triple {8274#(<= ~counter~0 0)} ~cond := #in~cond; {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,004 INFO L290 TraceCheckUtils]: 4: Hoare triple {8274#(<= ~counter~0 0)} assume !(0 == ~cond); {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,005 INFO L290 TraceCheckUtils]: 5: Hoare triple {8274#(<= ~counter~0 0)} assume true; {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,005 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {8274#(<= ~counter~0 0)} {8274#(<= ~counter~0 0)} #61#return; {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,006 INFO L272 TraceCheckUtils]: 7: Hoare triple {8274#(<= ~counter~0 0)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,006 INFO L290 TraceCheckUtils]: 8: Hoare triple {8274#(<= ~counter~0 0)} ~cond := #in~cond; {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,006 INFO L290 TraceCheckUtils]: 9: Hoare triple {8274#(<= ~counter~0 0)} assume !(0 == ~cond); {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,007 INFO L290 TraceCheckUtils]: 10: Hoare triple {8274#(<= ~counter~0 0)} assume true; {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,007 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {8274#(<= ~counter~0 0)} {8274#(<= ~counter~0 0)} #63#return; {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,008 INFO L290 TraceCheckUtils]: 12: Hoare triple {8274#(<= ~counter~0 0)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,008 INFO L290 TraceCheckUtils]: 13: Hoare triple {8274#(<= ~counter~0 0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,009 INFO L290 TraceCheckUtils]: 14: Hoare triple {8314#(<= ~counter~0 1)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,009 INFO L272 TraceCheckUtils]: 15: Hoare triple {8314#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,010 INFO L290 TraceCheckUtils]: 16: Hoare triple {8314#(<= ~counter~0 1)} ~cond := #in~cond; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,010 INFO L290 TraceCheckUtils]: 17: Hoare triple {8314#(<= ~counter~0 1)} assume !(0 == ~cond); {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,010 INFO L290 TraceCheckUtils]: 18: Hoare triple {8314#(<= ~counter~0 1)} assume true; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,011 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {8314#(<= ~counter~0 1)} {8314#(<= ~counter~0 1)} #65#return; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,012 INFO L272 TraceCheckUtils]: 20: Hoare triple {8314#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,012 INFO L290 TraceCheckUtils]: 21: Hoare triple {8314#(<= ~counter~0 1)} ~cond := #in~cond; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,012 INFO L290 TraceCheckUtils]: 22: Hoare triple {8314#(<= ~counter~0 1)} assume !(0 == ~cond); {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,013 INFO L290 TraceCheckUtils]: 23: Hoare triple {8314#(<= ~counter~0 1)} assume true; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,013 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {8314#(<= ~counter~0 1)} {8314#(<= ~counter~0 1)} #67#return; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,014 INFO L272 TraceCheckUtils]: 25: Hoare triple {8314#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,015 INFO L290 TraceCheckUtils]: 26: Hoare triple {8314#(<= ~counter~0 1)} ~cond := #in~cond; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,015 INFO L290 TraceCheckUtils]: 27: Hoare triple {8314#(<= ~counter~0 1)} assume !(0 == ~cond); {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,015 INFO L290 TraceCheckUtils]: 28: Hoare triple {8314#(<= ~counter~0 1)} assume true; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,016 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {8314#(<= ~counter~0 1)} {8314#(<= ~counter~0 1)} #69#return; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,016 INFO L290 TraceCheckUtils]: 30: Hoare triple {8314#(<= ~counter~0 1)} assume !!(main_~a~0#1 != main_~b~0#1); {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,017 INFO L290 TraceCheckUtils]: 31: Hoare triple {8314#(<= ~counter~0 1)} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,017 INFO L290 TraceCheckUtils]: 32: Hoare triple {8314#(<= ~counter~0 1)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,018 INFO L290 TraceCheckUtils]: 33: Hoare triple {8372#(<= ~counter~0 2)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,018 INFO L272 TraceCheckUtils]: 34: Hoare triple {8372#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,019 INFO L290 TraceCheckUtils]: 35: Hoare triple {8372#(<= ~counter~0 2)} ~cond := #in~cond; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,019 INFO L290 TraceCheckUtils]: 36: Hoare triple {8372#(<= ~counter~0 2)} assume !(0 == ~cond); {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,019 INFO L290 TraceCheckUtils]: 37: Hoare triple {8372#(<= ~counter~0 2)} assume true; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,020 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8372#(<= ~counter~0 2)} {8372#(<= ~counter~0 2)} #65#return; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,021 INFO L272 TraceCheckUtils]: 39: Hoare triple {8372#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,021 INFO L290 TraceCheckUtils]: 40: Hoare triple {8372#(<= ~counter~0 2)} ~cond := #in~cond; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,021 INFO L290 TraceCheckUtils]: 41: Hoare triple {8372#(<= ~counter~0 2)} assume !(0 == ~cond); {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,022 INFO L290 TraceCheckUtils]: 42: Hoare triple {8372#(<= ~counter~0 2)} assume true; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,022 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8372#(<= ~counter~0 2)} {8372#(<= ~counter~0 2)} #67#return; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,023 INFO L272 TraceCheckUtils]: 44: Hoare triple {8372#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,023 INFO L290 TraceCheckUtils]: 45: Hoare triple {8372#(<= ~counter~0 2)} ~cond := #in~cond; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,024 INFO L290 TraceCheckUtils]: 46: Hoare triple {8372#(<= ~counter~0 2)} assume !(0 == ~cond); {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,024 INFO L290 TraceCheckUtils]: 47: Hoare triple {8372#(<= ~counter~0 2)} assume true; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,025 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {8372#(<= ~counter~0 2)} {8372#(<= ~counter~0 2)} #69#return; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,025 INFO L290 TraceCheckUtils]: 49: Hoare triple {8372#(<= ~counter~0 2)} assume !!(main_~a~0#1 != main_~b~0#1); {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,026 INFO L290 TraceCheckUtils]: 50: Hoare triple {8372#(<= ~counter~0 2)} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,026 INFO L290 TraceCheckUtils]: 51: Hoare triple {8372#(<= ~counter~0 2)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,027 INFO L290 TraceCheckUtils]: 52: Hoare triple {8430#(<= ~counter~0 3)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,027 INFO L272 TraceCheckUtils]: 53: Hoare triple {8430#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,028 INFO L290 TraceCheckUtils]: 54: Hoare triple {8430#(<= ~counter~0 3)} ~cond := #in~cond; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,028 INFO L290 TraceCheckUtils]: 55: Hoare triple {8430#(<= ~counter~0 3)} assume !(0 == ~cond); {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,028 INFO L290 TraceCheckUtils]: 56: Hoare triple {8430#(<= ~counter~0 3)} assume true; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,029 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8430#(<= ~counter~0 3)} {8430#(<= ~counter~0 3)} #65#return; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,030 INFO L272 TraceCheckUtils]: 58: Hoare triple {8430#(<= ~counter~0 3)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,030 INFO L290 TraceCheckUtils]: 59: Hoare triple {8430#(<= ~counter~0 3)} ~cond := #in~cond; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,031 INFO L290 TraceCheckUtils]: 60: Hoare triple {8430#(<= ~counter~0 3)} assume !(0 == ~cond); {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,031 INFO L290 TraceCheckUtils]: 61: Hoare triple {8430#(<= ~counter~0 3)} assume true; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,032 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8430#(<= ~counter~0 3)} {8430#(<= ~counter~0 3)} #67#return; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,032 INFO L272 TraceCheckUtils]: 63: Hoare triple {8430#(<= ~counter~0 3)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,033 INFO L290 TraceCheckUtils]: 64: Hoare triple {8430#(<= ~counter~0 3)} ~cond := #in~cond; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,033 INFO L290 TraceCheckUtils]: 65: Hoare triple {8430#(<= ~counter~0 3)} assume !(0 == ~cond); {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,033 INFO L290 TraceCheckUtils]: 66: Hoare triple {8430#(<= ~counter~0 3)} assume true; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,034 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8430#(<= ~counter~0 3)} {8430#(<= ~counter~0 3)} #69#return; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,034 INFO L290 TraceCheckUtils]: 68: Hoare triple {8430#(<= ~counter~0 3)} assume !!(main_~a~0#1 != main_~b~0#1); {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,035 INFO L290 TraceCheckUtils]: 69: Hoare triple {8430#(<= ~counter~0 3)} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,035 INFO L290 TraceCheckUtils]: 70: Hoare triple {8430#(<= ~counter~0 3)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,035 INFO L290 TraceCheckUtils]: 71: Hoare triple {8488#(<= ~counter~0 4)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,036 INFO L272 TraceCheckUtils]: 72: Hoare triple {8488#(<= ~counter~0 4)} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,036 INFO L290 TraceCheckUtils]: 73: Hoare triple {8488#(<= ~counter~0 4)} ~cond := #in~cond; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,036 INFO L290 TraceCheckUtils]: 74: Hoare triple {8488#(<= ~counter~0 4)} assume !(0 == ~cond); {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,037 INFO L290 TraceCheckUtils]: 75: Hoare triple {8488#(<= ~counter~0 4)} assume true; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,037 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {8488#(<= ~counter~0 4)} {8488#(<= ~counter~0 4)} #65#return; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,038 INFO L272 TraceCheckUtils]: 77: Hoare triple {8488#(<= ~counter~0 4)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,038 INFO L290 TraceCheckUtils]: 78: Hoare triple {8488#(<= ~counter~0 4)} ~cond := #in~cond; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,038 INFO L290 TraceCheckUtils]: 79: Hoare triple {8488#(<= ~counter~0 4)} assume !(0 == ~cond); {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,039 INFO L290 TraceCheckUtils]: 80: Hoare triple {8488#(<= ~counter~0 4)} assume true; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,039 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8488#(<= ~counter~0 4)} {8488#(<= ~counter~0 4)} #67#return; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,040 INFO L272 TraceCheckUtils]: 82: Hoare triple {8488#(<= ~counter~0 4)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,040 INFO L290 TraceCheckUtils]: 83: Hoare triple {8488#(<= ~counter~0 4)} ~cond := #in~cond; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,040 INFO L290 TraceCheckUtils]: 84: Hoare triple {8488#(<= ~counter~0 4)} assume !(0 == ~cond); {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,040 INFO L290 TraceCheckUtils]: 85: Hoare triple {8488#(<= ~counter~0 4)} assume true; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,041 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8488#(<= ~counter~0 4)} {8488#(<= ~counter~0 4)} #69#return; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,041 INFO L290 TraceCheckUtils]: 87: Hoare triple {8488#(<= ~counter~0 4)} assume !!(main_~a~0#1 != main_~b~0#1); {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,042 INFO L290 TraceCheckUtils]: 88: Hoare triple {8488#(<= ~counter~0 4)} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,042 INFO L290 TraceCheckUtils]: 89: Hoare triple {8488#(<= ~counter~0 4)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {8546#(<= |ULTIMATE.start_main_#t~post6#1| 4)} is VALID [2022-02-20 17:21:09,042 INFO L290 TraceCheckUtils]: 90: Hoare triple {8546#(<= |ULTIMATE.start_main_#t~post6#1| 4)} assume !(main_#t~post6#1 < 5);havoc main_#t~post6#1; {8270#false} is VALID [2022-02-20 17:21:09,042 INFO L272 TraceCheckUtils]: 91: Hoare triple {8270#false} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {8270#false} is VALID [2022-02-20 17:21:09,042 INFO L290 TraceCheckUtils]: 92: Hoare triple {8270#false} ~cond := #in~cond; {8270#false} is VALID [2022-02-20 17:21:09,042 INFO L290 TraceCheckUtils]: 93: Hoare triple {8270#false} assume 0 == ~cond; {8270#false} is VALID [2022-02-20 17:21:09,042 INFO L290 TraceCheckUtils]: 94: Hoare triple {8270#false} assume !false; {8270#false} is VALID [2022-02-20 17:21:09,043 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 24 proven. 266 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-02-20 17:21:09,043 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:09,428 INFO L290 TraceCheckUtils]: 94: Hoare triple {8270#false} assume !false; {8270#false} is VALID [2022-02-20 17:21:09,428 INFO L290 TraceCheckUtils]: 93: Hoare triple {8270#false} assume 0 == ~cond; {8270#false} is VALID [2022-02-20 17:21:09,429 INFO L290 TraceCheckUtils]: 92: Hoare triple {8270#false} ~cond := #in~cond; {8270#false} is VALID [2022-02-20 17:21:09,429 INFO L272 TraceCheckUtils]: 91: Hoare triple {8270#false} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {8270#false} is VALID [2022-02-20 17:21:09,429 INFO L290 TraceCheckUtils]: 90: Hoare triple {8546#(<= |ULTIMATE.start_main_#t~post6#1| 4)} assume !(main_#t~post6#1 < 5);havoc main_#t~post6#1; {8270#false} is VALID [2022-02-20 17:21:09,430 INFO L290 TraceCheckUtils]: 89: Hoare triple {8488#(<= ~counter~0 4)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {8546#(<= |ULTIMATE.start_main_#t~post6#1| 4)} is VALID [2022-02-20 17:21:09,430 INFO L290 TraceCheckUtils]: 88: Hoare triple {8488#(<= ~counter~0 4)} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,430 INFO L290 TraceCheckUtils]: 87: Hoare triple {8488#(<= ~counter~0 4)} assume !!(main_~a~0#1 != main_~b~0#1); {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,431 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8269#true} {8488#(<= ~counter~0 4)} #69#return; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,431 INFO L290 TraceCheckUtils]: 85: Hoare triple {8269#true} assume true; {8269#true} is VALID [2022-02-20 17:21:09,431 INFO L290 TraceCheckUtils]: 84: Hoare triple {8269#true} assume !(0 == ~cond); {8269#true} is VALID [2022-02-20 17:21:09,431 INFO L290 TraceCheckUtils]: 83: Hoare triple {8269#true} ~cond := #in~cond; {8269#true} is VALID [2022-02-20 17:21:09,431 INFO L272 TraceCheckUtils]: 82: Hoare triple {8488#(<= ~counter~0 4)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {8269#true} is VALID [2022-02-20 17:21:09,432 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8269#true} {8488#(<= ~counter~0 4)} #67#return; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,432 INFO L290 TraceCheckUtils]: 80: Hoare triple {8269#true} assume true; {8269#true} is VALID [2022-02-20 17:21:09,432 INFO L290 TraceCheckUtils]: 79: Hoare triple {8269#true} assume !(0 == ~cond); {8269#true} is VALID [2022-02-20 17:21:09,432 INFO L290 TraceCheckUtils]: 78: Hoare triple {8269#true} ~cond := #in~cond; {8269#true} is VALID [2022-02-20 17:21:09,432 INFO L272 TraceCheckUtils]: 77: Hoare triple {8488#(<= ~counter~0 4)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {8269#true} is VALID [2022-02-20 17:21:09,433 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {8269#true} {8488#(<= ~counter~0 4)} #65#return; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,433 INFO L290 TraceCheckUtils]: 75: Hoare triple {8269#true} assume true; {8269#true} is VALID [2022-02-20 17:21:09,433 INFO L290 TraceCheckUtils]: 74: Hoare triple {8269#true} assume !(0 == ~cond); {8269#true} is VALID [2022-02-20 17:21:09,433 INFO L290 TraceCheckUtils]: 73: Hoare triple {8269#true} ~cond := #in~cond; {8269#true} is VALID [2022-02-20 17:21:09,433 INFO L272 TraceCheckUtils]: 72: Hoare triple {8488#(<= ~counter~0 4)} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {8269#true} is VALID [2022-02-20 17:21:09,434 INFO L290 TraceCheckUtils]: 71: Hoare triple {8488#(<= ~counter~0 4)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,434 INFO L290 TraceCheckUtils]: 70: Hoare triple {8430#(<= ~counter~0 3)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {8488#(<= ~counter~0 4)} is VALID [2022-02-20 17:21:09,435 INFO L290 TraceCheckUtils]: 69: Hoare triple {8430#(<= ~counter~0 3)} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,435 INFO L290 TraceCheckUtils]: 68: Hoare triple {8430#(<= ~counter~0 3)} assume !!(main_~a~0#1 != main_~b~0#1); {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,436 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8269#true} {8430#(<= ~counter~0 3)} #69#return; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,436 INFO L290 TraceCheckUtils]: 66: Hoare triple {8269#true} assume true; {8269#true} is VALID [2022-02-20 17:21:09,436 INFO L290 TraceCheckUtils]: 65: Hoare triple {8269#true} assume !(0 == ~cond); {8269#true} is VALID [2022-02-20 17:21:09,436 INFO L290 TraceCheckUtils]: 64: Hoare triple {8269#true} ~cond := #in~cond; {8269#true} is VALID [2022-02-20 17:21:09,436 INFO L272 TraceCheckUtils]: 63: Hoare triple {8430#(<= ~counter~0 3)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {8269#true} is VALID [2022-02-20 17:21:09,437 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8269#true} {8430#(<= ~counter~0 3)} #67#return; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,437 INFO L290 TraceCheckUtils]: 61: Hoare triple {8269#true} assume true; {8269#true} is VALID [2022-02-20 17:21:09,437 INFO L290 TraceCheckUtils]: 60: Hoare triple {8269#true} assume !(0 == ~cond); {8269#true} is VALID [2022-02-20 17:21:09,437 INFO L290 TraceCheckUtils]: 59: Hoare triple {8269#true} ~cond := #in~cond; {8269#true} is VALID [2022-02-20 17:21:09,437 INFO L272 TraceCheckUtils]: 58: Hoare triple {8430#(<= ~counter~0 3)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {8269#true} is VALID [2022-02-20 17:21:09,438 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8269#true} {8430#(<= ~counter~0 3)} #65#return; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,438 INFO L290 TraceCheckUtils]: 56: Hoare triple {8269#true} assume true; {8269#true} is VALID [2022-02-20 17:21:09,438 INFO L290 TraceCheckUtils]: 55: Hoare triple {8269#true} assume !(0 == ~cond); {8269#true} is VALID [2022-02-20 17:21:09,438 INFO L290 TraceCheckUtils]: 54: Hoare triple {8269#true} ~cond := #in~cond; {8269#true} is VALID [2022-02-20 17:21:09,438 INFO L272 TraceCheckUtils]: 53: Hoare triple {8430#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {8269#true} is VALID [2022-02-20 17:21:09,439 INFO L290 TraceCheckUtils]: 52: Hoare triple {8430#(<= ~counter~0 3)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,439 INFO L290 TraceCheckUtils]: 51: Hoare triple {8372#(<= ~counter~0 2)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {8430#(<= ~counter~0 3)} is VALID [2022-02-20 17:21:09,439 INFO L290 TraceCheckUtils]: 50: Hoare triple {8372#(<= ~counter~0 2)} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,440 INFO L290 TraceCheckUtils]: 49: Hoare triple {8372#(<= ~counter~0 2)} assume !!(main_~a~0#1 != main_~b~0#1); {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,440 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {8269#true} {8372#(<= ~counter~0 2)} #69#return; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,440 INFO L290 TraceCheckUtils]: 47: Hoare triple {8269#true} assume true; {8269#true} is VALID [2022-02-20 17:21:09,441 INFO L290 TraceCheckUtils]: 46: Hoare triple {8269#true} assume !(0 == ~cond); {8269#true} is VALID [2022-02-20 17:21:09,441 INFO L290 TraceCheckUtils]: 45: Hoare triple {8269#true} ~cond := #in~cond; {8269#true} is VALID [2022-02-20 17:21:09,441 INFO L272 TraceCheckUtils]: 44: Hoare triple {8372#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {8269#true} is VALID [2022-02-20 17:21:09,441 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8269#true} {8372#(<= ~counter~0 2)} #67#return; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,441 INFO L290 TraceCheckUtils]: 42: Hoare triple {8269#true} assume true; {8269#true} is VALID [2022-02-20 17:21:09,442 INFO L290 TraceCheckUtils]: 41: Hoare triple {8269#true} assume !(0 == ~cond); {8269#true} is VALID [2022-02-20 17:21:09,442 INFO L290 TraceCheckUtils]: 40: Hoare triple {8269#true} ~cond := #in~cond; {8269#true} is VALID [2022-02-20 17:21:09,442 INFO L272 TraceCheckUtils]: 39: Hoare triple {8372#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {8269#true} is VALID [2022-02-20 17:21:09,442 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8269#true} {8372#(<= ~counter~0 2)} #65#return; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,443 INFO L290 TraceCheckUtils]: 37: Hoare triple {8269#true} assume true; {8269#true} is VALID [2022-02-20 17:21:09,443 INFO L290 TraceCheckUtils]: 36: Hoare triple {8269#true} assume !(0 == ~cond); {8269#true} is VALID [2022-02-20 17:21:09,443 INFO L290 TraceCheckUtils]: 35: Hoare triple {8269#true} ~cond := #in~cond; {8269#true} is VALID [2022-02-20 17:21:09,443 INFO L272 TraceCheckUtils]: 34: Hoare triple {8372#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {8269#true} is VALID [2022-02-20 17:21:09,443 INFO L290 TraceCheckUtils]: 33: Hoare triple {8372#(<= ~counter~0 2)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,444 INFO L290 TraceCheckUtils]: 32: Hoare triple {8314#(<= ~counter~0 1)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {8372#(<= ~counter~0 2)} is VALID [2022-02-20 17:21:09,444 INFO L290 TraceCheckUtils]: 31: Hoare triple {8314#(<= ~counter~0 1)} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,445 INFO L290 TraceCheckUtils]: 30: Hoare triple {8314#(<= ~counter~0 1)} assume !!(main_~a~0#1 != main_~b~0#1); {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,445 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {8269#true} {8314#(<= ~counter~0 1)} #69#return; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,446 INFO L290 TraceCheckUtils]: 28: Hoare triple {8269#true} assume true; {8269#true} is VALID [2022-02-20 17:21:09,446 INFO L290 TraceCheckUtils]: 27: Hoare triple {8269#true} assume !(0 == ~cond); {8269#true} is VALID [2022-02-20 17:21:09,446 INFO L290 TraceCheckUtils]: 26: Hoare triple {8269#true} ~cond := #in~cond; {8269#true} is VALID [2022-02-20 17:21:09,446 INFO L272 TraceCheckUtils]: 25: Hoare triple {8314#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {8269#true} is VALID [2022-02-20 17:21:09,447 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {8269#true} {8314#(<= ~counter~0 1)} #67#return; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,447 INFO L290 TraceCheckUtils]: 23: Hoare triple {8269#true} assume true; {8269#true} is VALID [2022-02-20 17:21:09,447 INFO L290 TraceCheckUtils]: 22: Hoare triple {8269#true} assume !(0 == ~cond); {8269#true} is VALID [2022-02-20 17:21:09,447 INFO L290 TraceCheckUtils]: 21: Hoare triple {8269#true} ~cond := #in~cond; {8269#true} is VALID [2022-02-20 17:21:09,447 INFO L272 TraceCheckUtils]: 20: Hoare triple {8314#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {8269#true} is VALID [2022-02-20 17:21:09,448 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {8269#true} {8314#(<= ~counter~0 1)} #65#return; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,448 INFO L290 TraceCheckUtils]: 18: Hoare triple {8269#true} assume true; {8269#true} is VALID [2022-02-20 17:21:09,448 INFO L290 TraceCheckUtils]: 17: Hoare triple {8269#true} assume !(0 == ~cond); {8269#true} is VALID [2022-02-20 17:21:09,448 INFO L290 TraceCheckUtils]: 16: Hoare triple {8269#true} ~cond := #in~cond; {8269#true} is VALID [2022-02-20 17:21:09,448 INFO L272 TraceCheckUtils]: 15: Hoare triple {8314#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {8269#true} is VALID [2022-02-20 17:21:09,448 INFO L290 TraceCheckUtils]: 14: Hoare triple {8314#(<= ~counter~0 1)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,449 INFO L290 TraceCheckUtils]: 13: Hoare triple {8274#(<= ~counter~0 0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {8314#(<= ~counter~0 1)} is VALID [2022-02-20 17:21:09,449 INFO L290 TraceCheckUtils]: 12: Hoare triple {8274#(<= ~counter~0 0)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,450 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {8269#true} {8274#(<= ~counter~0 0)} #63#return; {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,450 INFO L290 TraceCheckUtils]: 10: Hoare triple {8269#true} assume true; {8269#true} is VALID [2022-02-20 17:21:09,450 INFO L290 TraceCheckUtils]: 9: Hoare triple {8269#true} assume !(0 == ~cond); {8269#true} is VALID [2022-02-20 17:21:09,450 INFO L290 TraceCheckUtils]: 8: Hoare triple {8269#true} ~cond := #in~cond; {8269#true} is VALID [2022-02-20 17:21:09,450 INFO L272 TraceCheckUtils]: 7: Hoare triple {8274#(<= ~counter~0 0)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {8269#true} is VALID [2022-02-20 17:21:09,451 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {8269#true} {8274#(<= ~counter~0 0)} #61#return; {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,451 INFO L290 TraceCheckUtils]: 5: Hoare triple {8269#true} assume true; {8269#true} is VALID [2022-02-20 17:21:09,451 INFO L290 TraceCheckUtils]: 4: Hoare triple {8269#true} assume !(0 == ~cond); {8269#true} is VALID [2022-02-20 17:21:09,451 INFO L290 TraceCheckUtils]: 3: Hoare triple {8269#true} ~cond := #in~cond; {8269#true} is VALID [2022-02-20 17:21:09,451 INFO L272 TraceCheckUtils]: 2: Hoare triple {8274#(<= ~counter~0 0)} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {8269#true} is VALID [2022-02-20 17:21:09,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {8274#(<= ~counter~0 0)} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {8269#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8274#(<= ~counter~0 0)} is VALID [2022-02-20 17:21:09,453 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 24 proven. 50 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-02-20 17:21:09,453 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:09,453 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1827824012] [2022-02-20 17:21:09,453 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:09,453 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1938407122] [2022-02-20 17:21:09,453 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1938407122] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:21:09,453 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:21:09,453 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 8] total 8 [2022-02-20 17:21:09,454 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1308281878] [2022-02-20 17:21:09,454 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:21:09,454 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.625) internal successors, (45), 8 states have internal predecessors, (45), 6 states have call successors, (29), 7 states have call predecessors, (29), 6 states have return successors, (28), 5 states have call predecessors, (28), 5 states have call successors, (28) Word has length 95 [2022-02-20 17:21:09,684 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:09,685 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.625) internal successors, (45), 8 states have internal predecessors, (45), 6 states have call successors, (29), 7 states have call predecessors, (29), 6 states have return successors, (28), 5 states have call predecessors, (28), 5 states have call successors, (28) [2022-02-20 17:21:09,776 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:09,776 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:21:09,776 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:09,777 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:21:09,777 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:21:09,777 INFO L87 Difference]: Start difference. First operand 185 states and 208 transitions. Second operand has 8 states, 8 states have (on average 5.625) internal successors, (45), 8 states have internal predecessors, (45), 6 states have call successors, (29), 7 states have call predecessors, (29), 6 states have return successors, (28), 5 states have call predecessors, (28), 5 states have call successors, (28) [2022-02-20 17:21:10,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:10,190 INFO L93 Difference]: Finished difference Result 247 states and 281 transitions. [2022-02-20 17:21:10,190 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 17:21:10,190 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.625) internal successors, (45), 8 states have internal predecessors, (45), 6 states have call successors, (29), 7 states have call predecessors, (29), 6 states have return successors, (28), 5 states have call predecessors, (28), 5 states have call successors, (28) Word has length 95 [2022-02-20 17:21:10,190 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:10,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.625) internal successors, (45), 8 states have internal predecessors, (45), 6 states have call successors, (29), 7 states have call predecessors, (29), 6 states have return successors, (28), 5 states have call predecessors, (28), 5 states have call successors, (28) [2022-02-20 17:21:10,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 97 transitions. [2022-02-20 17:21:10,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.625) internal successors, (45), 8 states have internal predecessors, (45), 6 states have call successors, (29), 7 states have call predecessors, (29), 6 states have return successors, (28), 5 states have call predecessors, (28), 5 states have call successors, (28) [2022-02-20 17:21:10,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 97 transitions. [2022-02-20 17:21:10,194 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 97 transitions. [2022-02-20 17:21:10,263 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:10,267 INFO L225 Difference]: With dead ends: 247 [2022-02-20 17:21:10,268 INFO L226 Difference]: Without dead ends: 238 [2022-02-20 17:21:10,268 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 192 GetRequests, 181 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:21:10,268 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 22 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:10,269 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 138 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:21:10,269 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 238 states. [2022-02-20 17:21:10,455 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 238 to 238. [2022-02-20 17:21:10,455 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:10,456 INFO L82 GeneralOperation]: Start isEquivalent. First operand 238 states. Second operand has 238 states, 159 states have (on average 1.1069182389937107) internal successors, (176), 164 states have internal predecessors, (176), 47 states have call successors, (47), 31 states have call predecessors, (47), 31 states have return successors, (45), 42 states have call predecessors, (45), 45 states have call successors, (45) [2022-02-20 17:21:10,456 INFO L74 IsIncluded]: Start isIncluded. First operand 238 states. Second operand has 238 states, 159 states have (on average 1.1069182389937107) internal successors, (176), 164 states have internal predecessors, (176), 47 states have call successors, (47), 31 states have call predecessors, (47), 31 states have return successors, (45), 42 states have call predecessors, (45), 45 states have call successors, (45) [2022-02-20 17:21:10,456 INFO L87 Difference]: Start difference. First operand 238 states. Second operand has 238 states, 159 states have (on average 1.1069182389937107) internal successors, (176), 164 states have internal predecessors, (176), 47 states have call successors, (47), 31 states have call predecessors, (47), 31 states have return successors, (45), 42 states have call predecessors, (45), 45 states have call successors, (45) [2022-02-20 17:21:10,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:10,462 INFO L93 Difference]: Finished difference Result 238 states and 268 transitions. [2022-02-20 17:21:10,462 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 268 transitions. [2022-02-20 17:21:10,462 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:10,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:10,463 INFO L74 IsIncluded]: Start isIncluded. First operand has 238 states, 159 states have (on average 1.1069182389937107) internal successors, (176), 164 states have internal predecessors, (176), 47 states have call successors, (47), 31 states have call predecessors, (47), 31 states have return successors, (45), 42 states have call predecessors, (45), 45 states have call successors, (45) Second operand 238 states. [2022-02-20 17:21:10,463 INFO L87 Difference]: Start difference. First operand has 238 states, 159 states have (on average 1.1069182389937107) internal successors, (176), 164 states have internal predecessors, (176), 47 states have call successors, (47), 31 states have call predecessors, (47), 31 states have return successors, (45), 42 states have call predecessors, (45), 45 states have call successors, (45) Second operand 238 states. [2022-02-20 17:21:10,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:10,468 INFO L93 Difference]: Finished difference Result 238 states and 268 transitions. [2022-02-20 17:21:10,468 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 268 transitions. [2022-02-20 17:21:10,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:10,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:10,469 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:10,469 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:10,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 238 states, 159 states have (on average 1.1069182389937107) internal successors, (176), 164 states have internal predecessors, (176), 47 states have call successors, (47), 31 states have call predecessors, (47), 31 states have return successors, (45), 42 states have call predecessors, (45), 45 states have call successors, (45) [2022-02-20 17:21:10,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 238 states to 238 states and 268 transitions. [2022-02-20 17:21:10,475 INFO L78 Accepts]: Start accepts. Automaton has 238 states and 268 transitions. Word has length 95 [2022-02-20 17:21:10,476 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:10,476 INFO L470 AbstractCegarLoop]: Abstraction has 238 states and 268 transitions. [2022-02-20 17:21:10,476 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.625) internal successors, (45), 8 states have internal predecessors, (45), 6 states have call successors, (29), 7 states have call predecessors, (29), 6 states have return successors, (28), 5 states have call predecessors, (28), 5 states have call successors, (28) [2022-02-20 17:21:10,476 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 268 transitions. [2022-02-20 17:21:10,477 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 115 [2022-02-20 17:21:10,477 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:10,477 INFO L514 BasicCegarLoop]: trace histogram [16, 15, 15, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:10,502 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-02-20 17:21:10,691 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-02-20 17:21:10,692 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:10,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:10,692 INFO L85 PathProgramCache]: Analyzing trace with hash -161305054, now seen corresponding path program 3 times [2022-02-20 17:21:10,692 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:10,692 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [679927452] [2022-02-20 17:21:10,692 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:10,692 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:10,710 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:10,711 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1031853905] [2022-02-20 17:21:10,711 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 17:21:10,711 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:10,711 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:10,712 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:21:10,712 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-02-20 17:21:10,778 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2022-02-20 17:21:10,778 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-02-20 17:21:10,778 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-02-20 17:21:10,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-02-20 17:21:10,841 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-02-20 17:21:10,841 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-02-20 17:21:10,842 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-02-20 17:21:10,867 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-02-20 17:21:11,063 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-02-20 17:21:11,066 INFO L732 BasicCegarLoop]: Path program histogram: [3, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:11,068 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-02-20 17:21:11,106 FATAL L489 DefaultTranslator]: Callstack has procedure call flag but succeeding procedure is empty at [CALL] call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); [2022-02-20 17:21:11,108 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: callstack broken after backtranslation by InlinerBacktranslator at de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:230) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:216) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:225) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateProgramExecution(ModelTranslationContainer.java:206) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getProgramExecutionAsString(CounterExampleResult.java:155) at de.uni_freiburg.informatik.ultimate.core.lib.results.CounterExampleResult.getLongDescription(CounterExampleResult.java:134) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:86) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResultReporter.reportResult(CegarLoopResultReporter.java:141) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.reportLocationResults(TraceAbstractionStarter.java:607) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:182) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:156) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-02-20 17:21:11,111 INFO L158 Benchmark]: Toolchain (without parser) took 29323.42ms. Allocated memory was 109.1MB in the beginning and 192.9MB in the end (delta: 83.9MB). Free memory was 81.7MB in the beginning and 135.1MB in the end (delta: -53.5MB). Peak memory consumption was 31.0MB. Max. memory is 16.1GB. [2022-02-20 17:21:11,111 INFO L158 Benchmark]: CDTParser took 0.19ms. Allocated memory is still 109.1MB. Free memory was 63.5MB in the beginning and 63.4MB in the end (delta: 90.9kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 17:21:11,111 INFO L158 Benchmark]: CACSL2BoogieTranslator took 227.33ms. Allocated memory is still 109.1MB. Free memory was 81.3MB in the beginning and 83.8MB in the end (delta: -2.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2022-02-20 17:21:11,112 INFO L158 Benchmark]: Boogie Procedure Inliner took 43.98ms. Allocated memory is still 109.1MB. Free memory was 83.8MB in the beginning and 82.0MB in the end (delta: 1.8MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2022-02-20 17:21:11,112 INFO L158 Benchmark]: Boogie Preprocessor took 39.36ms. Allocated memory is still 109.1MB. Free memory was 82.0MB in the beginning and 81.0MB in the end (delta: 998.8kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 17:21:11,112 INFO L158 Benchmark]: RCFGBuilder took 270.26ms. Allocated memory is still 109.1MB. Free memory was 81.0MB in the beginning and 69.7MB in the end (delta: 11.3MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. [2022-02-20 17:21:11,112 INFO L158 Benchmark]: TraceAbstraction took 28737.35ms. Allocated memory was 109.1MB in the beginning and 192.9MB in the end (delta: 83.9MB). Free memory was 69.1MB in the beginning and 135.1MB in the end (delta: -66.0MB). Peak memory consumption was 19.9MB. Max. memory is 16.1GB. [2022-02-20 17:21:11,114 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.19ms. Allocated memory is still 109.1MB. Free memory was 63.5MB in the beginning and 63.4MB in the end (delta: 90.9kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 227.33ms. Allocated memory is still 109.1MB. Free memory was 81.3MB in the beginning and 83.8MB in the end (delta: -2.4MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 43.98ms. Allocated memory is still 109.1MB. Free memory was 83.8MB in the beginning and 82.0MB in the end (delta: 1.8MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 39.36ms. Allocated memory is still 109.1MB. Free memory was 82.0MB in the beginning and 81.0MB in the end (delta: 998.8kB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 270.26ms. Allocated memory is still 109.1MB. Free memory was 81.0MB in the beginning and 69.7MB in the end (delta: 11.3MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. * TraceAbstraction took 28737.35ms. Allocated memory was 109.1MB in the beginning and 192.9MB in the end (delta: 83.9MB). Free memory was 69.1MB in the beginning and 135.1MB in the end (delta: -66.0MB). Peak memory consumption was 19.9MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - ExceptionOrErrorResult: AssertionError: callstack broken after backtranslation by InlinerBacktranslator de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: callstack broken after backtranslation by InlinerBacktranslator: de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator.translateProgramExecution(InlinerBacktranslator.java:230) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-02-20 17:21:11,126 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/nla-digbench-scaling/egcd-ll_unwindbound5.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 77987d39218daa3d8ca19fe9337f6493b276d704fa95c2d6fb7800ec30efdcea --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:21:12,913 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:21:12,915 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:21:12,943 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:21:12,944 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:21:12,947 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:21:12,949 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:21:12,953 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:21:12,955 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:21:12,956 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:21:12,957 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:21:12,958 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:21:12,958 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:21:12,959 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:21:12,960 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:21:12,961 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:21:12,961 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:21:12,963 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:21:12,965 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:21:12,967 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:21:12,968 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:21:12,969 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:21:12,970 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:21:12,970 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:21:12,973 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:21:12,973 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:21:12,973 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:21:12,974 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:21:12,974 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:21:12,975 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:21:12,975 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:21:12,976 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:21:12,977 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:21:12,977 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:21:12,978 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:21:12,978 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:21:12,979 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:21:12,979 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:21:12,979 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:21:12,980 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:21:12,981 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:21:12,981 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2022-02-20 17:21:13,005 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:21:13,005 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:21:13,006 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:21:13,007 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:21:13,007 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:21:13,007 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:21:13,009 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:21:13,009 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:21:13,009 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:21:13,009 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:21:13,010 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:21:13,010 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:21:13,010 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:21:13,011 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:21:13,011 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:21:13,011 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:21:13,011 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 17:21:13,011 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 17:21:13,012 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 17:21:13,012 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:21:13,012 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:21:13,012 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:21:13,012 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:21:13,012 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:21:13,013 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:21:13,013 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:21:13,013 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:21:13,025 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:21:13,025 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:21:13,026 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:21:13,026 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 17:21:13,026 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 17:21:13,026 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:21:13,027 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:21:13,027 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:21:13,027 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 17:21:13,027 INFO L138 SettingsManager]: * Logic for external solver=AUFBV WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 77987d39218daa3d8ca19fe9337f6493b276d704fa95c2d6fb7800ec30efdcea [2022-02-20 17:21:13,298 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:21:13,313 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:21:13,315 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:21:13,316 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:21:13,316 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:21:13,317 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/egcd-ll_unwindbound5.c [2022-02-20 17:21:13,371 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8f59277a0/e995de6c79214efdbc0ee31dc422a981/FLAG5401c0d37 [2022-02-20 17:21:13,762 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:21:13,763 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/egcd-ll_unwindbound5.c [2022-02-20 17:21:13,769 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8f59277a0/e995de6c79214efdbc0ee31dc422a981/FLAG5401c0d37 [2022-02-20 17:21:14,165 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8f59277a0/e995de6c79214efdbc0ee31dc422a981 [2022-02-20 17:21:14,167 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:21:14,168 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:21:14,170 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:21:14,170 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:21:14,173 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:21:14,174 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:21:14" (1/1) ... [2022-02-20 17:21:14,176 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5ac359fc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:21:14, skipping insertion in model container [2022-02-20 17:21:14,176 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:21:14" (1/1) ... [2022-02-20 17:21:14,182 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:21:14,194 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:21:14,303 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/egcd-ll_unwindbound5.c[489,502] [2022-02-20 17:21:14,320 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:21:14,329 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:21:14,339 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/egcd-ll_unwindbound5.c[489,502] [2022-02-20 17:21:14,347 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:21:14,391 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:21:14,401 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:21:14 WrapperNode [2022-02-20 17:21:14,401 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:21:14,402 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:21:14,403 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:21:14,403 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:21:14,409 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:21:14" (1/1) ... [2022-02-20 17:21:14,416 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:21:14" (1/1) ... [2022-02-20 17:21:14,446 INFO L137 Inliner]: procedures = 14, calls = 16, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 57 [2022-02-20 17:21:14,447 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:21:14,448 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:21:14,448 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:21:14,449 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:21:14,455 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:21:14" (1/1) ... [2022-02-20 17:21:14,456 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:21:14" (1/1) ... [2022-02-20 17:21:14,466 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:21:14" (1/1) ... [2022-02-20 17:21:14,466 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:21:14" (1/1) ... [2022-02-20 17:21:14,477 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:21:14" (1/1) ... [2022-02-20 17:21:14,485 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:21:14" (1/1) ... [2022-02-20 17:21:14,487 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:21:14" (1/1) ... [2022-02-20 17:21:14,489 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:21:14,494 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:21:14,495 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:21:14,495 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:21:14,497 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:21:14" (1/1) ... [2022-02-20 17:21:14,503 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:21:14,511 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:14,529 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 17:21:14,536 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 17:21:14,563 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:21:14,563 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 17:21:14,563 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 17:21:14,563 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 17:21:14,564 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:21:14,564 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:21:14,564 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:21:14,564 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:21:14,615 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:21:14,617 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:21:14,779 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:21:14,802 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:21:14,802 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-02-20 17:21:14,803 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:21:14 BoogieIcfgContainer [2022-02-20 17:21:14,804 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:21:14,805 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:21:14,805 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:21:14,808 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:21:14,808 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:21:14" (1/3) ... [2022-02-20 17:21:14,808 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6cd5fdb8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:21:14, skipping insertion in model container [2022-02-20 17:21:14,809 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:21:14" (2/3) ... [2022-02-20 17:21:14,809 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6cd5fdb8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:21:14, skipping insertion in model container [2022-02-20 17:21:14,809 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:21:14" (3/3) ... [2022-02-20 17:21:14,810 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_unwindbound5.c [2022-02-20 17:21:14,814 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:21:14,814 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:21:14,872 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:21:14,890 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 17:21:14,892 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:21:14,909 INFO L276 IsEmpty]: Start isEmpty. Operand has 30 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:21:14,913 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 17:21:14,914 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:14,914 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:14,915 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:14,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:14,920 INFO L85 PathProgramCache]: Analyzing trace with hash 1165920622, now seen corresponding path program 1 times [2022-02-20 17:21:14,930 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 17:21:14,931 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [150951030] [2022-02-20 17:21:14,932 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:14,933 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 17:21:14,933 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 17:21:14,935 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 17:21:14,983 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2022-02-20 17:21:15,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:15,023 INFO L263 TraceCheckSpWp]: Trace formula consists of 43 conjuncts, 1 conjunts are in the unsatisfiable core [2022-02-20 17:21:15,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:15,036 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:15,130 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(10bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);~counter~0 := 0bv32; {33#true} is VALID [2022-02-20 17:21:15,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {33#true} is VALID [2022-02-20 17:21:15,131 INFO L272 TraceCheckUtils]: 2: Hoare triple {33#true} call assume_abort_if_not((if ~bvsge32(main_~x~0#1, 1bv32) then 1bv32 else 0bv32)); {33#true} is VALID [2022-02-20 17:21:15,132 INFO L290 TraceCheckUtils]: 3: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-02-20 17:21:15,132 INFO L290 TraceCheckUtils]: 4: Hoare triple {33#true} assume 0bv32 == ~cond;assume false; {33#true} is VALID [2022-02-20 17:21:15,132 INFO L290 TraceCheckUtils]: 5: Hoare triple {33#true} assume true; {33#true} is VALID [2022-02-20 17:21:15,133 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {33#true} {33#true} #61#return; {33#true} is VALID [2022-02-20 17:21:15,133 INFO L272 TraceCheckUtils]: 7: Hoare triple {33#true} call assume_abort_if_not((if ~bvsge32(main_~y~0#1, 1bv32) then 1bv32 else 0bv32)); {33#true} is VALID [2022-02-20 17:21:15,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-02-20 17:21:15,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {33#true} assume 0bv32 == ~cond;assume false; {33#true} is VALID [2022-02-20 17:21:15,134 INFO L290 TraceCheckUtils]: 10: Hoare triple {33#true} assume true; {33#true} is VALID [2022-02-20 17:21:15,135 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {33#true} {33#true} #63#return; {33#true} is VALID [2022-02-20 17:21:15,135 INFO L290 TraceCheckUtils]: 12: Hoare triple {33#true} main_~a~0#1 := ~sign_extendFrom32To64(main_~x~0#1);main_~b~0#1 := ~sign_extendFrom32To64(main_~y~0#1);main_~p~0#1 := 1bv64;main_~q~0#1 := 0bv64;main_~r~0#1 := 0bv64;main_~s~0#1 := 1bv64; {33#true} is VALID [2022-02-20 17:21:15,136 INFO L290 TraceCheckUtils]: 13: Hoare triple {33#true} assume !true; {34#false} is VALID [2022-02-20 17:21:15,136 INFO L272 TraceCheckUtils]: 14: Hoare triple {34#false} call __VERIFIER_assert((if 0bv64 == ~bvsub64(main_~a~0#1, main_~b~0#1) then 1bv32 else 0bv32)); {34#false} is VALID [2022-02-20 17:21:15,137 INFO L290 TraceCheckUtils]: 15: Hoare triple {34#false} ~cond := #in~cond; {34#false} is VALID [2022-02-20 17:21:15,137 INFO L290 TraceCheckUtils]: 16: Hoare triple {34#false} assume 0bv32 == ~cond; {34#false} is VALID [2022-02-20 17:21:15,137 INFO L290 TraceCheckUtils]: 17: Hoare triple {34#false} assume !false; {34#false} is VALID [2022-02-20 17:21:15,138 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 17:21:15,138 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:15,139 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 17:21:15,139 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [150951030] [2022-02-20 17:21:15,139 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [150951030] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:15,140 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:15,140 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:21:15,142 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [645699161] [2022-02-20 17:21:15,143 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:15,147 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-02-20 17:21:15,148 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:15,151 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:15,190 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:15,191 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:21:15,191 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 17:21:15,210 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:21:15,211 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:21:15,214 INFO L87 Difference]: Start difference. First operand has 30 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:16,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:16,719 INFO L93 Difference]: Finished difference Result 57 states and 89 transitions. [2022-02-20 17:21:16,720 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:21:16,720 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-02-20 17:21:16,720 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:16,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:16,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 89 transitions. [2022-02-20 17:21:16,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:16,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 89 transitions. [2022-02-20 17:21:16,741 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 89 transitions. [2022-02-20 17:21:17,789 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:17,795 INFO L225 Difference]: With dead ends: 57 [2022-02-20 17:21:17,796 INFO L226 Difference]: Without dead ends: 26 [2022-02-20 17:21:17,798 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:21:17,801 INFO L933 BasicCegarLoop]: 39 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:17,802 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:21:17,812 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-02-20 17:21:17,822 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 26. [2022-02-20 17:21:17,823 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:17,824 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand has 26 states, 14 states have (on average 1.2857142857142858) internal successors, (18), 15 states have internal predecessors, (18), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:21:17,824 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand has 26 states, 14 states have (on average 1.2857142857142858) internal successors, (18), 15 states have internal predecessors, (18), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:21:17,825 INFO L87 Difference]: Start difference. First operand 26 states. Second operand has 26 states, 14 states have (on average 1.2857142857142858) internal successors, (18), 15 states have internal predecessors, (18), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:21:17,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:17,829 INFO L93 Difference]: Finished difference Result 26 states and 35 transitions. [2022-02-20 17:21:17,830 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 35 transitions. [2022-02-20 17:21:17,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:17,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:17,831 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 14 states have (on average 1.2857142857142858) internal successors, (18), 15 states have internal predecessors, (18), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 26 states. [2022-02-20 17:21:17,832 INFO L87 Difference]: Start difference. First operand has 26 states, 14 states have (on average 1.2857142857142858) internal successors, (18), 15 states have internal predecessors, (18), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 26 states. [2022-02-20 17:21:17,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:17,836 INFO L93 Difference]: Finished difference Result 26 states and 35 transitions. [2022-02-20 17:21:17,836 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 35 transitions. [2022-02-20 17:21:17,837 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:17,837 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:17,837 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:17,838 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:17,838 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 14 states have (on average 1.2857142857142858) internal successors, (18), 15 states have internal predecessors, (18), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:21:17,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 35 transitions. [2022-02-20 17:21:17,842 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 35 transitions. Word has length 18 [2022-02-20 17:21:17,842 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:17,842 INFO L470 AbstractCegarLoop]: Abstraction has 26 states and 35 transitions. [2022-02-20 17:21:17,843 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.0) internal successors, (10), 2 states have internal predecessors, (10), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:17,843 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 35 transitions. [2022-02-20 17:21:17,844 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 17:21:17,844 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:17,844 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:17,855 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2022-02-20 17:21:18,052 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 17:21:18,053 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:18,053 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:18,054 INFO L85 PathProgramCache]: Analyzing trace with hash -542319922, now seen corresponding path program 1 times [2022-02-20 17:21:18,054 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 17:21:18,054 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [395788106] [2022-02-20 17:21:18,054 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:18,055 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 17:21:18,055 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 17:21:18,056 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 17:21:18,058 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2022-02-20 17:21:18,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:18,086 INFO L263 TraceCheckSpWp]: Trace formula consists of 45 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 17:21:18,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:18,094 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:18,202 INFO L290 TraceCheckUtils]: 0: Hoare triple {260#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(10bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);~counter~0 := 0bv32; {265#(= ~counter~0 (_ bv0 32))} is VALID [2022-02-20 17:21:18,203 INFO L290 TraceCheckUtils]: 1: Hoare triple {265#(= ~counter~0 (_ bv0 32))} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {265#(= ~counter~0 (_ bv0 32))} is VALID [2022-02-20 17:21:18,204 INFO L272 TraceCheckUtils]: 2: Hoare triple {265#(= ~counter~0 (_ bv0 32))} call assume_abort_if_not((if ~bvsge32(main_~x~0#1, 1bv32) then 1bv32 else 0bv32)); {265#(= ~counter~0 (_ bv0 32))} is VALID [2022-02-20 17:21:18,204 INFO L290 TraceCheckUtils]: 3: Hoare triple {265#(= ~counter~0 (_ bv0 32))} ~cond := #in~cond; {265#(= ~counter~0 (_ bv0 32))} is VALID [2022-02-20 17:21:18,205 INFO L290 TraceCheckUtils]: 4: Hoare triple {265#(= ~counter~0 (_ bv0 32))} assume !(0bv32 == ~cond); {265#(= ~counter~0 (_ bv0 32))} is VALID [2022-02-20 17:21:18,205 INFO L290 TraceCheckUtils]: 5: Hoare triple {265#(= ~counter~0 (_ bv0 32))} assume true; {265#(= ~counter~0 (_ bv0 32))} is VALID [2022-02-20 17:21:18,206 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {265#(= ~counter~0 (_ bv0 32))} {265#(= ~counter~0 (_ bv0 32))} #61#return; {265#(= ~counter~0 (_ bv0 32))} is VALID [2022-02-20 17:21:18,207 INFO L272 TraceCheckUtils]: 7: Hoare triple {265#(= ~counter~0 (_ bv0 32))} call assume_abort_if_not((if ~bvsge32(main_~y~0#1, 1bv32) then 1bv32 else 0bv32)); {265#(= ~counter~0 (_ bv0 32))} is VALID [2022-02-20 17:21:18,207 INFO L290 TraceCheckUtils]: 8: Hoare triple {265#(= ~counter~0 (_ bv0 32))} ~cond := #in~cond; {265#(= ~counter~0 (_ bv0 32))} is VALID [2022-02-20 17:21:18,208 INFO L290 TraceCheckUtils]: 9: Hoare triple {265#(= ~counter~0 (_ bv0 32))} assume !(0bv32 == ~cond); {265#(= ~counter~0 (_ bv0 32))} is VALID [2022-02-20 17:21:18,208 INFO L290 TraceCheckUtils]: 10: Hoare triple {265#(= ~counter~0 (_ bv0 32))} assume true; {265#(= ~counter~0 (_ bv0 32))} is VALID [2022-02-20 17:21:18,209 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {265#(= ~counter~0 (_ bv0 32))} {265#(= ~counter~0 (_ bv0 32))} #63#return; {265#(= ~counter~0 (_ bv0 32))} is VALID [2022-02-20 17:21:18,209 INFO L290 TraceCheckUtils]: 12: Hoare triple {265#(= ~counter~0 (_ bv0 32))} main_~a~0#1 := ~sign_extendFrom32To64(main_~x~0#1);main_~b~0#1 := ~sign_extendFrom32To64(main_~y~0#1);main_~p~0#1 := 1bv64;main_~q~0#1 := 0bv64;main_~r~0#1 := 0bv64;main_~s~0#1 := 1bv64; {265#(= ~counter~0 (_ bv0 32))} is VALID [2022-02-20 17:21:18,210 INFO L290 TraceCheckUtils]: 13: Hoare triple {265#(= ~counter~0 (_ bv0 32))} main_#t~post6#1 := ~counter~0;~counter~0 := ~bvadd32(1bv32, main_#t~post6#1); {305#(= |ULTIMATE.start_main_#t~post6#1| (_ bv0 32))} is VALID [2022-02-20 17:21:18,210 INFO L290 TraceCheckUtils]: 14: Hoare triple {305#(= |ULTIMATE.start_main_#t~post6#1| (_ bv0 32))} assume !~bvslt32(main_#t~post6#1, 5bv32);havoc main_#t~post6#1; {261#false} is VALID [2022-02-20 17:21:18,211 INFO L272 TraceCheckUtils]: 15: Hoare triple {261#false} call __VERIFIER_assert((if 0bv64 == ~bvsub64(main_~a~0#1, main_~b~0#1) then 1bv32 else 0bv32)); {261#false} is VALID [2022-02-20 17:21:18,211 INFO L290 TraceCheckUtils]: 16: Hoare triple {261#false} ~cond := #in~cond; {261#false} is VALID [2022-02-20 17:21:18,211 INFO L290 TraceCheckUtils]: 17: Hoare triple {261#false} assume 0bv32 == ~cond; {261#false} is VALID [2022-02-20 17:21:18,211 INFO L290 TraceCheckUtils]: 18: Hoare triple {261#false} assume !false; {261#false} is VALID [2022-02-20 17:21:18,211 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 17:21:18,212 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:18,212 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 17:21:18,212 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [395788106] [2022-02-20 17:21:18,212 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [395788106] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:18,212 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:18,213 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 17:21:18,213 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [769834571] [2022-02-20 17:21:18,213 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:18,214 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 19 [2022-02-20 17:21:18,215 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:18,215 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:18,232 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:18,233 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 17:21:18,233 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 17:21:18,233 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 17:21:18,234 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 17:21:18,234 INFO L87 Difference]: Start difference. First operand 26 states and 35 transitions. Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:22,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:22,133 INFO L93 Difference]: Finished difference Result 38 states and 50 transitions. [2022-02-20 17:21:22,133 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 17:21:22,133 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 19 [2022-02-20 17:21:22,133 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:22,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:22,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-02-20 17:21:22,136 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:22,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2022-02-20 17:21:22,139 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 50 transitions. [2022-02-20 17:21:22,710 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:22,712 INFO L225 Difference]: With dead ends: 38 [2022-02-20 17:21:22,712 INFO L226 Difference]: Without dead ends: 28 [2022-02-20 17:21:22,712 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 17:21:22,713 INFO L933 BasicCegarLoop]: 33 mSDtfsCounter, 0 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:22,714 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 87 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:21:22,714 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-02-20 17:21:22,717 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 28. [2022-02-20 17:21:22,718 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:22,718 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 28 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:21:22,719 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 28 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:21:22,719 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 28 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:21:22,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:22,722 INFO L93 Difference]: Finished difference Result 28 states and 37 transitions. [2022-02-20 17:21:22,722 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 37 transitions. [2022-02-20 17:21:22,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:22,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:22,724 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 28 states. [2022-02-20 17:21:22,724 INFO L87 Difference]: Start difference. First operand has 28 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 28 states. [2022-02-20 17:21:22,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:22,727 INFO L93 Difference]: Finished difference Result 28 states and 37 transitions. [2022-02-20 17:21:22,727 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 37 transitions. [2022-02-20 17:21:22,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:22,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:22,728 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:22,728 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:22,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 9 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-02-20 17:21:22,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 37 transitions. [2022-02-20 17:21:22,731 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 37 transitions. Word has length 19 [2022-02-20 17:21:22,731 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:22,731 INFO L470 AbstractCegarLoop]: Abstraction has 28 states and 37 transitions. [2022-02-20 17:21:22,731 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:22,732 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 37 transitions. [2022-02-20 17:21:22,732 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 17:21:22,732 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:22,732 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:22,741 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Forceful destruction successful, exit code 0 [2022-02-20 17:21:22,940 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 17:21:22,941 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:22,941 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:22,941 INFO L85 PathProgramCache]: Analyzing trace with hash -540651626, now seen corresponding path program 1 times [2022-02-20 17:21:22,942 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 17:21:22,942 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [368835267] [2022-02-20 17:21:22,942 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:22,942 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 17:21:22,942 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 17:21:22,943 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 17:21:22,945 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2022-02-20 17:21:23,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:23,020 INFO L263 TraceCheckSpWp]: Trace formula consists of 45 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 17:21:23,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:23,028 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:23,236 INFO L290 TraceCheckUtils]: 0: Hoare triple {473#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(10bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);~counter~0 := 0bv32; {473#true} is VALID [2022-02-20 17:21:23,236 INFO L290 TraceCheckUtils]: 1: Hoare triple {473#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {473#true} is VALID [2022-02-20 17:21:23,236 INFO L272 TraceCheckUtils]: 2: Hoare triple {473#true} call assume_abort_if_not((if ~bvsge32(main_~x~0#1, 1bv32) then 1bv32 else 0bv32)); {473#true} is VALID [2022-02-20 17:21:23,236 INFO L290 TraceCheckUtils]: 3: Hoare triple {473#true} ~cond := #in~cond; {473#true} is VALID [2022-02-20 17:21:23,237 INFO L290 TraceCheckUtils]: 4: Hoare triple {473#true} assume !(0bv32 == ~cond); {473#true} is VALID [2022-02-20 17:21:23,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {473#true} assume true; {473#true} is VALID [2022-02-20 17:21:23,237 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {473#true} {473#true} #61#return; {473#true} is VALID [2022-02-20 17:21:23,237 INFO L272 TraceCheckUtils]: 7: Hoare triple {473#true} call assume_abort_if_not((if ~bvsge32(main_~y~0#1, 1bv32) then 1bv32 else 0bv32)); {473#true} is VALID [2022-02-20 17:21:23,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {473#true} ~cond := #in~cond; {473#true} is VALID [2022-02-20 17:21:23,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {473#true} assume !(0bv32 == ~cond); {473#true} is VALID [2022-02-20 17:21:23,238 INFO L290 TraceCheckUtils]: 10: Hoare triple {473#true} assume true; {473#true} is VALID [2022-02-20 17:21:23,238 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {473#true} {473#true} #63#return; {473#true} is VALID [2022-02-20 17:21:23,239 INFO L290 TraceCheckUtils]: 12: Hoare triple {473#true} main_~a~0#1 := ~sign_extendFrom32To64(main_~x~0#1);main_~b~0#1 := ~sign_extendFrom32To64(main_~y~0#1);main_~p~0#1 := 1bv64;main_~q~0#1 := 0bv64;main_~r~0#1 := 0bv64;main_~s~0#1 := 1bv64; {514#(and (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} is VALID [2022-02-20 17:21:23,239 INFO L290 TraceCheckUtils]: 13: Hoare triple {514#(and (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} main_#t~post6#1 := ~counter~0;~counter~0 := ~bvadd32(1bv32, main_#t~post6#1); {514#(and (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} is VALID [2022-02-20 17:21:23,240 INFO L290 TraceCheckUtils]: 14: Hoare triple {514#(and (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} assume !!~bvslt32(main_#t~post6#1, 5bv32);havoc main_#t~post6#1; {514#(and (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} is VALID [2022-02-20 17:21:23,241 INFO L272 TraceCheckUtils]: 15: Hoare triple {514#(and (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} call __VERIFIER_assert((if 1bv64 == ~bvsub64(~bvmul64(main_~p~0#1, main_~s~0#1), ~bvmul64(main_~r~0#1, main_~q~0#1)) then 1bv32 else 0bv32)); {524#(= (_ bv1 32) |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:23,241 INFO L290 TraceCheckUtils]: 16: Hoare triple {524#(= (_ bv1 32) |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {528#(= __VERIFIER_assert_~cond (_ bv1 32))} is VALID [2022-02-20 17:21:23,242 INFO L290 TraceCheckUtils]: 17: Hoare triple {528#(= __VERIFIER_assert_~cond (_ bv1 32))} assume 0bv32 == ~cond; {474#false} is VALID [2022-02-20 17:21:23,242 INFO L290 TraceCheckUtils]: 18: Hoare triple {474#false} assume !false; {474#false} is VALID [2022-02-20 17:21:23,242 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 17:21:23,242 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:23,242 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 17:21:23,242 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [368835267] [2022-02-20 17:21:23,243 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [368835267] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:23,243 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:23,243 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:21:23,243 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1571957735] [2022-02-20 17:21:23,243 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:23,244 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 19 [2022-02-20 17:21:23,244 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:23,244 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:23,303 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:23,303 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:23,303 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 17:21:23,304 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:23,304 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:21:23,304 INFO L87 Difference]: Start difference. First operand 28 states and 37 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:27,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:27,282 INFO L93 Difference]: Finished difference Result 45 states and 62 transitions. [2022-02-20 17:21:27,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:27,282 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 19 [2022-02-20 17:21:27,283 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:27,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:27,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-02-20 17:21:27,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:27,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-02-20 17:21:27,288 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-02-20 17:21:28,078 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:28,080 INFO L225 Difference]: With dead ends: 45 [2022-02-20 17:21:28,080 INFO L226 Difference]: Without dead ends: 43 [2022-02-20 17:21:28,081 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:21:28,082 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:28,082 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 130 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-02-20 17:21:28,083 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-02-20 17:21:28,088 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2022-02-20 17:21:28,088 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:28,088 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 42 states, 23 states have (on average 1.3043478260869565) internal successors, (30), 25 states have internal predecessors, (30), 15 states have call successors, (15), 3 states have call predecessors, (15), 3 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:21:28,089 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 42 states, 23 states have (on average 1.3043478260869565) internal successors, (30), 25 states have internal predecessors, (30), 15 states have call successors, (15), 3 states have call predecessors, (15), 3 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:21:28,089 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 42 states, 23 states have (on average 1.3043478260869565) internal successors, (30), 25 states have internal predecessors, (30), 15 states have call successors, (15), 3 states have call predecessors, (15), 3 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:21:28,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:28,093 INFO L93 Difference]: Finished difference Result 43 states and 60 transitions. [2022-02-20 17:21:28,093 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 60 transitions. [2022-02-20 17:21:28,094 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:28,094 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:28,095 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 23 states have (on average 1.3043478260869565) internal successors, (30), 25 states have internal predecessors, (30), 15 states have call successors, (15), 3 states have call predecessors, (15), 3 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 43 states. [2022-02-20 17:21:28,095 INFO L87 Difference]: Start difference. First operand has 42 states, 23 states have (on average 1.3043478260869565) internal successors, (30), 25 states have internal predecessors, (30), 15 states have call successors, (15), 3 states have call predecessors, (15), 3 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 43 states. [2022-02-20 17:21:28,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:28,098 INFO L93 Difference]: Finished difference Result 43 states and 60 transitions. [2022-02-20 17:21:28,099 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 60 transitions. [2022-02-20 17:21:28,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:28,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:28,100 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:28,100 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:28,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 23 states have (on average 1.3043478260869565) internal successors, (30), 25 states have internal predecessors, (30), 15 states have call successors, (15), 3 states have call predecessors, (15), 3 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:21:28,103 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 59 transitions. [2022-02-20 17:21:28,103 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 59 transitions. Word has length 19 [2022-02-20 17:21:28,103 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:28,103 INFO L470 AbstractCegarLoop]: Abstraction has 42 states and 59 transitions. [2022-02-20 17:21:28,104 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 17:21:28,104 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 59 transitions. [2022-02-20 17:21:28,104 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 17:21:28,104 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:28,105 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:28,115 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Ended with exit code 0 [2022-02-20 17:21:28,312 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 17:21:28,312 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:28,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:28,313 INFO L85 PathProgramCache]: Analyzing trace with hash -276555716, now seen corresponding path program 1 times [2022-02-20 17:21:28,313 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 17:21:28,313 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [576479501] [2022-02-20 17:21:28,313 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:28,313 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 17:21:28,313 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 17:21:28,314 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 17:21:28,315 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2022-02-20 17:21:28,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:28,442 INFO L263 TraceCheckSpWp]: Trace formula consists of 52 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 17:21:28,451 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:28,452 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:28,844 INFO L290 TraceCheckUtils]: 0: Hoare triple {752#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(10bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);~counter~0 := 0bv32; {752#true} is VALID [2022-02-20 17:21:28,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {752#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {752#true} is VALID [2022-02-20 17:21:28,844 INFO L272 TraceCheckUtils]: 2: Hoare triple {752#true} call assume_abort_if_not((if ~bvsge32(main_~x~0#1, 1bv32) then 1bv32 else 0bv32)); {752#true} is VALID [2022-02-20 17:21:28,846 INFO L290 TraceCheckUtils]: 3: Hoare triple {752#true} ~cond := #in~cond; {766#(= |assume_abort_if_not_#in~cond| assume_abort_if_not_~cond)} is VALID [2022-02-20 17:21:28,847 INFO L290 TraceCheckUtils]: 4: Hoare triple {766#(= |assume_abort_if_not_#in~cond| assume_abort_if_not_~cond)} assume !(0bv32 == ~cond); {770#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} is VALID [2022-02-20 17:21:28,848 INFO L290 TraceCheckUtils]: 5: Hoare triple {770#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} assume true; {770#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} is VALID [2022-02-20 17:21:28,849 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {770#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} {752#true} #61#return; {777#(bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32))} is VALID [2022-02-20 17:21:28,849 INFO L272 TraceCheckUtils]: 7: Hoare triple {777#(bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32))} call assume_abort_if_not((if ~bvsge32(main_~y~0#1, 1bv32) then 1bv32 else 0bv32)); {752#true} is VALID [2022-02-20 17:21:28,849 INFO L290 TraceCheckUtils]: 8: Hoare triple {752#true} ~cond := #in~cond; {766#(= |assume_abort_if_not_#in~cond| assume_abort_if_not_~cond)} is VALID [2022-02-20 17:21:28,850 INFO L290 TraceCheckUtils]: 9: Hoare triple {766#(= |assume_abort_if_not_#in~cond| assume_abort_if_not_~cond)} assume !(0bv32 == ~cond); {770#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} is VALID [2022-02-20 17:21:28,850 INFO L290 TraceCheckUtils]: 10: Hoare triple {770#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} assume true; {770#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} is VALID [2022-02-20 17:21:28,854 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {770#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} {777#(bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32))} #63#return; {793#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)))} is VALID [2022-02-20 17:21:28,855 INFO L290 TraceCheckUtils]: 12: Hoare triple {793#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)))} main_~a~0#1 := ~sign_extendFrom32To64(main_~x~0#1);main_~b~0#1 := ~sign_extendFrom32To64(main_~y~0#1);main_~p~0#1 := 1bv64;main_~q~0#1 := 0bv64;main_~r~0#1 := 0bv64;main_~s~0#1 := 1bv64; {797#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~a~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~x~0#1|)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} is VALID [2022-02-20 17:21:28,856 INFO L290 TraceCheckUtils]: 13: Hoare triple {797#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~a~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~x~0#1|)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} main_#t~post6#1 := ~counter~0;~counter~0 := ~bvadd32(1bv32, main_#t~post6#1); {797#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~a~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~x~0#1|)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} is VALID [2022-02-20 17:21:28,856 INFO L290 TraceCheckUtils]: 14: Hoare triple {797#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~a~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~x~0#1|)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} assume !!~bvslt32(main_#t~post6#1, 5bv32);havoc main_#t~post6#1; {797#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~a~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~x~0#1|)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} is VALID [2022-02-20 17:21:28,856 INFO L272 TraceCheckUtils]: 15: Hoare triple {797#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~a~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~x~0#1|)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} call __VERIFIER_assert((if 1bv64 == ~bvsub64(~bvmul64(main_~p~0#1, main_~s~0#1), ~bvmul64(main_~r~0#1, main_~q~0#1)) then 1bv32 else 0bv32)); {752#true} is VALID [2022-02-20 17:21:28,857 INFO L290 TraceCheckUtils]: 16: Hoare triple {752#true} ~cond := #in~cond; {752#true} is VALID [2022-02-20 17:21:28,857 INFO L290 TraceCheckUtils]: 17: Hoare triple {752#true} assume !(0bv32 == ~cond); {752#true} is VALID [2022-02-20 17:21:28,857 INFO L290 TraceCheckUtils]: 18: Hoare triple {752#true} assume true; {752#true} is VALID [2022-02-20 17:21:28,861 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {752#true} {797#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~a~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~x~0#1|)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} #65#return; {797#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~a~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~x~0#1|)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} is VALID [2022-02-20 17:21:28,862 INFO L272 TraceCheckUtils]: 20: Hoare triple {797#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~a~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~x~0#1|)) (= (_ bv0 64) |ULTIMATE.start_main_~r~0#1|) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~p~0#1| (_ bv1 64)))} call __VERIFIER_assert((if main_~a~0#1 == ~bvadd64(~bvmul64(~sign_extendFrom32To64(main_~y~0#1), main_~r~0#1), ~bvmul64(~sign_extendFrom32To64(main_~x~0#1), main_~p~0#1)) then 1bv32 else 0bv32)); {822#(= (_ bv1 32) |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:28,863 INFO L290 TraceCheckUtils]: 21: Hoare triple {822#(= (_ bv1 32) |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {826#(= __VERIFIER_assert_~cond (_ bv1 32))} is VALID [2022-02-20 17:21:28,863 INFO L290 TraceCheckUtils]: 22: Hoare triple {826#(= __VERIFIER_assert_~cond (_ bv1 32))} assume 0bv32 == ~cond; {753#false} is VALID [2022-02-20 17:21:28,864 INFO L290 TraceCheckUtils]: 23: Hoare triple {753#false} assume !false; {753#false} is VALID [2022-02-20 17:21:28,864 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 17:21:28,864 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:28,864 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 17:21:28,864 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [576479501] [2022-02-20 17:21:28,864 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [576479501] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:28,865 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:28,865 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 17:21:28,865 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1750669284] [2022-02-20 17:21:28,865 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:28,865 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 1.75) internal successors, (14), 6 states have internal predecessors, (14), 3 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 24 [2022-02-20 17:21:28,866 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:28,866 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 1.75) internal successors, (14), 6 states have internal predecessors, (14), 3 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 17:21:29,082 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:29,082 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 17:21:29,082 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 17:21:29,083 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 17:21:29,083 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:21:29,083 INFO L87 Difference]: Start difference. First operand 42 states and 59 transitions. Second operand has 9 states, 8 states have (on average 1.75) internal successors, (14), 6 states have internal predecessors, (14), 3 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 17:21:39,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:39,316 INFO L93 Difference]: Finished difference Result 49 states and 65 transitions. [2022-02-20 17:21:39,316 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 17:21:39,316 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 1.75) internal successors, (14), 6 states have internal predecessors, (14), 3 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 24 [2022-02-20 17:21:39,317 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:39,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 1.75) internal successors, (14), 6 states have internal predecessors, (14), 3 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 17:21:39,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-02-20 17:21:39,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 1.75) internal successors, (14), 6 states have internal predecessors, (14), 3 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 17:21:39,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-02-20 17:21:39,323 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 60 transitions. [2022-02-20 17:21:40,136 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:40,138 INFO L225 Difference]: With dead ends: 49 [2022-02-20 17:21:40,138 INFO L226 Difference]: Without dead ends: 47 [2022-02-20 17:21:40,138 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:21:40,139 INFO L933 BasicCegarLoop]: 37 mSDtfsCounter, 37 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 84 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 185 SdHoareTripleChecker+Invalid, 104 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 84 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:40,140 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 185 Invalid, 104 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 84 Invalid, 0 Unknown, 0 Unchecked, 2.2s Time] [2022-02-20 17:21:40,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-02-20 17:21:40,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-02-20 17:21:40,146 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:40,147 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 46 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 28 states have internal predecessors, (33), 15 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:21:40,147 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 46 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 28 states have internal predecessors, (33), 15 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:21:40,148 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 46 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 28 states have internal predecessors, (33), 15 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:21:40,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:40,151 INFO L93 Difference]: Finished difference Result 47 states and 63 transitions. [2022-02-20 17:21:40,151 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 63 transitions. [2022-02-20 17:21:40,152 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:40,152 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:40,152 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 28 states have internal predecessors, (33), 15 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 47 states. [2022-02-20 17:21:40,153 INFO L87 Difference]: Start difference. First operand has 46 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 28 states have internal predecessors, (33), 15 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 47 states. [2022-02-20 17:21:40,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:40,156 INFO L93 Difference]: Finished difference Result 47 states and 63 transitions. [2022-02-20 17:21:40,156 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 63 transitions. [2022-02-20 17:21:40,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:40,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:40,157 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:40,157 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:40,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 26 states have (on average 1.2692307692307692) internal successors, (33), 28 states have internal predecessors, (33), 15 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:21:40,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 62 transitions. [2022-02-20 17:21:40,160 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 62 transitions. Word has length 24 [2022-02-20 17:21:40,160 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:40,160 INFO L470 AbstractCegarLoop]: Abstraction has 46 states and 62 transitions. [2022-02-20 17:21:40,161 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 1.75) internal successors, (14), 6 states have internal predecessors, (14), 3 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 17:21:40,161 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 62 transitions. [2022-02-20 17:21:40,161 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 17:21:40,162 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:40,162 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:40,175 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Ended with exit code 0 [2022-02-20 17:21:40,377 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 17:21:40,378 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:40,378 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:40,378 INFO L85 PathProgramCache]: Analyzing trace with hash -1836785898, now seen corresponding path program 1 times [2022-02-20 17:21:40,378 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 17:21:40,379 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1615900766] [2022-02-20 17:21:40,379 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:40,379 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 17:21:40,379 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 17:21:40,380 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 17:21:40,382 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (6)] Waiting until timeout for monitored process [2022-02-20 17:21:40,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:40,574 INFO L263 TraceCheckSpWp]: Trace formula consists of 59 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 17:21:40,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:40,584 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:40,945 INFO L290 TraceCheckUtils]: 0: Hoare triple {1070#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(10bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);~counter~0 := 0bv32; {1070#true} is VALID [2022-02-20 17:21:40,945 INFO L290 TraceCheckUtils]: 1: Hoare triple {1070#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_#t~post6#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1070#true} is VALID [2022-02-20 17:21:40,945 INFO L272 TraceCheckUtils]: 2: Hoare triple {1070#true} call assume_abort_if_not((if ~bvsge32(main_~x~0#1, 1bv32) then 1bv32 else 0bv32)); {1070#true} is VALID [2022-02-20 17:21:40,945 INFO L290 TraceCheckUtils]: 3: Hoare triple {1070#true} ~cond := #in~cond; {1084#(= |assume_abort_if_not_#in~cond| assume_abort_if_not_~cond)} is VALID [2022-02-20 17:21:40,946 INFO L290 TraceCheckUtils]: 4: Hoare triple {1084#(= |assume_abort_if_not_#in~cond| assume_abort_if_not_~cond)} assume !(0bv32 == ~cond); {1088#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} is VALID [2022-02-20 17:21:40,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {1088#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} assume true; {1088#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} is VALID [2022-02-20 17:21:40,947 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1088#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} {1070#true} #61#return; {1095#(bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32))} is VALID [2022-02-20 17:21:40,947 INFO L272 TraceCheckUtils]: 7: Hoare triple {1095#(bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32))} call assume_abort_if_not((if ~bvsge32(main_~y~0#1, 1bv32) then 1bv32 else 0bv32)); {1070#true} is VALID [2022-02-20 17:21:40,947 INFO L290 TraceCheckUtils]: 8: Hoare triple {1070#true} ~cond := #in~cond; {1084#(= |assume_abort_if_not_#in~cond| assume_abort_if_not_~cond)} is VALID [2022-02-20 17:21:40,948 INFO L290 TraceCheckUtils]: 9: Hoare triple {1084#(= |assume_abort_if_not_#in~cond| assume_abort_if_not_~cond)} assume !(0bv32 == ~cond); {1088#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} is VALID [2022-02-20 17:21:40,948 INFO L290 TraceCheckUtils]: 10: Hoare triple {1088#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} assume true; {1088#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} is VALID [2022-02-20 17:21:40,949 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {1088#(not (= |assume_abort_if_not_#in~cond| (_ bv0 32)))} {1095#(bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32))} #63#return; {1111#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)))} is VALID [2022-02-20 17:21:40,949 INFO L290 TraceCheckUtils]: 12: Hoare triple {1111#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)))} main_~a~0#1 := ~sign_extendFrom32To64(main_~x~0#1);main_~b~0#1 := ~sign_extendFrom32To64(main_~y~0#1);main_~p~0#1 := 1bv64;main_~q~0#1 := 0bv64;main_~r~0#1 := 0bv64;main_~s~0#1 := 1bv64; {1115#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= |ULTIMATE.start_main_~b~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~y~0#1|)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~q~0#1| (_ bv0 64)))} is VALID [2022-02-20 17:21:40,951 INFO L290 TraceCheckUtils]: 13: Hoare triple {1115#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= |ULTIMATE.start_main_~b~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~y~0#1|)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~q~0#1| (_ bv0 64)))} main_#t~post6#1 := ~counter~0;~counter~0 := ~bvadd32(1bv32, main_#t~post6#1); {1115#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= |ULTIMATE.start_main_~b~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~y~0#1|)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~q~0#1| (_ bv0 64)))} is VALID [2022-02-20 17:21:40,951 INFO L290 TraceCheckUtils]: 14: Hoare triple {1115#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= |ULTIMATE.start_main_~b~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~y~0#1|)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~q~0#1| (_ bv0 64)))} assume !!~bvslt32(main_#t~post6#1, 5bv32);havoc main_#t~post6#1; {1115#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= |ULTIMATE.start_main_~b~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~y~0#1|)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~q~0#1| (_ bv0 64)))} is VALID [2022-02-20 17:21:40,951 INFO L272 TraceCheckUtils]: 15: Hoare triple {1115#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= |ULTIMATE.start_main_~b~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~y~0#1|)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~q~0#1| (_ bv0 64)))} call __VERIFIER_assert((if 1bv64 == ~bvsub64(~bvmul64(main_~p~0#1, main_~s~0#1), ~bvmul64(main_~r~0#1, main_~q~0#1)) then 1bv32 else 0bv32)); {1070#true} is VALID [2022-02-20 17:21:40,951 INFO L290 TraceCheckUtils]: 16: Hoare triple {1070#true} ~cond := #in~cond; {1070#true} is VALID [2022-02-20 17:21:40,951 INFO L290 TraceCheckUtils]: 17: Hoare triple {1070#true} assume !(0bv32 == ~cond); {1070#true} is VALID [2022-02-20 17:21:40,952 INFO L290 TraceCheckUtils]: 18: Hoare triple {1070#true} assume true; {1070#true} is VALID [2022-02-20 17:21:40,952 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1070#true} {1115#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= |ULTIMATE.start_main_~b~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~y~0#1|)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~q~0#1| (_ bv0 64)))} #65#return; {1115#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= |ULTIMATE.start_main_~b~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~y~0#1|)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~q~0#1| (_ bv0 64)))} is VALID [2022-02-20 17:21:40,952 INFO L272 TraceCheckUtils]: 20: Hoare triple {1115#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= |ULTIMATE.start_main_~b~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~y~0#1|)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~q~0#1| (_ bv0 64)))} call __VERIFIER_assert((if main_~a~0#1 == ~bvadd64(~bvmul64(~sign_extendFrom32To64(main_~y~0#1), main_~r~0#1), ~bvmul64(~sign_extendFrom32To64(main_~x~0#1), main_~p~0#1)) then 1bv32 else 0bv32)); {1070#true} is VALID [2022-02-20 17:21:40,953 INFO L290 TraceCheckUtils]: 21: Hoare triple {1070#true} ~cond := #in~cond; {1070#true} is VALID [2022-02-20 17:21:40,953 INFO L290 TraceCheckUtils]: 22: Hoare triple {1070#true} assume !(0bv32 == ~cond); {1070#true} is VALID [2022-02-20 17:21:40,953 INFO L290 TraceCheckUtils]: 23: Hoare triple {1070#true} assume true; {1070#true} is VALID [2022-02-20 17:21:40,955 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1070#true} {1115#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= |ULTIMATE.start_main_~b~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~y~0#1|)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~q~0#1| (_ bv0 64)))} #67#return; {1115#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= |ULTIMATE.start_main_~b~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~y~0#1|)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~q~0#1| (_ bv0 64)))} is VALID [2022-02-20 17:21:40,956 INFO L272 TraceCheckUtils]: 25: Hoare triple {1115#(and (bvsge |ULTIMATE.start_main_~x~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~s~0#1| (_ bv1 64)) (= |ULTIMATE.start_main_~b~0#1| ((_ sign_extend 32) |ULTIMATE.start_main_~y~0#1|)) (bvsge |ULTIMATE.start_main_~y~0#1| (_ bv1 32)) (= |ULTIMATE.start_main_~q~0#1| (_ bv0 64)))} call __VERIFIER_assert((if main_~b~0#1 == ~bvadd64(~bvmul64(~sign_extendFrom32To64(main_~x~0#1), main_~q~0#1), ~bvmul64(~sign_extendFrom32To64(main_~y~0#1), main_~s~0#1)) then 1bv32 else 0bv32)); {1155#(= (_ bv1 32) |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:40,956 INFO L290 TraceCheckUtils]: 26: Hoare triple {1155#(= (_ bv1 32) |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1159#(= __VERIFIER_assert_~cond (_ bv1 32))} is VALID [2022-02-20 17:21:40,957 INFO L290 TraceCheckUtils]: 27: Hoare triple {1159#(= __VERIFIER_assert_~cond (_ bv1 32))} assume 0bv32 == ~cond; {1071#false} is VALID [2022-02-20 17:21:40,957 INFO L290 TraceCheckUtils]: 28: Hoare triple {1071#false} assume !false; {1071#false} is VALID [2022-02-20 17:21:40,957 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 17:21:40,957 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:40,957 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 17:21:40,958 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1615900766] [2022-02-20 17:21:40,958 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1615900766] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:40,958 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:40,958 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-02-20 17:21:40,958 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1891944379] [2022-02-20 17:21:40,958 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:40,959 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 1.75) internal successors, (14), 6 states have internal predecessors, (14), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-02-20 17:21:40,959 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:40,960 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 1.75) internal successors, (14), 6 states have internal predecessors, (14), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 17:21:41,178 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:41,178 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 17:21:41,178 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 17:21:41,179 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 17:21:41,179 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:21:41,179 INFO L87 Difference]: Start difference. First operand 46 states and 62 transitions. Second operand has 9 states, 8 states have (on average 1.75) internal successors, (14), 6 states have internal predecessors, (14), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 17:21:49,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:49,784 INFO L93 Difference]: Finished difference Result 71 states and 103 transitions. [2022-02-20 17:21:49,784 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 17:21:49,784 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 1.75) internal successors, (14), 6 states have internal predecessors, (14), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-02-20 17:21:49,784 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:49,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 1.75) internal successors, (14), 6 states have internal predecessors, (14), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 17:21:49,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-02-20 17:21:49,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 1.75) internal successors, (14), 6 states have internal predecessors, (14), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 17:21:49,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-02-20 17:21:49,788 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 60 transitions.