./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/egcd-ll_valuebound50.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_valuebound50.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 3134c54bcf8aadaf562f6870f2277db1ec6f958b1ed6dba99e7410745dba79ba --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:20:54,340 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:20:54,341 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:20:54,361 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:20:54,363 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:20:54,366 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:20:54,368 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:20:54,373 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:20:54,374 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:20:54,378 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:20:54,379 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:20:54,380 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:20:54,380 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:20:54,382 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:20:54,383 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:20:54,385 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:20:54,385 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:20:54,386 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:20:54,389 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:20:54,392 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:20:54,393 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:20:54,394 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:20:54,395 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:20:54,396 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:20:54,399 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:20:54,399 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:20:54,399 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:20:54,400 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:20:54,401 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:20:54,401 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:20:54,402 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:20:54,402 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:20:54,403 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:20:54,404 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:20:54,405 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:20:54,405 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:20:54,405 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:20:54,406 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:20:54,406 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:20:54,406 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:20:54,407 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:20:54,407 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:54,437 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:20:54,437 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:20:54,438 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:20:54,438 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:20:54,439 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:20:54,439 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:20:54,439 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:20:54,439 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:20:54,439 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:20:54,440 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:20:54,440 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:20:54,440 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:20:54,440 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:20:54,441 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:20:54,441 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:20:54,441 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:20:54,441 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:20:54,441 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:20:54,441 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:20:54,442 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:20:54,442 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:20:54,442 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:20:54,442 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:20:54,442 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:20:54,442 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:20:54,442 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:20:54,443 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:20:54,443 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:20:54,444 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:20:54,444 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:20:54,444 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:20:54,444 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:20:54,444 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:20:54,444 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 -> 3134c54bcf8aadaf562f6870f2277db1ec6f958b1ed6dba99e7410745dba79ba [2022-02-20 17:20:54,620 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:20:54,631 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:20:54,633 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:20:54,634 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:20:54,639 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:20:54,640 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/egcd-ll_valuebound50.c [2022-02-20 17:20:54,682 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/17fd63818/01f076447ab74001931c73cc7e086241/FLAG38595fd10 [2022-02-20 17:20:55,021 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:20:55,022 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/egcd-ll_valuebound50.c [2022-02-20 17:20:55,026 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/17fd63818/01f076447ab74001931c73cc7e086241/FLAG38595fd10 [2022-02-20 17:20:55,465 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/17fd63818/01f076447ab74001931c73cc7e086241 [2022-02-20 17:20:55,466 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:20:55,469 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:20:55,470 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:20:55,470 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:20:55,472 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:20:55,473 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:20:55" (1/1) ... [2022-02-20 17:20:55,474 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7d30347b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:55, skipping insertion in model container [2022-02-20 17:20:55,474 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:20:55" (1/1) ... [2022-02-20 17:20:55,478 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:20:55,488 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:20:55,598 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_valuebound50.c[489,502] [2022-02-20 17:20:55,614 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:20:55,619 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:20:55,629 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_valuebound50.c[489,502] [2022-02-20 17:20:55,638 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:20:55,647 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:20:55,647 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:55 WrapperNode [2022-02-20 17:20:55,647 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:20:55,648 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:20:55,648 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:20:55,648 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:20:55,652 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:55" (1/1) ... [2022-02-20 17:20:55,656 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:55" (1/1) ... [2022-02-20 17:20:55,681 INFO L137 Inliner]: procedures = 14, calls = 18, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 56 [2022-02-20 17:20:55,682 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:20:55,682 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:20:55,682 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:20:55,682 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:20:55,687 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:55" (1/1) ... [2022-02-20 17:20:55,687 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:55" (1/1) ... [2022-02-20 17:20:55,695 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:55" (1/1) ... [2022-02-20 17:20:55,696 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:55" (1/1) ... [2022-02-20 17:20:55,698 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:55" (1/1) ... [2022-02-20 17:20:55,704 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:55" (1/1) ... [2022-02-20 17:20:55,705 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:55" (1/1) ... [2022-02-20 17:20:55,707 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:20:55,711 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:20:55,711 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:20:55,712 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:20:55,712 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:55" (1/1) ... [2022-02-20 17:20:55,717 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:20:55,724 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:55,734 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:55,752 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:55,763 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:20:55,763 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 17:20:55,763 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 17:20:55,763 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:20:55,763 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:20:55,763 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:20:55,763 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:20:55,764 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:20:55,802 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:20:55,803 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:20:55,908 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:20:55,913 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:20:55,914 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-02-20 17:20:55,916 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:20:55 BoogieIcfgContainer [2022-02-20 17:20:55,916 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:20:55,920 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:20:55,933 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:20:55,935 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:20:55,935 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:20:55" (1/3) ... [2022-02-20 17:20:55,936 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7eb560c4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:20:55, skipping insertion in model container [2022-02-20 17:20:55,936 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:55" (2/3) ... [2022-02-20 17:20:55,936 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7eb560c4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:20:55, skipping insertion in model container [2022-02-20 17:20:55,937 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:20:55" (3/3) ... [2022-02-20 17:20:55,937 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound50.c [2022-02-20 17:20:55,941 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:20:55,941 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:20:55,969 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:20:55,974 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:55,975 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:20:55,995 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:20:55,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 17:20:55,998 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:55,999 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:20:55,999 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:56,002 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:56,002 INFO L85 PathProgramCache]: Analyzing trace with hash 516392259, now seen corresponding path program 1 times [2022-02-20 17:20:56,010 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:56,010 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [231875987] [2022-02-20 17:20:56,010 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:56,011 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:56,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:56,146 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:20:56,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:56,166 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:56,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:56,167 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:56,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #63#return; {35#true} is VALID [2022-02-20 17:20:56,169 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:20:56,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:56,181 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:56,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:56,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:56,181 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #65#return; {35#true} is VALID [2022-02-20 17:20:56,182 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:20:56,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:56,186 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:56,187 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:56,187 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:56,187 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #67#return; {35#true} is VALID [2022-02-20 17:20:56,187 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-02-20 17:20:56,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:56,194 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:56,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:56,195 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:56,195 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-02-20 17:20:56,196 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#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); {35#true} is VALID [2022-02-20 17:20:56,196 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#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_~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; {35#true} is VALID [2022-02-20 17:20:56,196 INFO L272 TraceCheckUtils]: 2: Hoare triple {35#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 50 then 1 else 0)); {35#true} is VALID [2022-02-20 17:20:56,196 INFO L290 TraceCheckUtils]: 3: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:56,196 INFO L290 TraceCheckUtils]: 4: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:56,197 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:56,197 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {35#true} {35#true} #63#return; {35#true} is VALID [2022-02-20 17:20:56,197 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {35#true} is VALID [2022-02-20 17:20:56,197 INFO L272 TraceCheckUtils]: 8: Hoare triple {35#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 50 then 1 else 0)); {35#true} is VALID [2022-02-20 17:20:56,198 INFO L290 TraceCheckUtils]: 9: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:56,198 INFO L290 TraceCheckUtils]: 10: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:56,199 INFO L290 TraceCheckUtils]: 11: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:56,199 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {35#true} {35#true} #65#return; {35#true} is VALID [2022-02-20 17:20:56,199 INFO L272 TraceCheckUtils]: 13: Hoare triple {35#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {35#true} is VALID [2022-02-20 17:20:56,199 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:56,199 INFO L290 TraceCheckUtils]: 15: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:56,200 INFO L290 TraceCheckUtils]: 16: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:56,200 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {35#true} {35#true} #67#return; {35#true} is VALID [2022-02-20 17:20:56,200 INFO L272 TraceCheckUtils]: 18: Hoare triple {35#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {35#true} is VALID [2022-02-20 17:20:56,200 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:56,201 INFO L290 TraceCheckUtils]: 20: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:56,201 INFO L290 TraceCheckUtils]: 21: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:56,201 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-02-20 17:20:56,201 INFO L290 TraceCheckUtils]: 23: Hoare triple {35#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; {35#true} is VALID [2022-02-20 17:20:56,202 INFO L290 TraceCheckUtils]: 24: Hoare triple {35#true} assume !true; {36#false} is VALID [2022-02-20 17:20:56,202 INFO L272 TraceCheckUtils]: 25: Hoare triple {36#false} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {36#false} is VALID [2022-02-20 17:20:56,203 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-02-20 17:20:56,203 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-02-20 17:20:56,203 INFO L290 TraceCheckUtils]: 28: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-02-20 17:20:56,204 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 17:20:56,205 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:56,205 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [231875987] [2022-02-20 17:20:56,206 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [231875987] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:20:56,206 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:20:56,207 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:20:56,208 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [221197592] [2022-02-20 17:20:56,209 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:20:56,213 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-02-20 17:20:56,214 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:56,217 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:56,249 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:56,249 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:20:56,249 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:56,268 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:20:56,269 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:20:56,271 INFO L87 Difference]: Start difference. First operand has 32 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:56,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:56,351 INFO L93 Difference]: Finished difference Result 61 states and 99 transitions. [2022-02-20 17:20:56,351 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:20:56,351 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-02-20 17:20:56,352 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:56,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:56,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 99 transitions. [2022-02-20 17:20:56,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:56,364 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 99 transitions. [2022-02-20 17:20:56,364 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 99 transitions. [2022-02-20 17:20:56,495 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:56,501 INFO L225 Difference]: With dead ends: 61 [2022-02-20 17:20:56,504 INFO L226 Difference]: Without dead ends: 28 [2022-02-20 17:20:56,506 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 10 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:56,510 INFO L933 BasicCegarLoop]: 42 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, 42 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:56,513 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 42 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:56,525 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-02-20 17:20:56,540 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 28. [2022-02-20 17:20:56,541 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:20:56,541 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:20:56,542 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:20:56,542 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:20:56,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:56,546 INFO L93 Difference]: Finished difference Result 28 states and 38 transitions. [2022-02-20 17:20:56,546 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 38 transitions. [2022-02-20 17:20:56,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:56,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:56,550 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 28 states. [2022-02-20 17:20:56,551 INFO L87 Difference]: Start difference. First operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 28 states. [2022-02-20 17:20:56,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:56,557 INFO L93 Difference]: Finished difference Result 28 states and 38 transitions. [2022-02-20 17:20:56,558 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 38 transitions. [2022-02-20 17:20:56,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:56,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:56,559 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:20:56,559 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:20:56,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:20:56,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 38 transitions. [2022-02-20 17:20:56,565 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 38 transitions. Word has length 29 [2022-02-20 17:20:56,566 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:20:56,566 INFO L470 AbstractCegarLoop]: Abstraction has 28 states and 38 transitions. [2022-02-20 17:20:56,567 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:56,567 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 38 transitions. [2022-02-20 17:20:56,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 17:20:56,569 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:56,569 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:20:56,569 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:20:56,570 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:56,570 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:56,571 INFO L85 PathProgramCache]: Analyzing trace with hash 501437177, now seen corresponding path program 1 times [2022-02-20 17:20:56,572 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:56,572 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [302265154] [2022-02-20 17:20:56,572 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:56,572 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:56,593 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:20:56,600 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2038477664] [2022-02-20 17:20:56,600 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:56,601 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:56,601 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:56,602 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:56,613 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:56,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:56,671 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 17:20:56,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:56,683 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:20:56,860 INFO L290 TraceCheckUtils]: 0: Hoare triple {243#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); {243#true} is VALID [2022-02-20 17:20:56,861 INFO L290 TraceCheckUtils]: 1: Hoare triple {243#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_~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; {243#true} is VALID [2022-02-20 17:20:56,861 INFO L272 TraceCheckUtils]: 2: Hoare triple {243#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 50 then 1 else 0)); {243#true} is VALID [2022-02-20 17:20:56,864 INFO L290 TraceCheckUtils]: 3: Hoare triple {243#true} ~cond := #in~cond; {243#true} is VALID [2022-02-20 17:20:56,864 INFO L290 TraceCheckUtils]: 4: Hoare triple {243#true} assume !(0 == ~cond); {243#true} is VALID [2022-02-20 17:20:56,864 INFO L290 TraceCheckUtils]: 5: Hoare triple {243#true} assume true; {243#true} is VALID [2022-02-20 17:20:56,864 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {243#true} {243#true} #63#return; {243#true} is VALID [2022-02-20 17:20:56,864 INFO L290 TraceCheckUtils]: 7: Hoare triple {243#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {243#true} is VALID [2022-02-20 17:20:56,865 INFO L272 TraceCheckUtils]: 8: Hoare triple {243#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 50 then 1 else 0)); {243#true} is VALID [2022-02-20 17:20:56,865 INFO L290 TraceCheckUtils]: 9: Hoare triple {243#true} ~cond := #in~cond; {243#true} is VALID [2022-02-20 17:20:56,866 INFO L290 TraceCheckUtils]: 10: Hoare triple {243#true} assume !(0 == ~cond); {243#true} is VALID [2022-02-20 17:20:56,867 INFO L290 TraceCheckUtils]: 11: Hoare triple {243#true} assume true; {243#true} is VALID [2022-02-20 17:20:56,867 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {243#true} {243#true} #65#return; {243#true} is VALID [2022-02-20 17:20:56,867 INFO L272 TraceCheckUtils]: 13: Hoare triple {243#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {243#true} is VALID [2022-02-20 17:20:56,867 INFO L290 TraceCheckUtils]: 14: Hoare triple {243#true} ~cond := #in~cond; {243#true} is VALID [2022-02-20 17:20:56,868 INFO L290 TraceCheckUtils]: 15: Hoare triple {243#true} assume !(0 == ~cond); {243#true} is VALID [2022-02-20 17:20:56,868 INFO L290 TraceCheckUtils]: 16: Hoare triple {243#true} assume true; {243#true} is VALID [2022-02-20 17:20:56,868 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {243#true} {243#true} #67#return; {243#true} is VALID [2022-02-20 17:20:56,868 INFO L272 TraceCheckUtils]: 18: Hoare triple {243#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {243#true} is VALID [2022-02-20 17:20:56,868 INFO L290 TraceCheckUtils]: 19: Hoare triple {243#true} ~cond := #in~cond; {243#true} is VALID [2022-02-20 17:20:56,868 INFO L290 TraceCheckUtils]: 20: Hoare triple {243#true} assume !(0 == ~cond); {243#true} is VALID [2022-02-20 17:20:56,868 INFO L290 TraceCheckUtils]: 21: Hoare triple {243#true} assume true; {243#true} is VALID [2022-02-20 17:20:56,869 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {243#true} {243#true} #69#return; {243#true} is VALID [2022-02-20 17:20:56,869 INFO L290 TraceCheckUtils]: 23: Hoare triple {243#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; {317#(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:56,870 INFO L290 TraceCheckUtils]: 24: Hoare triple {317#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {317#(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:56,871 INFO L272 TraceCheckUtils]: 25: Hoare triple {317#(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)); {324#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:20:56,871 INFO L290 TraceCheckUtils]: 26: Hoare triple {324#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {328#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:20:56,871 INFO L290 TraceCheckUtils]: 27: Hoare triple {328#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {244#false} is VALID [2022-02-20 17:20:56,872 INFO L290 TraceCheckUtils]: 28: Hoare triple {244#false} assume !false; {244#false} is VALID [2022-02-20 17:20:56,873 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 17:20:56,873 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:20:56,873 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:56,873 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [302265154] [2022-02-20 17:20:56,874 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:20:56,874 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2038477664] [2022-02-20 17:20:56,877 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2038477664] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:20:56,877 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:20:56,877 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:20:56,877 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1907104576] [2022-02-20 17:20:56,878 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:20:56,879 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-02-20 17:20:56,879 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:56,879 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:56,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:56,894 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:20:56,895 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:56,895 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:20:56,895 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:20:56,896 INFO L87 Difference]: Start difference. First operand 28 states and 38 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:57,057 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:57,057 INFO L93 Difference]: Finished difference Result 44 states and 61 transitions. [2022-02-20 17:20:57,057 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:20:57,057 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-02-20 17:20:57,058 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:57,058 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:57,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:20:57,060 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:57,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:20:57,062 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-02-20 17:20:57,105 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:57,109 INFO L225 Difference]: With dead ends: 44 [2022-02-20 17:20:57,109 INFO L226 Difference]: Without dead ends: 42 [2022-02-20 17:20:57,109 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 25 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:57,110 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 139 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:57,110 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 139 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:57,111 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-02-20 17:20:57,117 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 41. [2022-02-20 17:20:57,117 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:20:57,118 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:20:57,120 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:20:57,121 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:20:57,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:57,126 INFO L93 Difference]: Finished difference Result 42 states and 59 transitions. [2022-02-20 17:20:57,127 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 59 transitions. [2022-02-20 17:20:57,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:57,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:57,133 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 42 states. [2022-02-20 17:20:57,134 INFO L87 Difference]: Start difference. First operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 42 states. [2022-02-20 17:20:57,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:57,139 INFO L93 Difference]: Finished difference Result 42 states and 59 transitions. [2022-02-20 17:20:57,139 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 59 transitions. [2022-02-20 17:20:57,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:57,141 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:57,141 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:20:57,141 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:20:57,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:20:57,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 58 transitions. [2022-02-20 17:20:57,145 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 58 transitions. Word has length 29 [2022-02-20 17:20:57,145 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:20:57,145 INFO L470 AbstractCegarLoop]: Abstraction has 41 states and 58 transitions. [2022-02-20 17:20:57,145 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, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:57,145 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 58 transitions. [2022-02-20 17:20:57,146 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 17:20:57,146 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:57,146 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 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:57,162 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-02-20 17:20:57,354 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:57,355 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:57,355 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:57,355 INFO L85 PathProgramCache]: Analyzing trace with hash -1017640517, now seen corresponding path program 1 times [2022-02-20 17:20:57,355 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:57,355 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [707307898] [2022-02-20 17:20:57,355 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:57,356 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:57,377 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:20:57,378 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1018584307] [2022-02-20 17:20:57,378 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:57,378 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:57,378 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:57,379 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:57,381 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:57,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:57,416 INFO L263 TraceCheckSpWp]: Trace formula consists of 98 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 17:20:57,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:57,426 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:20:57,613 INFO L290 TraceCheckUtils]: 0: Hoare triple {550#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); {550#true} is VALID [2022-02-20 17:20:57,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {550#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_~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; {550#true} is VALID [2022-02-20 17:20:57,614 INFO L272 TraceCheckUtils]: 2: Hoare triple {550#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 50 then 1 else 0)); {550#true} is VALID [2022-02-20 17:20:57,614 INFO L290 TraceCheckUtils]: 3: Hoare triple {550#true} ~cond := #in~cond; {550#true} is VALID [2022-02-20 17:20:57,614 INFO L290 TraceCheckUtils]: 4: Hoare triple {550#true} assume !(0 == ~cond); {550#true} is VALID [2022-02-20 17:20:57,614 INFO L290 TraceCheckUtils]: 5: Hoare triple {550#true} assume true; {550#true} is VALID [2022-02-20 17:20:57,614 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {550#true} {550#true} #63#return; {550#true} is VALID [2022-02-20 17:20:57,614 INFO L290 TraceCheckUtils]: 7: Hoare triple {550#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {550#true} is VALID [2022-02-20 17:20:57,614 INFO L272 TraceCheckUtils]: 8: Hoare triple {550#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 50 then 1 else 0)); {550#true} is VALID [2022-02-20 17:20:57,615 INFO L290 TraceCheckUtils]: 9: Hoare triple {550#true} ~cond := #in~cond; {550#true} is VALID [2022-02-20 17:20:57,615 INFO L290 TraceCheckUtils]: 10: Hoare triple {550#true} assume !(0 == ~cond); {550#true} is VALID [2022-02-20 17:20:57,615 INFO L290 TraceCheckUtils]: 11: Hoare triple {550#true} assume true; {550#true} is VALID [2022-02-20 17:20:57,615 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {550#true} {550#true} #65#return; {550#true} is VALID [2022-02-20 17:20:57,615 INFO L272 TraceCheckUtils]: 13: Hoare triple {550#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {550#true} is VALID [2022-02-20 17:20:57,616 INFO L290 TraceCheckUtils]: 14: Hoare triple {550#true} ~cond := #in~cond; {597#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:20:57,616 INFO L290 TraceCheckUtils]: 15: Hoare triple {597#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {601#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:20:57,616 INFO L290 TraceCheckUtils]: 16: Hoare triple {601#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {601#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:20:57,617 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {601#(not (= |assume_abort_if_not_#in~cond| 0))} {550#true} #67#return; {608#(<= 1 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 17:20:57,617 INFO L272 TraceCheckUtils]: 18: Hoare triple {608#(<= 1 |ULTIMATE.start_main_~x~0#1|)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {550#true} is VALID [2022-02-20 17:20:57,617 INFO L290 TraceCheckUtils]: 19: Hoare triple {550#true} ~cond := #in~cond; {550#true} is VALID [2022-02-20 17:20:57,617 INFO L290 TraceCheckUtils]: 20: Hoare triple {550#true} assume !(0 == ~cond); {550#true} is VALID [2022-02-20 17:20:57,617 INFO L290 TraceCheckUtils]: 21: Hoare triple {550#true} assume true; {550#true} is VALID [2022-02-20 17:20:57,618 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {550#true} {608#(<= 1 |ULTIMATE.start_main_~x~0#1|)} #69#return; {608#(<= 1 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 17:20:57,618 INFO L290 TraceCheckUtils]: 23: Hoare triple {608#(<= 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; {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:20:57,619 INFO L290 TraceCheckUtils]: 24: Hoare triple {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !false; {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:20:57,619 INFO L272 TraceCheckUtils]: 25: Hoare triple {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~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)); {550#true} is VALID [2022-02-20 17:20:57,619 INFO L290 TraceCheckUtils]: 26: Hoare triple {550#true} ~cond := #in~cond; {550#true} is VALID [2022-02-20 17:20:57,619 INFO L290 TraceCheckUtils]: 27: Hoare triple {550#true} assume !(0 == ~cond); {550#true} is VALID [2022-02-20 17:20:57,619 INFO L290 TraceCheckUtils]: 28: Hoare triple {550#true} assume true; {550#true} is VALID [2022-02-20 17:20:57,621 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {550#true} {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} #71#return; {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:20:57,622 INFO L272 TraceCheckUtils]: 30: Hoare triple {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~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)); {649#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:20:57,622 INFO L290 TraceCheckUtils]: 31: Hoare triple {649#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {653#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:20:57,623 INFO L290 TraceCheckUtils]: 32: Hoare triple {653#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {551#false} is VALID [2022-02-20 17:20:57,623 INFO L290 TraceCheckUtils]: 33: Hoare triple {551#false} assume !false; {551#false} is VALID [2022-02-20 17:20:57,623 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 17:20:57,623 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:42,306 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:42,307 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [707307898] [2022-02-20 17:21:42,307 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:42,307 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1018584307] [2022-02-20 17:21:42,307 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1018584307] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 17:21:42,307 INFO L191 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:21:42,307 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2022-02-20 17:21:42,308 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1801953526] [2022-02-20 17:21:42,308 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-02-20 17:21:42,308 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-02-20 17:21:42,308 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:42,309 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:42,336 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:42,336 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:21:42,336 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:42,336 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:21:42,336 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:21:42,336 INFO L87 Difference]: Start difference. First operand 41 states and 58 transitions. Second operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:42,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:42,677 INFO L93 Difference]: Finished difference Result 66 states and 98 transitions. [2022-02-20 17:21:42,678 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 17:21:42,678 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-02-20 17:21:42,679 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:42,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:42,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-02-20 17:21:42,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:42,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-02-20 17:21:42,691 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 61 transitions. [2022-02-20 17:21:42,739 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:42,741 INFO L225 Difference]: With dead ends: 66 [2022-02-20 17:21:42,741 INFO L226 Difference]: Without dead ends: 64 [2022-02-20 17:21:42,742 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 30 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:21:42,742 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 20 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 97 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 167 SdHoareTripleChecker+Invalid, 104 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 97 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:42,743 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 167 Invalid, 104 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 97 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:21:42,743 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-20 17:21:42,762 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 57. [2022-02-20 17:21:42,762 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:42,762 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:21:42,763 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:21:42,763 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:21:42,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:42,767 INFO L93 Difference]: Finished difference Result 64 states and 96 transitions. [2022-02-20 17:21:42,767 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 96 transitions. [2022-02-20 17:21:42,767 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:42,767 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:42,768 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 64 states. [2022-02-20 17:21:42,768 INFO L87 Difference]: Start difference. First operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 64 states. [2022-02-20 17:21:42,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:42,771 INFO L93 Difference]: Finished difference Result 64 states and 96 transitions. [2022-02-20 17:21:42,771 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 96 transitions. [2022-02-20 17:21:42,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:42,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:42,772 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:42,772 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:42,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:21:42,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 83 transitions. [2022-02-20 17:21:42,775 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 83 transitions. Word has length 34 [2022-02-20 17:21:42,775 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:42,775 INFO L470 AbstractCegarLoop]: Abstraction has 57 states and 83 transitions. [2022-02-20 17:21:42,775 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:42,776 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 83 transitions. [2022-02-20 17:21:42,776 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-02-20 17:21:42,776 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:42,776 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 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:21:42,793 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:21:42,991 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,SelfDestructingSolverStorable2 [2022-02-20 17:21:42,991 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:42,992 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:42,992 INFO L85 PathProgramCache]: Analyzing trace with hash 1133401081, now seen corresponding path program 1 times [2022-02-20 17:21:42,992 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:42,992 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [476967432] [2022-02-20 17:21:42,992 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:42,992 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:43,011 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:43,011 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1377064791] [2022-02-20 17:21:43,012 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:43,012 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:43,012 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:43,013 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:21:43,014 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:21:43,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:43,047 INFO L263 TraceCheckSpWp]: Trace formula consists of 107 conjuncts, 19 conjunts are in the unsatisfiable core [2022-02-20 17:21:43,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:43,056 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:43,368 INFO L290 TraceCheckUtils]: 0: Hoare triple {999#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); {999#true} is VALID [2022-02-20 17:21:43,369 INFO L290 TraceCheckUtils]: 1: Hoare triple {999#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_~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; {999#true} is VALID [2022-02-20 17:21:43,369 INFO L272 TraceCheckUtils]: 2: Hoare triple {999#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 50 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:43,369 INFO L290 TraceCheckUtils]: 3: Hoare triple {999#true} ~cond := #in~cond; {1013#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:21:43,370 INFO L290 TraceCheckUtils]: 4: Hoare triple {1013#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1017#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:21:43,370 INFO L290 TraceCheckUtils]: 5: Hoare triple {1017#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1017#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:21:43,371 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1017#(not (= |assume_abort_if_not_#in~cond| 0))} {999#true} #63#return; {1024#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50))} is VALID [2022-02-20 17:21:43,372 INFO L290 TraceCheckUtils]: 7: Hoare triple {1024#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50))} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1024#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50))} is VALID [2022-02-20 17:21:43,372 INFO L272 TraceCheckUtils]: 8: Hoare triple {1024#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50))} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 50 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:43,372 INFO L290 TraceCheckUtils]: 9: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:43,372 INFO L290 TraceCheckUtils]: 10: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:43,372 INFO L290 TraceCheckUtils]: 11: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:43,374 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {999#true} {1024#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50))} #65#return; {1024#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50))} is VALID [2022-02-20 17:21:43,374 INFO L272 TraceCheckUtils]: 13: Hoare triple {1024#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50))} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:43,377 INFO L290 TraceCheckUtils]: 14: Hoare triple {999#true} ~cond := #in~cond; {1013#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:21:43,377 INFO L290 TraceCheckUtils]: 15: Hoare triple {1013#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1017#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:21:43,377 INFO L290 TraceCheckUtils]: 16: Hoare triple {1017#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1017#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:21:43,378 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1017#(not (= |assume_abort_if_not_#in~cond| 0))} {1024#(and (<= 0 |ULTIMATE.start_main_~x~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50))} #67#return; {1058#(and (<= |ULTIMATE.start_main_~x~0#1| 50) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:21:43,378 INFO L272 TraceCheckUtils]: 18: Hoare triple {1058#(and (<= |ULTIMATE.start_main_~x~0#1| 50) (<= 1 |ULTIMATE.start_main_~x~0#1|))} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:43,378 INFO L290 TraceCheckUtils]: 19: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:43,378 INFO L290 TraceCheckUtils]: 20: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:43,378 INFO L290 TraceCheckUtils]: 21: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:43,379 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {999#true} {1058#(and (<= |ULTIMATE.start_main_~x~0#1| 50) (<= 1 |ULTIMATE.start_main_~x~0#1|))} #69#return; {1058#(and (<= |ULTIMATE.start_main_~x~0#1| 50) (<= 1 |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:21:43,379 INFO L290 TraceCheckUtils]: 23: Hoare triple {1058#(and (<= |ULTIMATE.start_main_~x~0#1| 50) (<= 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; {1077#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50) (= |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:21:43,380 INFO L290 TraceCheckUtils]: 24: Hoare triple {1077#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {1077#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50) (= |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:21:43,380 INFO L272 TraceCheckUtils]: 25: Hoare triple {1077#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50) (= |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)); {999#true} is VALID [2022-02-20 17:21:43,380 INFO L290 TraceCheckUtils]: 26: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:43,380 INFO L290 TraceCheckUtils]: 27: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:43,381 INFO L290 TraceCheckUtils]: 28: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:43,381 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {999#true} {1077#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #71#return; {1077#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50) (= |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:21:43,381 INFO L272 TraceCheckUtils]: 30: Hoare triple {1077#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50) (= |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)); {999#true} is VALID [2022-02-20 17:21:43,382 INFO L290 TraceCheckUtils]: 31: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:43,382 INFO L290 TraceCheckUtils]: 32: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:43,382 INFO L290 TraceCheckUtils]: 33: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:43,383 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {999#true} {1077#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50) (= |ULTIMATE.start_main_~q~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #73#return; {1077#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50) (= |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:21:43,384 INFO L272 TraceCheckUtils]: 35: Hoare triple {1077#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (<= |ULTIMATE.start_main_~x~0#1| 50) (= |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)); {1114#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:43,384 INFO L290 TraceCheckUtils]: 36: Hoare triple {1114#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1118#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:43,384 INFO L290 TraceCheckUtils]: 37: Hoare triple {1118#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1000#false} is VALID [2022-02-20 17:21:43,385 INFO L290 TraceCheckUtils]: 38: Hoare triple {1000#false} assume !false; {1000#false} is VALID [2022-02-20 17:21:43,385 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 7 proven. 9 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 17:21:43,385 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:43,634 INFO L290 TraceCheckUtils]: 38: Hoare triple {1000#false} assume !false; {1000#false} is VALID [2022-02-20 17:21:43,635 INFO L290 TraceCheckUtils]: 37: Hoare triple {1118#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1000#false} is VALID [2022-02-20 17:21:43,635 INFO L290 TraceCheckUtils]: 36: Hoare triple {1114#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1118#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:43,636 INFO L272 TraceCheckUtils]: 35: Hoare triple {1134#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~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)); {1114#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:43,637 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {999#true} {1134#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} #73#return; {1134#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:43,637 INFO L290 TraceCheckUtils]: 33: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:43,637 INFO L290 TraceCheckUtils]: 32: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:43,637 INFO L290 TraceCheckUtils]: 31: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:43,637 INFO L272 TraceCheckUtils]: 30: Hoare triple {1134#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~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)); {999#true} is VALID [2022-02-20 17:21:43,638 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {999#true} {1134#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} #71#return; {1134#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:43,638 INFO L290 TraceCheckUtils]: 28: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:43,638 INFO L290 TraceCheckUtils]: 27: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:43,638 INFO L290 TraceCheckUtils]: 26: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:43,638 INFO L272 TraceCheckUtils]: 25: Hoare triple {1134#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~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)); {999#true} is VALID [2022-02-20 17:21:43,639 INFO L290 TraceCheckUtils]: 24: Hoare triple {1134#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} assume !false; {1134#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:43,639 INFO L290 TraceCheckUtils]: 23: Hoare triple {999#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; {1134#(= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:43,639 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {999#true} {999#true} #69#return; {999#true} is VALID [2022-02-20 17:21:43,639 INFO L290 TraceCheckUtils]: 21: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:43,640 INFO L290 TraceCheckUtils]: 20: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:43,640 INFO L290 TraceCheckUtils]: 19: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:43,640 INFO L272 TraceCheckUtils]: 18: Hoare triple {999#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:43,640 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {999#true} {999#true} #67#return; {999#true} is VALID [2022-02-20 17:21:43,640 INFO L290 TraceCheckUtils]: 16: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:43,640 INFO L290 TraceCheckUtils]: 15: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:43,640 INFO L290 TraceCheckUtils]: 14: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:43,640 INFO L272 TraceCheckUtils]: 13: Hoare triple {999#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:43,641 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {999#true} {999#true} #65#return; {999#true} is VALID [2022-02-20 17:21:43,641 INFO L290 TraceCheckUtils]: 11: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:43,641 INFO L290 TraceCheckUtils]: 10: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:43,641 INFO L290 TraceCheckUtils]: 9: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:43,641 INFO L272 TraceCheckUtils]: 8: Hoare triple {999#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 50 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:43,642 INFO L290 TraceCheckUtils]: 7: Hoare triple {999#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {999#true} is VALID [2022-02-20 17:21:43,642 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {999#true} {999#true} #63#return; {999#true} is VALID [2022-02-20 17:21:43,642 INFO L290 TraceCheckUtils]: 5: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:43,642 INFO L290 TraceCheckUtils]: 4: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:43,642 INFO L290 TraceCheckUtils]: 3: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:43,642 INFO L272 TraceCheckUtils]: 2: Hoare triple {999#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 50 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:43,642 INFO L290 TraceCheckUtils]: 1: Hoare triple {999#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_~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; {999#true} is VALID [2022-02-20 17:21:43,643 INFO L290 TraceCheckUtils]: 0: Hoare triple {999#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); {999#true} is VALID [2022-02-20 17:21:43,643 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-02-20 17:21:43,643 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:43,644 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [476967432] [2022-02-20 17:21:43,644 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:43,644 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1377064791] [2022-02-20 17:21:43,644 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1377064791] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:21:43,644 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:21:43,644 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-02-20 17:21:43,644 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [212101782] [2022-02-20 17:21:43,644 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:43,646 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-02-20 17:21:43,647 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:43,647 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:43,665 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:21:43,665 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:43,665 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:43,666 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:43,666 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:21:43,666 INFO L87 Difference]: Start difference. First operand 57 states and 83 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:43,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:43,927 INFO L93 Difference]: Finished difference Result 64 states and 89 transitions. [2022-02-20 17:21:43,927 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:43,928 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-02-20 17:21:43,928 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:43,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:43,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:21:43,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:43,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:21:43,930 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-02-20 17:21:43,975 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:43,977 INFO L225 Difference]: With dead ends: 64 [2022-02-20 17:21:43,977 INFO L226 Difference]: Without dead ends: 60 [2022-02-20 17:21:43,977 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 67 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:21:43,978 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 8 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:43,978 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 139 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:21:43,978 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-02-20 17:21:44,009 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 60. [2022-02-20 17:21:44,010 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:44,011 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:44,011 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:44,012 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:44,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:44,014 INFO L93 Difference]: Finished difference Result 60 states and 83 transitions. [2022-02-20 17:21:44,014 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 83 transitions. [2022-02-20 17:21:44,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:44,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:44,015 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 60 states. [2022-02-20 17:21:44,015 INFO L87 Difference]: Start difference. First operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 60 states. [2022-02-20 17:21:44,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:44,019 INFO L93 Difference]: Finished difference Result 60 states and 83 transitions. [2022-02-20 17:21:44,019 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 83 transitions. [2022-02-20 17:21:44,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:44,019 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:44,019 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:44,020 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:44,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:44,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 83 transitions. [2022-02-20 17:21:44,023 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 83 transitions. Word has length 39 [2022-02-20 17:21:44,023 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:44,023 INFO L470 AbstractCegarLoop]: Abstraction has 60 states and 83 transitions. [2022-02-20 17:21:44,023 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:44,024 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 83 transitions. [2022-02-20 17:21:44,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-02-20 17:21:44,024 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:44,024 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 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:21:44,042 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:21:44,240 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:44,241 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:44,241 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:44,241 INFO L85 PathProgramCache]: Analyzing trace with hash -1954831506, now seen corresponding path program 1 times [2022-02-20 17:21:44,241 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:44,241 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [157515144] [2022-02-20 17:21:44,241 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:44,241 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:44,259 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:44,259 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1362730161] [2022-02-20 17:21:44,259 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:44,260 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:44,260 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:44,261 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:21:44,274 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:21:44,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:44,301 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 17:21:44,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:44,312 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:44,399 INFO L290 TraceCheckUtils]: 0: Hoare triple {1549#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); {1549#true} is VALID [2022-02-20 17:21:44,399 INFO L290 TraceCheckUtils]: 1: Hoare triple {1549#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_~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; {1549#true} is VALID [2022-02-20 17:21:44,400 INFO L272 TraceCheckUtils]: 2: Hoare triple {1549#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 50 then 1 else 0)); {1549#true} is VALID [2022-02-20 17:21:44,400 INFO L290 TraceCheckUtils]: 3: Hoare triple {1549#true} ~cond := #in~cond; {1549#true} is VALID [2022-02-20 17:21:44,400 INFO L290 TraceCheckUtils]: 4: Hoare triple {1549#true} assume !(0 == ~cond); {1549#true} is VALID [2022-02-20 17:21:44,400 INFO L290 TraceCheckUtils]: 5: Hoare triple {1549#true} assume true; {1549#true} is VALID [2022-02-20 17:21:44,400 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1549#true} {1549#true} #63#return; {1549#true} is VALID [2022-02-20 17:21:44,400 INFO L290 TraceCheckUtils]: 7: Hoare triple {1549#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1549#true} is VALID [2022-02-20 17:21:44,400 INFO L272 TraceCheckUtils]: 8: Hoare triple {1549#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 50 then 1 else 0)); {1549#true} is VALID [2022-02-20 17:21:44,401 INFO L290 TraceCheckUtils]: 9: Hoare triple {1549#true} ~cond := #in~cond; {1549#true} is VALID [2022-02-20 17:21:44,401 INFO L290 TraceCheckUtils]: 10: Hoare triple {1549#true} assume !(0 == ~cond); {1549#true} is VALID [2022-02-20 17:21:44,401 INFO L290 TraceCheckUtils]: 11: Hoare triple {1549#true} assume true; {1549#true} is VALID [2022-02-20 17:21:44,401 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1549#true} {1549#true} #65#return; {1549#true} is VALID [2022-02-20 17:21:44,401 INFO L272 TraceCheckUtils]: 13: Hoare triple {1549#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1549#true} is VALID [2022-02-20 17:21:44,401 INFO L290 TraceCheckUtils]: 14: Hoare triple {1549#true} ~cond := #in~cond; {1549#true} is VALID [2022-02-20 17:21:44,401 INFO L290 TraceCheckUtils]: 15: Hoare triple {1549#true} assume !(0 == ~cond); {1549#true} is VALID [2022-02-20 17:21:44,401 INFO L290 TraceCheckUtils]: 16: Hoare triple {1549#true} assume true; {1549#true} is VALID [2022-02-20 17:21:44,402 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1549#true} {1549#true} #67#return; {1549#true} is VALID [2022-02-20 17:21:44,402 INFO L272 TraceCheckUtils]: 18: Hoare triple {1549#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1549#true} is VALID [2022-02-20 17:21:44,402 INFO L290 TraceCheckUtils]: 19: Hoare triple {1549#true} ~cond := #in~cond; {1549#true} is VALID [2022-02-20 17:21:44,402 INFO L290 TraceCheckUtils]: 20: Hoare triple {1549#true} assume !(0 == ~cond); {1549#true} is VALID [2022-02-20 17:21:44,402 INFO L290 TraceCheckUtils]: 21: Hoare triple {1549#true} assume true; {1549#true} is VALID [2022-02-20 17:21:44,402 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1549#true} {1549#true} #69#return; {1549#true} is VALID [2022-02-20 17:21:44,402 INFO L290 TraceCheckUtils]: 23: Hoare triple {1549#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; {1549#true} is VALID [2022-02-20 17:21:44,402 INFO L290 TraceCheckUtils]: 24: Hoare triple {1549#true} assume !false; {1549#true} is VALID [2022-02-20 17:21:44,403 INFO L272 TraceCheckUtils]: 25: Hoare triple {1549#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)); {1549#true} is VALID [2022-02-20 17:21:44,403 INFO L290 TraceCheckUtils]: 26: Hoare triple {1549#true} ~cond := #in~cond; {1549#true} is VALID [2022-02-20 17:21:44,403 INFO L290 TraceCheckUtils]: 27: Hoare triple {1549#true} assume !(0 == ~cond); {1549#true} is VALID [2022-02-20 17:21:44,403 INFO L290 TraceCheckUtils]: 28: Hoare triple {1549#true} assume true; {1549#true} is VALID [2022-02-20 17:21:44,403 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1549#true} {1549#true} #71#return; {1549#true} is VALID [2022-02-20 17:21:44,403 INFO L272 TraceCheckUtils]: 30: Hoare triple {1549#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)); {1549#true} is VALID [2022-02-20 17:21:44,403 INFO L290 TraceCheckUtils]: 31: Hoare triple {1549#true} ~cond := #in~cond; {1549#true} is VALID [2022-02-20 17:21:44,403 INFO L290 TraceCheckUtils]: 32: Hoare triple {1549#true} assume !(0 == ~cond); {1549#true} is VALID [2022-02-20 17:21:44,404 INFO L290 TraceCheckUtils]: 33: Hoare triple {1549#true} assume true; {1549#true} is VALID [2022-02-20 17:21:44,404 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1549#true} {1549#true} #73#return; {1549#true} is VALID [2022-02-20 17:21:44,404 INFO L272 TraceCheckUtils]: 35: Hoare triple {1549#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)); {1549#true} is VALID [2022-02-20 17:21:44,404 INFO L290 TraceCheckUtils]: 36: Hoare triple {1549#true} ~cond := #in~cond; {1549#true} is VALID [2022-02-20 17:21:44,404 INFO L290 TraceCheckUtils]: 37: Hoare triple {1549#true} assume !(0 == ~cond); {1549#true} is VALID [2022-02-20 17:21:44,404 INFO L290 TraceCheckUtils]: 38: Hoare triple {1549#true} assume true; {1549#true} is VALID [2022-02-20 17:21:44,404 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1549#true} {1549#true} #75#return; {1549#true} is VALID [2022-02-20 17:21:44,405 INFO L290 TraceCheckUtils]: 40: Hoare triple {1549#true} assume !(main_~a~0#1 != main_~b~0#1); {1674#(= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:44,405 INFO L272 TraceCheckUtils]: 41: Hoare triple {1674#(= |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)); {1678#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:44,406 INFO L290 TraceCheckUtils]: 42: Hoare triple {1678#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1682#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:44,406 INFO L290 TraceCheckUtils]: 43: Hoare triple {1682#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1550#false} is VALID [2022-02-20 17:21:44,406 INFO L290 TraceCheckUtils]: 44: Hoare triple {1550#false} assume !false; {1550#false} is VALID [2022-02-20 17:21:44,406 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-02-20 17:21:44,406 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:44,407 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:44,407 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [157515144] [2022-02-20 17:21:44,407 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:44,407 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1362730161] [2022-02-20 17:21:44,407 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1362730161] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:44,407 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:44,407 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:21:44,407 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1453552949] [2022-02-20 17:21:44,407 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:44,408 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-02-20 17:21:44,408 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:44,408 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:44,426 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:44,426 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:44,427 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:44,427 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:44,427 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:21:44,427 INFO L87 Difference]: Start difference. First operand 60 states and 83 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:44,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:44,554 INFO L93 Difference]: Finished difference Result 66 states and 88 transitions. [2022-02-20 17:21:44,554 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:44,554 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-02-20 17:21:44,554 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:44,554 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:44,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-02-20 17:21:44,555 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:44,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-02-20 17:21:44,556 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2022-02-20 17:21:44,585 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:44,586 INFO L225 Difference]: With dead ends: 66 [2022-02-20 17:21:44,586 INFO L226 Difference]: Without dead ends: 64 [2022-02-20 17:21:44,586 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 41 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:44,587 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 5 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 131 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:44,587 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 131 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:21:44,587 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-20 17:21:44,608 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 64. [2022-02-20 17:21:44,609 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:44,609 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:44,609 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:44,609 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:44,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:44,611 INFO L93 Difference]: Finished difference Result 64 states and 86 transitions. [2022-02-20 17:21:44,611 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 86 transitions. [2022-02-20 17:21:44,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:44,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:44,612 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 64 states. [2022-02-20 17:21:44,612 INFO L87 Difference]: Start difference. First operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 64 states. [2022-02-20 17:21:44,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:44,614 INFO L93 Difference]: Finished difference Result 64 states and 86 transitions. [2022-02-20 17:21:44,614 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 86 transitions. [2022-02-20 17:21:44,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:44,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:44,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:44,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:44,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:44,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 86 transitions. [2022-02-20 17:21:44,619 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 86 transitions. Word has length 45 [2022-02-20 17:21:44,620 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:44,620 INFO L470 AbstractCegarLoop]: Abstraction has 64 states and 86 transitions. [2022-02-20 17:21:44,620 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:44,620 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 86 transitions. [2022-02-20 17:21:44,620 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 17:21:44,621 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:44,621 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 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:21:44,639 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:21:44,835 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:44,835 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:44,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:44,836 INFO L85 PathProgramCache]: Analyzing trace with hash -1265228631, now seen corresponding path program 1 times [2022-02-20 17:21:44,836 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:44,836 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [724173123] [2022-02-20 17:21:44,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:44,836 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:44,847 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:44,847 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1008696522] [2022-02-20 17:21:44,847 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:44,848 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:44,848 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:44,849 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:21:44,851 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:21:44,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:44,881 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 17:21:44,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:44,894 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:45,044 INFO L290 TraceCheckUtils]: 0: Hoare triple {2012#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); {2012#true} is VALID [2022-02-20 17:21:45,044 INFO L290 TraceCheckUtils]: 1: Hoare triple {2012#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_~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; {2012#true} is VALID [2022-02-20 17:21:45,044 INFO L272 TraceCheckUtils]: 2: Hoare triple {2012#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 50 then 1 else 0)); {2012#true} is VALID [2022-02-20 17:21:45,044 INFO L290 TraceCheckUtils]: 3: Hoare triple {2012#true} ~cond := #in~cond; {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 4: Hoare triple {2012#true} assume !(0 == ~cond); {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 5: Hoare triple {2012#true} assume true; {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2012#true} {2012#true} #63#return; {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 7: Hoare triple {2012#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L272 TraceCheckUtils]: 8: Hoare triple {2012#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 50 then 1 else 0)); {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {2012#true} ~cond := #in~cond; {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 10: Hoare triple {2012#true} assume !(0 == ~cond); {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {2012#true} assume true; {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2012#true} {2012#true} #65#return; {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L272 TraceCheckUtils]: 13: Hoare triple {2012#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 14: Hoare triple {2012#true} ~cond := #in~cond; {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 15: Hoare triple {2012#true} assume !(0 == ~cond); {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L290 TraceCheckUtils]: 16: Hoare triple {2012#true} assume true; {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2012#true} {2012#true} #67#return; {2012#true} is VALID [2022-02-20 17:21:45,045 INFO L272 TraceCheckUtils]: 18: Hoare triple {2012#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {2012#true} is VALID [2022-02-20 17:21:45,046 INFO L290 TraceCheckUtils]: 19: Hoare triple {2012#true} ~cond := #in~cond; {2012#true} is VALID [2022-02-20 17:21:45,046 INFO L290 TraceCheckUtils]: 20: Hoare triple {2012#true} assume !(0 == ~cond); {2012#true} is VALID [2022-02-20 17:21:45,046 INFO L290 TraceCheckUtils]: 21: Hoare triple {2012#true} assume true; {2012#true} is VALID [2022-02-20 17:21:45,046 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2012#true} {2012#true} #69#return; {2012#true} is VALID [2022-02-20 17:21:45,047 INFO L290 TraceCheckUtils]: 23: Hoare triple {2012#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; {2086#(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:21:45,049 INFO L290 TraceCheckUtils]: 24: Hoare triple {2086#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {2086#(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:21:45,049 INFO L272 TraceCheckUtils]: 25: Hoare triple {2086#(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)); {2012#true} is VALID [2022-02-20 17:21:45,049 INFO L290 TraceCheckUtils]: 26: Hoare triple {2012#true} ~cond := #in~cond; {2012#true} is VALID [2022-02-20 17:21:45,049 INFO L290 TraceCheckUtils]: 27: Hoare triple {2012#true} assume !(0 == ~cond); {2012#true} is VALID [2022-02-20 17:21:45,049 INFO L290 TraceCheckUtils]: 28: Hoare triple {2012#true} assume true; {2012#true} is VALID [2022-02-20 17:21:45,050 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2012#true} {2086#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #71#return; {2086#(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:21:45,050 INFO L272 TraceCheckUtils]: 30: Hoare triple {2086#(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 main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {2012#true} is VALID [2022-02-20 17:21:45,051 INFO L290 TraceCheckUtils]: 31: Hoare triple {2012#true} ~cond := #in~cond; {2012#true} is VALID [2022-02-20 17:21:45,051 INFO L290 TraceCheckUtils]: 32: Hoare triple {2012#true} assume !(0 == ~cond); {2012#true} is VALID [2022-02-20 17:21:45,051 INFO L290 TraceCheckUtils]: 33: Hoare triple {2012#true} assume true; {2012#true} is VALID [2022-02-20 17:21:45,051 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2012#true} {2086#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #73#return; {2086#(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:21:45,051 INFO L272 TraceCheckUtils]: 35: Hoare triple {2086#(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 main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {2012#true} is VALID [2022-02-20 17:21:45,051 INFO L290 TraceCheckUtils]: 36: Hoare triple {2012#true} ~cond := #in~cond; {2012#true} is VALID [2022-02-20 17:21:45,051 INFO L290 TraceCheckUtils]: 37: Hoare triple {2012#true} assume !(0 == ~cond); {2012#true} is VALID [2022-02-20 17:21:45,051 INFO L290 TraceCheckUtils]: 38: Hoare triple {2012#true} assume true; {2012#true} is VALID [2022-02-20 17:21:45,052 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2012#true} {2086#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #75#return; {2086#(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:21:45,052 INFO L290 TraceCheckUtils]: 40: Hoare triple {2086#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_~a~0#1 != main_~b~0#1); {2086#(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:21:45,053 INFO L290 TraceCheckUtils]: 41: Hoare triple {2086#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~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; {2086#(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:21:45,053 INFO L290 TraceCheckUtils]: 42: Hoare triple {2086#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {2086#(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:21:45,054 INFO L272 TraceCheckUtils]: 43: Hoare triple {2086#(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)); {2147#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:45,054 INFO L290 TraceCheckUtils]: 44: Hoare triple {2147#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2151#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:45,055 INFO L290 TraceCheckUtils]: 45: Hoare triple {2151#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2013#false} is VALID [2022-02-20 17:21:45,055 INFO L290 TraceCheckUtils]: 46: Hoare triple {2013#false} assume !false; {2013#false} is VALID [2022-02-20 17:21:45,055 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-02-20 17:21:45,055 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:45,055 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:45,055 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [724173123] [2022-02-20 17:21:45,055 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:45,055 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1008696522] [2022-02-20 17:21:45,055 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1008696522] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:45,055 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:45,055 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:21:45,055 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1715217902] [2022-02-20 17:21:45,056 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:45,056 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-02-20 17:21:45,056 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:45,056 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:45,089 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:45,089 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:45,089 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:45,090 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:45,090 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:21:45,090 INFO L87 Difference]: Start difference. First operand 64 states and 86 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:45,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:45,228 INFO L93 Difference]: Finished difference Result 80 states and 104 transitions. [2022-02-20 17:21:45,228 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:45,228 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-02-20 17:21:45,229 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:45,229 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:45,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:21:45,230 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:45,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:21:45,231 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-02-20 17:21:45,275 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:45,277 INFO L225 Difference]: With dead ends: 80 [2022-02-20 17:21:45,277 INFO L226 Difference]: Without dead ends: 78 [2022-02-20 17:21:45,277 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 42 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:21:45,278 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 6 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 31 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:45,278 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 139 Invalid, 31 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:21:45,279 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2022-02-20 17:21:45,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 75. [2022-02-20 17:21:45,303 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:45,303 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:21:45,303 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:21:45,303 INFO L87 Difference]: Start difference. First operand 78 states. Second operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:21:45,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:45,306 INFO L93 Difference]: Finished difference Result 78 states and 102 transitions. [2022-02-20 17:21:45,306 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 102 transitions. [2022-02-20 17:21:45,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:45,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:45,307 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 78 states. [2022-02-20 17:21:45,307 INFO L87 Difference]: Start difference. First operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 78 states. [2022-02-20 17:21:45,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:45,309 INFO L93 Difference]: Finished difference Result 78 states and 102 transitions. [2022-02-20 17:21:45,309 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 102 transitions. [2022-02-20 17:21:45,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:45,310 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:45,310 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:45,310 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:45,310 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:21:45,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 98 transitions. [2022-02-20 17:21:45,312 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 98 transitions. Word has length 47 [2022-02-20 17:21:45,313 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:45,313 INFO L470 AbstractCegarLoop]: Abstraction has 75 states and 98 transitions. [2022-02-20 17:21:45,313 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:45,313 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-02-20 17:21:45,313 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-02-20 17:21:45,313 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:45,314 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 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:21:45,330 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:21:45,523 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:45,524 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:45,524 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:45,524 INFO L85 PathProgramCache]: Analyzing trace with hash 1617953190, now seen corresponding path program 1 times [2022-02-20 17:21:45,524 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:45,524 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1963949001] [2022-02-20 17:21:45,524 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:45,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:45,535 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:45,535 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [637570183] [2022-02-20 17:21:45,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:45,536 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:45,536 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:45,537 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:21:45,538 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:21:45,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:45,567 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 17:21:45,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:45,575 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:45,698 INFO L290 TraceCheckUtils]: 0: Hoare triple {2547#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); {2547#true} is VALID [2022-02-20 17:21:45,699 INFO L290 TraceCheckUtils]: 1: Hoare triple {2547#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_~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; {2547#true} is VALID [2022-02-20 17:21:45,699 INFO L272 TraceCheckUtils]: 2: Hoare triple {2547#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 50 then 1 else 0)); {2547#true} is VALID [2022-02-20 17:21:45,699 INFO L290 TraceCheckUtils]: 3: Hoare triple {2547#true} ~cond := #in~cond; {2547#true} is VALID [2022-02-20 17:21:45,699 INFO L290 TraceCheckUtils]: 4: Hoare triple {2547#true} assume !(0 == ~cond); {2547#true} is VALID [2022-02-20 17:21:45,699 INFO L290 TraceCheckUtils]: 5: Hoare triple {2547#true} assume true; {2547#true} is VALID [2022-02-20 17:21:45,699 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2547#true} {2547#true} #63#return; {2547#true} is VALID [2022-02-20 17:21:45,699 INFO L290 TraceCheckUtils]: 7: Hoare triple {2547#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2547#true} is VALID [2022-02-20 17:21:45,700 INFO L272 TraceCheckUtils]: 8: Hoare triple {2547#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 50 then 1 else 0)); {2547#true} is VALID [2022-02-20 17:21:45,700 INFO L290 TraceCheckUtils]: 9: Hoare triple {2547#true} ~cond := #in~cond; {2547#true} is VALID [2022-02-20 17:21:45,700 INFO L290 TraceCheckUtils]: 10: Hoare triple {2547#true} assume !(0 == ~cond); {2547#true} is VALID [2022-02-20 17:21:45,700 INFO L290 TraceCheckUtils]: 11: Hoare triple {2547#true} assume true; {2547#true} is VALID [2022-02-20 17:21:45,700 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2547#true} {2547#true} #65#return; {2547#true} is VALID [2022-02-20 17:21:45,700 INFO L272 TraceCheckUtils]: 13: Hoare triple {2547#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {2547#true} is VALID [2022-02-20 17:21:45,700 INFO L290 TraceCheckUtils]: 14: Hoare triple {2547#true} ~cond := #in~cond; {2547#true} is VALID [2022-02-20 17:21:45,700 INFO L290 TraceCheckUtils]: 15: Hoare triple {2547#true} assume !(0 == ~cond); {2547#true} is VALID [2022-02-20 17:21:45,700 INFO L290 TraceCheckUtils]: 16: Hoare triple {2547#true} assume true; {2547#true} is VALID [2022-02-20 17:21:45,700 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2547#true} {2547#true} #67#return; {2547#true} is VALID [2022-02-20 17:21:45,700 INFO L272 TraceCheckUtils]: 18: Hoare triple {2547#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {2547#true} is VALID [2022-02-20 17:21:45,701 INFO L290 TraceCheckUtils]: 19: Hoare triple {2547#true} ~cond := #in~cond; {2547#true} is VALID [2022-02-20 17:21:45,701 INFO L290 TraceCheckUtils]: 20: Hoare triple {2547#true} assume !(0 == ~cond); {2547#true} is VALID [2022-02-20 17:21:45,701 INFO L290 TraceCheckUtils]: 21: Hoare triple {2547#true} assume true; {2547#true} is VALID [2022-02-20 17:21:45,701 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2547#true} {2547#true} #69#return; {2547#true} is VALID [2022-02-20 17:21:45,701 INFO L290 TraceCheckUtils]: 23: Hoare triple {2547#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; {2547#true} is VALID [2022-02-20 17:21:45,701 INFO L290 TraceCheckUtils]: 24: Hoare triple {2547#true} assume !false; {2547#true} is VALID [2022-02-20 17:21:45,701 INFO L272 TraceCheckUtils]: 25: Hoare triple {2547#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)); {2547#true} is VALID [2022-02-20 17:21:45,701 INFO L290 TraceCheckUtils]: 26: Hoare triple {2547#true} ~cond := #in~cond; {2547#true} is VALID [2022-02-20 17:21:45,702 INFO L290 TraceCheckUtils]: 27: Hoare triple {2547#true} assume !(0 == ~cond); {2547#true} is VALID [2022-02-20 17:21:45,702 INFO L290 TraceCheckUtils]: 28: Hoare triple {2547#true} assume true; {2547#true} is VALID [2022-02-20 17:21:45,702 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2547#true} {2547#true} #71#return; {2547#true} is VALID [2022-02-20 17:21:45,702 INFO L272 TraceCheckUtils]: 30: Hoare triple {2547#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)); {2547#true} is VALID [2022-02-20 17:21:45,702 INFO L290 TraceCheckUtils]: 31: Hoare triple {2547#true} ~cond := #in~cond; {2645#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:45,703 INFO L290 TraceCheckUtils]: 32: Hoare triple {2645#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2649#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:45,703 INFO L290 TraceCheckUtils]: 33: Hoare triple {2649#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2649#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:45,704 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2649#(not (= |__VERIFIER_assert_#in~cond| 0))} {2547#true} #73#return; {2656#(= (+ (* |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:45,704 INFO L272 TraceCheckUtils]: 35: Hoare triple {2656#(= (+ (* |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)); {2547#true} is VALID [2022-02-20 17:21:45,704 INFO L290 TraceCheckUtils]: 36: Hoare triple {2547#true} ~cond := #in~cond; {2547#true} is VALID [2022-02-20 17:21:45,704 INFO L290 TraceCheckUtils]: 37: Hoare triple {2547#true} assume !(0 == ~cond); {2547#true} is VALID [2022-02-20 17:21:45,704 INFO L290 TraceCheckUtils]: 38: Hoare triple {2547#true} assume true; {2547#true} is VALID [2022-02-20 17:21:45,705 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2547#true} {2656#(= (+ (* |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|)} #75#return; {2656#(= (+ (* |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:45,705 INFO L290 TraceCheckUtils]: 40: Hoare triple {2656#(= (+ (* |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); {2675#(= (+ (* |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:45,706 INFO L272 TraceCheckUtils]: 41: Hoare triple {2675#(= (+ (* |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)); {2547#true} is VALID [2022-02-20 17:21:45,706 INFO L290 TraceCheckUtils]: 42: Hoare triple {2547#true} ~cond := #in~cond; {2547#true} is VALID [2022-02-20 17:21:45,706 INFO L290 TraceCheckUtils]: 43: Hoare triple {2547#true} assume !(0 == ~cond); {2547#true} is VALID [2022-02-20 17:21:45,706 INFO L290 TraceCheckUtils]: 44: Hoare triple {2547#true} assume true; {2547#true} is VALID [2022-02-20 17:21:45,707 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2547#true} {2675#(= (+ (* |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|)} #77#return; {2675#(= (+ (* |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:45,707 INFO L272 TraceCheckUtils]: 46: Hoare triple {2675#(= (+ (* |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)); {2694#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:45,708 INFO L290 TraceCheckUtils]: 47: Hoare triple {2694#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2698#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:45,708 INFO L290 TraceCheckUtils]: 48: Hoare triple {2698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2548#false} is VALID [2022-02-20 17:21:45,708 INFO L290 TraceCheckUtils]: 49: Hoare triple {2548#false} assume !false; {2548#false} is VALID [2022-02-20 17:21:45,708 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-02-20 17:21:45,708 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:57,760 INFO L290 TraceCheckUtils]: 49: Hoare triple {2548#false} assume !false; {2548#false} is VALID [2022-02-20 17:21:57,761 INFO L290 TraceCheckUtils]: 48: Hoare triple {2698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2548#false} is VALID [2022-02-20 17:21:57,761 INFO L290 TraceCheckUtils]: 47: Hoare triple {2694#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2698#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:57,762 INFO L272 TraceCheckUtils]: 46: Hoare triple {2675#(= (+ (* |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)); {2694#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:57,763 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2547#true} {2675#(= (+ (* |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|)} #77#return; {2675#(= (+ (* |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:57,763 INFO L290 TraceCheckUtils]: 44: Hoare triple {2547#true} assume true; {2547#true} is VALID [2022-02-20 17:21:57,763 INFO L290 TraceCheckUtils]: 43: Hoare triple {2547#true} assume !(0 == ~cond); {2547#true} is VALID [2022-02-20 17:21:57,763 INFO L290 TraceCheckUtils]: 42: Hoare triple {2547#true} ~cond := #in~cond; {2547#true} is VALID [2022-02-20 17:21:57,763 INFO L272 TraceCheckUtils]: 41: Hoare triple {2675#(= (+ (* |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)); {2547#true} is VALID [2022-02-20 17:21:57,764 INFO L290 TraceCheckUtils]: 40: Hoare triple {2656#(= (+ (* |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); {2675#(= (+ (* |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:57,765 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2547#true} {2656#(= (+ (* |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|)} #75#return; {2656#(= (+ (* |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:57,765 INFO L290 TraceCheckUtils]: 38: Hoare triple {2547#true} assume true; {2547#true} is VALID [2022-02-20 17:21:57,765 INFO L290 TraceCheckUtils]: 37: Hoare triple {2547#true} assume !(0 == ~cond); {2547#true} is VALID [2022-02-20 17:21:57,765 INFO L290 TraceCheckUtils]: 36: Hoare triple {2547#true} ~cond := #in~cond; {2547#true} is VALID [2022-02-20 17:21:57,765 INFO L272 TraceCheckUtils]: 35: Hoare triple {2656#(= (+ (* |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)); {2547#true} is VALID [2022-02-20 17:21:57,766 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2649#(not (= |__VERIFIER_assert_#in~cond| 0))} {2547#true} #73#return; {2656#(= (+ (* |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:57,766 INFO L290 TraceCheckUtils]: 33: Hoare triple {2649#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2649#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:57,767 INFO L290 TraceCheckUtils]: 32: Hoare triple {2759#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2649#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:57,767 INFO L290 TraceCheckUtils]: 31: Hoare triple {2547#true} ~cond := #in~cond; {2759#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:21:57,767 INFO L272 TraceCheckUtils]: 30: Hoare triple {2547#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)); {2547#true} is VALID [2022-02-20 17:21:57,767 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2547#true} {2547#true} #71#return; {2547#true} is VALID [2022-02-20 17:21:57,767 INFO L290 TraceCheckUtils]: 28: Hoare triple {2547#true} assume true; {2547#true} is VALID [2022-02-20 17:21:57,768 INFO L290 TraceCheckUtils]: 27: Hoare triple {2547#true} assume !(0 == ~cond); {2547#true} is VALID [2022-02-20 17:21:57,768 INFO L290 TraceCheckUtils]: 26: Hoare triple {2547#true} ~cond := #in~cond; {2547#true} is VALID [2022-02-20 17:21:57,768 INFO L272 TraceCheckUtils]: 25: Hoare triple {2547#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)); {2547#true} is VALID [2022-02-20 17:21:57,768 INFO L290 TraceCheckUtils]: 24: Hoare triple {2547#true} assume !false; {2547#true} is VALID [2022-02-20 17:21:57,768 INFO L290 TraceCheckUtils]: 23: Hoare triple {2547#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; {2547#true} is VALID [2022-02-20 17:21:57,768 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2547#true} {2547#true} #69#return; {2547#true} is VALID [2022-02-20 17:21:57,768 INFO L290 TraceCheckUtils]: 21: Hoare triple {2547#true} assume true; {2547#true} is VALID [2022-02-20 17:21:57,768 INFO L290 TraceCheckUtils]: 20: Hoare triple {2547#true} assume !(0 == ~cond); {2547#true} is VALID [2022-02-20 17:21:57,769 INFO L290 TraceCheckUtils]: 19: Hoare triple {2547#true} ~cond := #in~cond; {2547#true} is VALID [2022-02-20 17:21:57,769 INFO L272 TraceCheckUtils]: 18: Hoare triple {2547#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {2547#true} is VALID [2022-02-20 17:21:57,769 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2547#true} {2547#true} #67#return; {2547#true} is VALID [2022-02-20 17:21:57,769 INFO L290 TraceCheckUtils]: 16: Hoare triple {2547#true} assume true; {2547#true} is VALID [2022-02-20 17:21:57,769 INFO L290 TraceCheckUtils]: 15: Hoare triple {2547#true} assume !(0 == ~cond); {2547#true} is VALID [2022-02-20 17:21:57,769 INFO L290 TraceCheckUtils]: 14: Hoare triple {2547#true} ~cond := #in~cond; {2547#true} is VALID [2022-02-20 17:21:57,769 INFO L272 TraceCheckUtils]: 13: Hoare triple {2547#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {2547#true} is VALID [2022-02-20 17:21:57,769 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2547#true} {2547#true} #65#return; {2547#true} is VALID [2022-02-20 17:21:57,770 INFO L290 TraceCheckUtils]: 11: Hoare triple {2547#true} assume true; {2547#true} is VALID [2022-02-20 17:21:57,770 INFO L290 TraceCheckUtils]: 10: Hoare triple {2547#true} assume !(0 == ~cond); {2547#true} is VALID [2022-02-20 17:21:57,770 INFO L290 TraceCheckUtils]: 9: Hoare triple {2547#true} ~cond := #in~cond; {2547#true} is VALID [2022-02-20 17:21:57,770 INFO L272 TraceCheckUtils]: 8: Hoare triple {2547#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 50 then 1 else 0)); {2547#true} is VALID [2022-02-20 17:21:57,770 INFO L290 TraceCheckUtils]: 7: Hoare triple {2547#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2547#true} is VALID [2022-02-20 17:21:57,770 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2547#true} {2547#true} #63#return; {2547#true} is VALID [2022-02-20 17:21:57,770 INFO L290 TraceCheckUtils]: 5: Hoare triple {2547#true} assume true; {2547#true} is VALID [2022-02-20 17:21:57,770 INFO L290 TraceCheckUtils]: 4: Hoare triple {2547#true} assume !(0 == ~cond); {2547#true} is VALID [2022-02-20 17:21:57,770 INFO L290 TraceCheckUtils]: 3: Hoare triple {2547#true} ~cond := #in~cond; {2547#true} is VALID [2022-02-20 17:21:57,771 INFO L272 TraceCheckUtils]: 2: Hoare triple {2547#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 50 then 1 else 0)); {2547#true} is VALID [2022-02-20 17:21:57,771 INFO L290 TraceCheckUtils]: 1: Hoare triple {2547#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_~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; {2547#true} is VALID [2022-02-20 17:21:57,771 INFO L290 TraceCheckUtils]: 0: Hoare triple {2547#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); {2547#true} is VALID [2022-02-20 17:21:57,771 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-02-20 17:21:57,771 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:57,771 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1963949001] [2022-02-20 17:21:57,771 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:57,772 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [637570183] [2022-02-20 17:21:57,772 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [637570183] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:21:57,772 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:21:57,772 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-02-20 17:21:57,772 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1910212909] [2022-02-20 17:21:57,772 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:21:57,773 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 50 [2022-02-20 17:21:57,773 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:57,773 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:57,800 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:57,800 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 17:21:57,800 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:57,801 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 17:21:57,801 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:21:57,801 INFO L87 Difference]: Start difference. First operand 75 states and 98 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:58,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:58,155 INFO L93 Difference]: Finished difference Result 84 states and 108 transitions. [2022-02-20 17:21:58,155 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 17:21:58,156 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 50 [2022-02-20 17:21:58,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:58,156 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:58,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-02-20 17:21:58,157 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:58,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-02-20 17:21:58,158 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-02-20 17:21:58,195 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:58,196 INFO L225 Difference]: With dead ends: 84 [2022-02-20 17:21:58,196 INFO L226 Difference]: Without dead ends: 80 [2022-02-20 17:21:58,197 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:21:58,197 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 17 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 96 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 135 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 96 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:58,197 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 135 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 96 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:21:58,198 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-02-20 17:21:58,219 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 80. [2022-02-20 17:21:58,219 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:58,220 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-02-20 17:21:58,220 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-02-20 17:21:58,220 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-02-20 17:21:58,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:58,222 INFO L93 Difference]: Finished difference Result 80 states and 101 transitions. [2022-02-20 17:21:58,222 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 101 transitions. [2022-02-20 17:21:58,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:58,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:58,223 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 80 states. [2022-02-20 17:21:58,223 INFO L87 Difference]: Start difference. First operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 80 states. [2022-02-20 17:21:58,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:58,226 INFO L93 Difference]: Finished difference Result 80 states and 101 transitions. [2022-02-20 17:21:58,226 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 101 transitions. [2022-02-20 17:21:58,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:58,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:58,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:58,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:58,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-02-20 17:21:58,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 101 transitions. [2022-02-20 17:21:58,229 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 101 transitions. Word has length 50 [2022-02-20 17:21:58,229 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:58,229 INFO L470 AbstractCegarLoop]: Abstraction has 80 states and 101 transitions. [2022-02-20 17:21:58,229 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, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:58,229 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 101 transitions. [2022-02-20 17:21:58,230 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-20 17:21:58,230 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:58,230 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 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:21:58,248 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:21:58,448 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:58,448 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:58,449 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:58,449 INFO L85 PathProgramCache]: Analyzing trace with hash 860577929, now seen corresponding path program 1 times [2022-02-20 17:21:58,449 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:58,449 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1748859846] [2022-02-20 17:21:58,449 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:58,450 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:58,468 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:58,469 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1261981450] [2022-02-20 17:21:58,469 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:58,469 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:58,469 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:58,471 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:21:58,479 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:21:58,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:58,506 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 28 conjunts are in the unsatisfiable core [2022-02-20 17:21:58,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:58,513 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:58,769 INFO L290 TraceCheckUtils]: 0: Hoare triple {3262#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); {3262#true} is VALID [2022-02-20 17:21:58,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {3262#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_~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; {3262#true} is VALID [2022-02-20 17:21:58,769 INFO L272 TraceCheckUtils]: 2: Hoare triple {3262#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 50 then 1 else 0)); {3262#true} is VALID [2022-02-20 17:21:58,769 INFO L290 TraceCheckUtils]: 3: Hoare triple {3262#true} ~cond := #in~cond; {3262#true} is VALID [2022-02-20 17:21:58,769 INFO L290 TraceCheckUtils]: 4: Hoare triple {3262#true} assume !(0 == ~cond); {3262#true} is VALID [2022-02-20 17:21:58,769 INFO L290 TraceCheckUtils]: 5: Hoare triple {3262#true} assume true; {3262#true} is VALID [2022-02-20 17:21:58,769 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3262#true} {3262#true} #63#return; {3262#true} is VALID [2022-02-20 17:21:58,770 INFO L290 TraceCheckUtils]: 7: Hoare triple {3262#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3262#true} is VALID [2022-02-20 17:21:58,770 INFO L272 TraceCheckUtils]: 8: Hoare triple {3262#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 50 then 1 else 0)); {3262#true} is VALID [2022-02-20 17:21:58,770 INFO L290 TraceCheckUtils]: 9: Hoare triple {3262#true} ~cond := #in~cond; {3262#true} is VALID [2022-02-20 17:21:58,770 INFO L290 TraceCheckUtils]: 10: Hoare triple {3262#true} assume !(0 == ~cond); {3262#true} is VALID [2022-02-20 17:21:58,770 INFO L290 TraceCheckUtils]: 11: Hoare triple {3262#true} assume true; {3262#true} is VALID [2022-02-20 17:21:58,770 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3262#true} {3262#true} #65#return; {3262#true} is VALID [2022-02-20 17:21:58,770 INFO L272 TraceCheckUtils]: 13: Hoare triple {3262#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {3262#true} is VALID [2022-02-20 17:21:58,770 INFO L290 TraceCheckUtils]: 14: Hoare triple {3262#true} ~cond := #in~cond; {3262#true} is VALID [2022-02-20 17:21:58,770 INFO L290 TraceCheckUtils]: 15: Hoare triple {3262#true} assume !(0 == ~cond); {3262#true} is VALID [2022-02-20 17:21:58,771 INFO L290 TraceCheckUtils]: 16: Hoare triple {3262#true} assume true; {3262#true} is VALID [2022-02-20 17:21:58,771 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3262#true} {3262#true} #67#return; {3262#true} is VALID [2022-02-20 17:21:58,771 INFO L272 TraceCheckUtils]: 18: Hoare triple {3262#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {3262#true} is VALID [2022-02-20 17:21:58,771 INFO L290 TraceCheckUtils]: 19: Hoare triple {3262#true} ~cond := #in~cond; {3262#true} is VALID [2022-02-20 17:21:58,771 INFO L290 TraceCheckUtils]: 20: Hoare triple {3262#true} assume !(0 == ~cond); {3262#true} is VALID [2022-02-20 17:21:58,772 INFO L290 TraceCheckUtils]: 21: Hoare triple {3262#true} assume true; {3262#true} is VALID [2022-02-20 17:21:58,772 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3262#true} {3262#true} #69#return; {3262#true} is VALID [2022-02-20 17:21:58,773 INFO L290 TraceCheckUtils]: 23: Hoare triple {3262#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; {3336#(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:58,773 INFO L290 TraceCheckUtils]: 24: Hoare triple {3336#(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 !false; {3336#(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:58,773 INFO L272 TraceCheckUtils]: 25: Hoare triple {3336#(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)); {3262#true} is VALID [2022-02-20 17:21:58,773 INFO L290 TraceCheckUtils]: 26: Hoare triple {3262#true} ~cond := #in~cond; {3262#true} is VALID [2022-02-20 17:21:58,774 INFO L290 TraceCheckUtils]: 27: Hoare triple {3262#true} assume !(0 == ~cond); {3262#true} is VALID [2022-02-20 17:21:58,774 INFO L290 TraceCheckUtils]: 28: Hoare triple {3262#true} assume true; {3262#true} is VALID [2022-02-20 17:21:58,774 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3262#true} {3336#(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))} #71#return; {3336#(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:58,774 INFO L272 TraceCheckUtils]: 30: Hoare triple {3336#(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)); {3262#true} is VALID [2022-02-20 17:21:58,775 INFO L290 TraceCheckUtils]: 31: Hoare triple {3262#true} ~cond := #in~cond; {3262#true} is VALID [2022-02-20 17:21:58,775 INFO L290 TraceCheckUtils]: 32: Hoare triple {3262#true} assume !(0 == ~cond); {3262#true} is VALID [2022-02-20 17:21:58,775 INFO L290 TraceCheckUtils]: 33: Hoare triple {3262#true} assume true; {3262#true} is VALID [2022-02-20 17:21:58,775 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3262#true} {3336#(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))} #73#return; {3336#(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:58,776 INFO L272 TraceCheckUtils]: 35: Hoare triple {3336#(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)); {3262#true} is VALID [2022-02-20 17:21:58,776 INFO L290 TraceCheckUtils]: 36: Hoare triple {3262#true} ~cond := #in~cond; {3376#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:58,776 INFO L290 TraceCheckUtils]: 37: Hoare triple {3376#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3380#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:58,776 INFO L290 TraceCheckUtils]: 38: Hoare triple {3380#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3380#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:58,777 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3380#(not (= |__VERIFIER_assert_#in~cond| 0))} {3336#(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))} #75#return; {3336#(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:58,777 INFO L290 TraceCheckUtils]: 40: Hoare triple {3336#(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); {3336#(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:58,778 INFO L290 TraceCheckUtils]: 41: Hoare triple {3336#(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; {3393#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:58,778 INFO L290 TraceCheckUtils]: 42: Hoare triple {3393#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} assume !false; {3393#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:58,779 INFO L272 TraceCheckUtils]: 43: Hoare triple {3393#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 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)); {3262#true} is VALID [2022-02-20 17:21:58,779 INFO L290 TraceCheckUtils]: 44: Hoare triple {3262#true} ~cond := #in~cond; {3262#true} is VALID [2022-02-20 17:21:58,779 INFO L290 TraceCheckUtils]: 45: Hoare triple {3262#true} assume !(0 == ~cond); {3262#true} is VALID [2022-02-20 17:21:58,779 INFO L290 TraceCheckUtils]: 46: Hoare triple {3262#true} assume true; {3262#true} is VALID [2022-02-20 17:21:58,779 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3262#true} {3393#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} #71#return; {3393#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:58,780 INFO L272 TraceCheckUtils]: 48: Hoare triple {3393#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 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)); {3415#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:58,780 INFO L290 TraceCheckUtils]: 49: Hoare triple {3415#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3419#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:58,781 INFO L290 TraceCheckUtils]: 50: Hoare triple {3419#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3263#false} is VALID [2022-02-20 17:21:58,781 INFO L290 TraceCheckUtils]: 51: Hoare triple {3263#false} assume !false; {3263#false} is VALID [2022-02-20 17:21:58,781 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 13 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-02-20 17:21:58,781 INFO L328 TraceCheckSpWp]: Computing backward predicates...