/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-14 17:26:42,449 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-14 17:26:42,462 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-14 17:26:42,519 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-14 17:26:42,519 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-14 17:26:42,520 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-14 17:26:42,522 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-14 17:26:42,525 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-14 17:26:42,526 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-14 17:26:42,530 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-14 17:26:42,531 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-14 17:26:42,531 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-14 17:26:42,531 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-14 17:26:42,532 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-14 17:26:42,532 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-14 17:26:42,533 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-14 17:26:42,533 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-14 17:26:42,534 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-14 17:26:42,535 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-14 17:26:42,536 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-14 17:26:42,537 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-14 17:26:42,538 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-14 17:26:42,540 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-14 17:26:42,542 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-14 17:26:42,543 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-14 17:26:42,546 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-14 17:26:42,546 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-14 17:26:42,546 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-14 17:26:42,547 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-14 17:26:42,547 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-14 17:26:42,547 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-14 17:26:42,548 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-14 17:26:42,548 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-14 17:26:42,548 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-14 17:26:42,549 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-14 17:26:42,549 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-14 17:26:42,549 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-14 17:26:42,550 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-14 17:26:42,550 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-14 17:26:42,550 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-14 17:26:42,551 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-14 17:26:42,555 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-14 17:26:42,555 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-14 17:26:42,578 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-14 17:26:42,579 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-14 17:26:42,579 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-14 17:26:42,579 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-14 17:26:42,580 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-14 17:26:42,580 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-14 17:26:42,580 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-14 17:26:42,581 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-14 17:26:42,581 INFO L138 SettingsManager]: * Use SBE=true [2022-04-14 17:26:42,581 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-14 17:26:42,581 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-14 17:26:42,582 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-14 17:26:42,582 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-14 17:26:42,582 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-14 17:26:42,582 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-14 17:26:42,582 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-14 17:26:42,582 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-14 17:26:42,582 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-14 17:26:42,582 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-14 17:26:42,582 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-14 17:26:42,582 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-14 17:26:42,583 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-14 17:26:42,583 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-14 17:26:42,583 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-14 17:26:42,583 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 17:26:42,583 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-14 17:26:42,583 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-14 17:26:42,583 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-14 17:26:42,583 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-14 17:26:42,583 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-14 17:26:42,584 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-14 17:26:42,584 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-14 17:26:42,584 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-14 17:26:42,584 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.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-14 17:26:42,765 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-14 17:26:42,778 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-14 17:26:42,780 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-14 17:26:42,780 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-14 17:26:42,782 INFO L275 PluginConnector]: CDTParser initialized [2022-04-14 17:26:42,783 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound50.c [2022-04-14 17:26:42,820 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b2bd89565/c9a059cbb06b44d2ac9472e3b71709a1/FLAG4aa5f3360 [2022-04-14 17:26:43,187 INFO L306 CDTParser]: Found 1 translation units. [2022-04-14 17:26:43,187 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound50.c [2022-04-14 17:26:43,191 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b2bd89565/c9a059cbb06b44d2ac9472e3b71709a1/FLAG4aa5f3360 [2022-04-14 17:26:43,200 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b2bd89565/c9a059cbb06b44d2ac9472e3b71709a1 [2022-04-14 17:26:43,201 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-14 17:26:43,202 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-14 17:26:43,203 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-14 17:26:43,203 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-14 17:26:43,205 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-14 17:26:43,205 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 05:26:43" (1/1) ... [2022-04-14 17:26:43,206 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4eadbb10 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:26:43, skipping insertion in model container [2022-04-14 17:26:43,206 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 05:26:43" (1/1) ... [2022-04-14 17:26:43,211 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-14 17:26:43,223 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-14 17:26:43,402 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound50.c[537,550] [2022-04-14 17:26:43,426 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 17:26:43,432 INFO L203 MainTranslator]: Completed pre-run [2022-04-14 17:26:43,442 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound50.c[537,550] [2022-04-14 17:26:43,456 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 17:26:43,466 INFO L208 MainTranslator]: Completed translation [2022-04-14 17:26:43,466 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:26:43 WrapperNode [2022-04-14 17:26:43,466 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-14 17:26:43,467 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-14 17:26:43,467 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-14 17:26:43,467 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-14 17:26:43,474 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:26:43" (1/1) ... [2022-04-14 17:26:43,474 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:26:43" (1/1) ... [2022-04-14 17:26:43,478 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:26:43" (1/1) ... [2022-04-14 17:26:43,478 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:26:43" (1/1) ... [2022-04-14 17:26:43,489 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:26:43" (1/1) ... [2022-04-14 17:26:43,493 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:26:43" (1/1) ... [2022-04-14 17:26:43,494 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:26:43" (1/1) ... [2022-04-14 17:26:43,497 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-14 17:26:43,498 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-14 17:26:43,498 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-14 17:26:43,498 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-14 17:26:43,498 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:26:43" (1/1) ... [2022-04-14 17:26:43,503 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 17:26:43,509 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:26:43,525 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-04-14 17:26:43,542 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-04-14 17:26:43,552 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-14 17:26:43,553 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-14 17:26:43,553 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-14 17:26:43,553 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-14 17:26:43,554 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-14 17:26:43,554 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-14 17:26:43,554 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-14 17:26:43,554 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-14 17:26:43,554 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-14 17:26:43,554 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-14 17:26:43,554 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-14 17:26:43,554 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-14 17:26:43,554 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-14 17:26:43,554 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-14 17:26:43,554 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-14 17:26:43,554 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-14 17:26:43,554 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-14 17:26:43,555 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-14 17:26:43,555 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-14 17:26:43,555 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-14 17:26:43,599 INFO L234 CfgBuilder]: Building ICFG [2022-04-14 17:26:43,600 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-14 17:26:43,753 INFO L275 CfgBuilder]: Performing block encoding [2022-04-14 17:26:43,757 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-14 17:26:43,757 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-14 17:26:43,758 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 05:26:43 BoogieIcfgContainer [2022-04-14 17:26:43,758 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-14 17:26:43,760 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-14 17:26:43,760 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-14 17:26:43,765 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-14 17:26:43,765 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.04 05:26:43" (1/3) ... [2022-04-14 17:26:43,765 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3360f07c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 05:26:43, skipping insertion in model container [2022-04-14 17:26:43,766 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:26:43" (2/3) ... [2022-04-14 17:26:43,766 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3360f07c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 05:26:43, skipping insertion in model container [2022-04-14 17:26:43,766 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 05:26:43" (3/3) ... [2022-04-14 17:26:43,767 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound50.c [2022-04-14 17:26:43,785 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-14 17:26:43,785 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-14 17:26:43,825 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-14 17:26:43,829 INFO L340 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 [2022-04-14 17:26:43,829 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-14 17:26:43,846 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-14 17:26:43,850 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-14 17:26:43,850 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:26:43,850 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:26:43,851 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:26:43,854 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:26:43,855 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-14 17:26:43,861 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:26:43,861 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1157733047] [2022-04-14 17:26:43,862 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:26:43,862 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:26:43,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:26:44,001 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-14 17:26:44,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:26:44,027 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-14 17:26:44,027 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-14 17:26:44,028 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-14 17:26:44,028 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-14 17:26:44,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:26:44,033 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 17:26:44,033 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 17:26:44,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 17:26:44,034 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-14 17:26:44,034 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-14 17:26:44,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:26:44,038 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 17:26:44,039 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 17:26:44,039 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 17:26:44,039 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-14 17:26:44,039 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-14 17:26:44,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:26:44,044 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 17:26:44,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 17:26:44,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 17:26:44,045 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-14 17:26:44,047 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-14 17:26:44,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #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(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-14 17:26:44,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-14 17:26:44,047 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-14 17:26:44,047 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-14 17:26:44,048 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-14 17:26:44,048 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {35#true} is VALID [2022-04-14 17:26:44,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 17:26:44,049 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 17:26:44,049 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 17:26:44,050 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-14 17:26:44,050 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-14 17:26:44,050 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {35#true} is VALID [2022-04-14 17:26:44,050 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 17:26:44,051 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 17:26:44,051 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 17:26:44,051 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-14 17:26:44,051 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-14 17:26:44,051 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-14 17:26:44,052 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-14 17:26:44,052 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-14 17:26:44,052 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-14 17:26:44,053 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {36#false} is VALID [2022-04-14 17:26:44,053 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-14 17:26:44,054 INFO L272 TraceCheckUtils]: 24: Hoare triple {36#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {36#false} is VALID [2022-04-14 17:26:44,054 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-14 17:26:44,054 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-14 17:26:44,054 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-14 17:26:44,055 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-14 17:26:44,056 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:26:44,056 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1157733047] [2022-04-14 17:26:44,056 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1157733047] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:26:44,056 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:26:44,057 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-14 17:26:44,060 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1762007580] [2022-04-14 17:26:44,060 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:26:44,064 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-14 17:26:44,066 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:26:44,068 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-14 17:26:44,094 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:26:44,094 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-14 17:26:44,094 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:26:44,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-14 17:26:44,109 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-14 17:26:44,111 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-14 17:26:44,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:26:44,234 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-14 17:26:44,234 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-14 17:26:44,234 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-14 17:26:44,235 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:26:44,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-14 17:26:44,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-14 17:26:44,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-14 17:26:44,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-14 17:26:44,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-14 17:26:44,350 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:26:44,355 INFO L225 Difference]: With dead ends: 57 [2022-04-14 17:26:44,356 INFO L226 Difference]: Without dead ends: 27 [2022-04-14 17:26:44,357 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-14 17:26:44,360 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 17:26:44,360 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 17:26:44,370 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-14 17:26:44,384 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-14 17:26:44,384 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:26:44,385 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-14 17:26:44,386 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-14 17:26:44,387 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-14 17:26:44,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:26:44,397 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-14 17:26:44,397 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-14 17:26:44,398 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:26:44,398 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:26:44,398 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-14 17:26:44,399 INFO L87 Difference]: Start difference. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-14 17:26:44,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:26:44,404 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-14 17:26:44,404 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-14 17:26:44,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:26:44,404 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:26:44,405 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:26:44,405 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:26:44,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-14 17:26:44,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-14 17:26:44,413 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-14 17:26:44,413 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:26:44,413 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-14 17:26:44,414 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-14 17:26:44,417 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-14 17:26:44,417 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-14 17:26:44,417 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:26:44,417 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:26:44,418 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-14 17:26:44,418 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:26:44,418 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:26:44,418 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-14 17:26:44,419 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:26:44,419 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [861766569] [2022-04-14 17:26:44,419 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:26:44,419 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:26:44,452 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:26:44,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2069840495] [2022-04-14 17:26:44,452 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:26:44,453 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:26:44,453 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:26:44,454 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-04-14 17:26:44,455 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-04-14 17:26:44,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:26:44,496 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-14 17:26:44,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:26:44,507 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:26:44,677 INFO L272 TraceCheckUtils]: 0: Hoare triple {224#true} call ULTIMATE.init(); {224#true} is VALID [2022-04-14 17:26:44,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {224#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(13, 2);call #Ultimate.allocInit(12, 3); {224#true} is VALID [2022-04-14 17:26:44,678 INFO L290 TraceCheckUtils]: 2: Hoare triple {224#true} assume true; {224#true} is VALID [2022-04-14 17:26:44,678 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {224#true} {224#true} #71#return; {224#true} is VALID [2022-04-14 17:26:44,678 INFO L272 TraceCheckUtils]: 4: Hoare triple {224#true} call #t~ret6 := main(); {224#true} is VALID [2022-04-14 17:26:44,678 INFO L290 TraceCheckUtils]: 5: Hoare triple {224#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {224#true} is VALID [2022-04-14 17:26:44,678 INFO L272 TraceCheckUtils]: 6: Hoare triple {224#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {224#true} is VALID [2022-04-14 17:26:44,678 INFO L290 TraceCheckUtils]: 7: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-04-14 17:26:44,678 INFO L290 TraceCheckUtils]: 8: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-04-14 17:26:44,678 INFO L290 TraceCheckUtils]: 9: Hoare triple {224#true} assume true; {224#true} is VALID [2022-04-14 17:26:44,679 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {224#true} {224#true} #61#return; {224#true} is VALID [2022-04-14 17:26:44,679 INFO L290 TraceCheckUtils]: 11: Hoare triple {224#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {224#true} is VALID [2022-04-14 17:26:44,679 INFO L272 TraceCheckUtils]: 12: Hoare triple {224#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {224#true} is VALID [2022-04-14 17:26:44,679 INFO L290 TraceCheckUtils]: 13: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-04-14 17:26:44,679 INFO L290 TraceCheckUtils]: 14: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-04-14 17:26:44,679 INFO L290 TraceCheckUtils]: 15: Hoare triple {224#true} assume true; {224#true} is VALID [2022-04-14 17:26:44,679 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {224#true} {224#true} #63#return; {224#true} is VALID [2022-04-14 17:26:44,680 INFO L272 TraceCheckUtils]: 17: Hoare triple {224#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {224#true} is VALID [2022-04-14 17:26:44,680 INFO L290 TraceCheckUtils]: 18: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-04-14 17:26:44,680 INFO L290 TraceCheckUtils]: 19: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-04-14 17:26:44,680 INFO L290 TraceCheckUtils]: 20: Hoare triple {224#true} assume true; {224#true} is VALID [2022-04-14 17:26:44,680 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {224#true} {224#true} #65#return; {224#true} is VALID [2022-04-14 17:26:44,683 INFO L290 TraceCheckUtils]: 22: Hoare triple {224#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:26:44,683 INFO L290 TraceCheckUtils]: 23: Hoare triple {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:26:44,684 INFO L272 TraceCheckUtils]: 24: Hoare triple {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {302#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:26:44,685 INFO L290 TraceCheckUtils]: 25: Hoare triple {302#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {306#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:26:44,685 INFO L290 TraceCheckUtils]: 26: Hoare triple {306#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {225#false} is VALID [2022-04-14 17:26:44,685 INFO L290 TraceCheckUtils]: 27: Hoare triple {225#false} assume !false; {225#false} is VALID [2022-04-14 17:26:44,686 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-14 17:26:44,686 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:26:44,686 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:26:44,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [861766569] [2022-04-14 17:26:44,686 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:26:44,686 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2069840495] [2022-04-14 17:26:44,692 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2069840495] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:26:44,692 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:26:44,692 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-14 17:26:44,692 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1306881171] [2022-04-14 17:26:44,693 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:26:44,693 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-14 17:26:44,693 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:26:44,693 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-14 17:26:44,708 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:26:44,708 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-14 17:26:44,708 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:26:44,709 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-14 17:26:44,709 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-14 17:26:44,709 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-14 17:26:44,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:26:44,829 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-14 17:26:44,829 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 17:26:44,830 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-14 17:26:44,830 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:26:44,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-14 17:26:44,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-14 17:26:44,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-14 17:26:44,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-14 17:26:44,833 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-14 17:26:44,861 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:26:44,863 INFO L225 Difference]: With dead ends: 39 [2022-04-14 17:26:44,863 INFO L226 Difference]: Without dead ends: 37 [2022-04-14 17:26:44,863 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 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-04-14 17:26:44,864 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 17:26:44,864 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 17:26:44,865 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-14 17:26:44,868 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-14 17:26:44,868 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:26:44,868 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 17:26:44,869 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 17:26:44,869 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 17:26:44,871 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:26:44,871 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-14 17:26:44,871 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-14 17:26:44,871 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:26:44,871 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:26:44,872 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-14 17:26:44,872 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-14 17:26:44,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:26:44,874 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-14 17:26:44,874 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-14 17:26:44,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:26:44,874 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:26:44,874 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:26:44,874 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:26:44,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 17:26:44,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-14 17:26:44,878 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-14 17:26:44,878 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:26:44,878 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-14 17:26:44,878 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-14 17:26:44,878 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-14 17:26:44,879 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-14 17:26:44,879 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:26:44,879 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:26:44,899 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-14 17:26:45,095 WARN L460 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-04-14 17:26:45,095 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:26:45,096 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:26:45,096 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-14 17:26:45,096 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:26:45,096 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [642115882] [2022-04-14 17:26:45,096 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:26:45,096 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:26:45,121 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:26:45,121 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1263045406] [2022-04-14 17:26:45,121 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:26:45,121 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:26:45,122 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:26:45,126 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-04-14 17:26:45,127 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-04-14 17:26:45,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:26:45,159 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-14 17:26:45,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:26:45,166 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:26:45,259 INFO L272 TraceCheckUtils]: 0: Hoare triple {491#true} call ULTIMATE.init(); {491#true} is VALID [2022-04-14 17:26:45,259 INFO L290 TraceCheckUtils]: 1: Hoare triple {491#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(13, 2);call #Ultimate.allocInit(12, 3); {491#true} is VALID [2022-04-14 17:26:45,259 INFO L290 TraceCheckUtils]: 2: Hoare triple {491#true} assume true; {491#true} is VALID [2022-04-14 17:26:45,259 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {491#true} {491#true} #71#return; {491#true} is VALID [2022-04-14 17:26:45,259 INFO L272 TraceCheckUtils]: 4: Hoare triple {491#true} call #t~ret6 := main(); {491#true} is VALID [2022-04-14 17:26:45,259 INFO L290 TraceCheckUtils]: 5: Hoare triple {491#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {491#true} is VALID [2022-04-14 17:26:45,259 INFO L272 TraceCheckUtils]: 6: Hoare triple {491#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {491#true} is VALID [2022-04-14 17:26:45,260 INFO L290 TraceCheckUtils]: 7: Hoare triple {491#true} ~cond := #in~cond; {491#true} is VALID [2022-04-14 17:26:45,260 INFO L290 TraceCheckUtils]: 8: Hoare triple {491#true} assume !(0 == ~cond); {491#true} is VALID [2022-04-14 17:26:45,260 INFO L290 TraceCheckUtils]: 9: Hoare triple {491#true} assume true; {491#true} is VALID [2022-04-14 17:26:45,260 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {491#true} {491#true} #61#return; {491#true} is VALID [2022-04-14 17:26:45,260 INFO L290 TraceCheckUtils]: 11: Hoare triple {491#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {491#true} is VALID [2022-04-14 17:26:45,260 INFO L272 TraceCheckUtils]: 12: Hoare triple {491#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {491#true} is VALID [2022-04-14 17:26:45,260 INFO L290 TraceCheckUtils]: 13: Hoare triple {491#true} ~cond := #in~cond; {491#true} is VALID [2022-04-14 17:26:45,260 INFO L290 TraceCheckUtils]: 14: Hoare triple {491#true} assume !(0 == ~cond); {491#true} is VALID [2022-04-14 17:26:45,261 INFO L290 TraceCheckUtils]: 15: Hoare triple {491#true} assume true; {491#true} is VALID [2022-04-14 17:26:45,261 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {491#true} {491#true} #63#return; {491#true} is VALID [2022-04-14 17:26:45,261 INFO L272 TraceCheckUtils]: 17: Hoare triple {491#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {491#true} is VALID [2022-04-14 17:26:45,262 INFO L290 TraceCheckUtils]: 18: Hoare triple {491#true} ~cond := #in~cond; {550#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 17:26:45,263 INFO L290 TraceCheckUtils]: 19: Hoare triple {550#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {554#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:26:45,263 INFO L290 TraceCheckUtils]: 20: Hoare triple {554#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {554#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:26:45,263 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {554#(not (= |assume_abort_if_not_#in~cond| 0))} {491#true} #65#return; {561#(<= 1 main_~b~0)} is VALID [2022-04-14 17:26:45,264 INFO L290 TraceCheckUtils]: 22: Hoare triple {561#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {565#(<= 1 main_~y~0)} is VALID [2022-04-14 17:26:45,264 INFO L290 TraceCheckUtils]: 23: Hoare triple {565#(<= 1 main_~y~0)} assume !false; {565#(<= 1 main_~y~0)} is VALID [2022-04-14 17:26:45,264 INFO L272 TraceCheckUtils]: 24: Hoare triple {565#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {491#true} is VALID [2022-04-14 17:26:45,264 INFO L290 TraceCheckUtils]: 25: Hoare triple {491#true} ~cond := #in~cond; {491#true} is VALID [2022-04-14 17:26:45,265 INFO L290 TraceCheckUtils]: 26: Hoare triple {491#true} assume !(0 == ~cond); {491#true} is VALID [2022-04-14 17:26:45,265 INFO L290 TraceCheckUtils]: 27: Hoare triple {491#true} assume true; {491#true} is VALID [2022-04-14 17:26:45,265 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {491#true} {565#(<= 1 main_~y~0)} #67#return; {565#(<= 1 main_~y~0)} is VALID [2022-04-14 17:26:45,266 INFO L290 TraceCheckUtils]: 29: Hoare triple {565#(<= 1 main_~y~0)} assume !(0 != ~y~0); {492#false} is VALID [2022-04-14 17:26:45,266 INFO L272 TraceCheckUtils]: 30: Hoare triple {492#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {492#false} is VALID [2022-04-14 17:26:45,266 INFO L290 TraceCheckUtils]: 31: Hoare triple {492#false} ~cond := #in~cond; {492#false} is VALID [2022-04-14 17:26:45,266 INFO L290 TraceCheckUtils]: 32: Hoare triple {492#false} assume 0 == ~cond; {492#false} is VALID [2022-04-14 17:26:45,266 INFO L290 TraceCheckUtils]: 33: Hoare triple {492#false} assume !false; {492#false} is VALID [2022-04-14 17:26:45,266 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-14 17:26:45,266 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:26:45,267 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:26:45,267 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [642115882] [2022-04-14 17:26:45,267 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:26:45,267 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1263045406] [2022-04-14 17:26:45,267 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1263045406] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:26:45,267 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:26:45,267 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-14 17:26:45,267 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [775971156] [2022-04-14 17:26:45,277 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:26:45,278 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-14 17:26:45,278 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:26:45,278 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-14 17:26:45,297 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:26:45,297 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-14 17:26:45,297 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:26:45,297 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-14 17:26:45,297 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-14 17:26:45,298 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-14 17:26:45,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:26:45,435 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-14 17:26:45,435 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-14 17:26:45,435 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-14 17:26:45,435 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:26:45,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-14 17:26:45,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-14 17:26:45,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-14 17:26:45,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-14 17:26:45,438 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-14 17:26:45,466 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:26:45,467 INFO L225 Difference]: With dead ends: 43 [2022-04-14 17:26:45,467 INFO L226 Difference]: Without dead ends: 36 [2022-04-14 17:26:45,467 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-14 17:26:45,468 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 17:26:45,468 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 89 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 17:26:45,469 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-14 17:26:45,475 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-14 17:26:45,476 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:26:45,476 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 17:26:45,476 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 17:26:45,476 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 17:26:45,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:26:45,478 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-14 17:26:45,478 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-14 17:26:45,478 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:26:45,478 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:26:45,479 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-14 17:26:45,479 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-14 17:26:45,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:26:45,480 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-14 17:26:45,480 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-14 17:26:45,481 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:26:45,481 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:26:45,481 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:26:45,481 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:26:45,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-14 17:26:45,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-14 17:26:45,482 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-14 17:26:45,482 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:26:45,483 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-14 17:26:45,483 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-14 17:26:45,483 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-14 17:26:45,483 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-14 17:26:45,483 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:26:45,484 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:26:45,511 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-04-14 17:26:45,699 WARN L460 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-04-14 17:26:45,700 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:26:45,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:26:45,700 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-14 17:26:45,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:26:45,701 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [496084025] [2022-04-14 17:26:45,701 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:26:45,701 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:26:45,719 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:26:45,719 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1785290300] [2022-04-14 17:26:45,720 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:26:45,720 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:26:45,720 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:26:45,721 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-04-14 17:26:45,721 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-04-14 17:26:45,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:26:45,761 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-14 17:26:45,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:26:45,774 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:26:48,362 INFO L272 TraceCheckUtils]: 0: Hoare triple {783#true} call ULTIMATE.init(); {783#true} is VALID [2022-04-14 17:26:48,363 INFO L290 TraceCheckUtils]: 1: Hoare triple {783#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(13, 2);call #Ultimate.allocInit(12, 3); {783#true} is VALID [2022-04-14 17:26:48,363 INFO L290 TraceCheckUtils]: 2: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-14 17:26:48,363 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {783#true} {783#true} #71#return; {783#true} is VALID [2022-04-14 17:26:48,363 INFO L272 TraceCheckUtils]: 4: Hoare triple {783#true} call #t~ret6 := main(); {783#true} is VALID [2022-04-14 17:26:48,363 INFO L290 TraceCheckUtils]: 5: Hoare triple {783#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {783#true} is VALID [2022-04-14 17:26:48,363 INFO L272 TraceCheckUtils]: 6: Hoare triple {783#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {783#true} is VALID [2022-04-14 17:26:48,363 INFO L290 TraceCheckUtils]: 7: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-14 17:26:48,363 INFO L290 TraceCheckUtils]: 8: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-14 17:26:48,364 INFO L290 TraceCheckUtils]: 9: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-14 17:26:48,364 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {783#true} {783#true} #61#return; {783#true} is VALID [2022-04-14 17:26:48,364 INFO L290 TraceCheckUtils]: 11: Hoare triple {783#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {783#true} is VALID [2022-04-14 17:26:48,364 INFO L272 TraceCheckUtils]: 12: Hoare triple {783#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {783#true} is VALID [2022-04-14 17:26:48,364 INFO L290 TraceCheckUtils]: 13: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-14 17:26:48,364 INFO L290 TraceCheckUtils]: 14: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-14 17:26:48,364 INFO L290 TraceCheckUtils]: 15: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-14 17:26:48,365 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {783#true} {783#true} #63#return; {783#true} is VALID [2022-04-14 17:26:48,365 INFO L272 TraceCheckUtils]: 17: Hoare triple {783#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {783#true} is VALID [2022-04-14 17:26:48,365 INFO L290 TraceCheckUtils]: 18: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-14 17:26:48,365 INFO L290 TraceCheckUtils]: 19: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-14 17:26:48,365 INFO L290 TraceCheckUtils]: 20: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-14 17:26:48,365 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {783#true} {783#true} #65#return; {783#true} is VALID [2022-04-14 17:26:48,371 INFO L290 TraceCheckUtils]: 22: Hoare triple {783#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {854#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:26:48,372 INFO L290 TraceCheckUtils]: 23: Hoare triple {854#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {854#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:26:48,372 INFO L272 TraceCheckUtils]: 24: Hoare triple {854#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {783#true} is VALID [2022-04-14 17:26:48,372 INFO L290 TraceCheckUtils]: 25: Hoare triple {783#true} ~cond := #in~cond; {864#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:26:48,373 INFO L290 TraceCheckUtils]: 26: Hoare triple {864#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:26:48,373 INFO L290 TraceCheckUtils]: 27: Hoare triple {868#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:26:48,379 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {868#(not (= |__VERIFIER_assert_#in~cond| 0))} {854#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {875#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:26:48,380 INFO L290 TraceCheckUtils]: 29: Hoare triple {875#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {879#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:26:48,381 INFO L290 TraceCheckUtils]: 30: Hoare triple {879#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {883#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-14 17:26:48,383 INFO L290 TraceCheckUtils]: 31: Hoare triple {883#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {887#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 17:26:48,384 INFO L290 TraceCheckUtils]: 32: Hoare triple {887#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {887#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 17:26:48,976 INFO L272 TraceCheckUtils]: 33: Hoare triple {887#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* main_~a~0 (+ (- 1) main_~b~0)))) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {894#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:26:48,976 INFO L290 TraceCheckUtils]: 34: Hoare triple {894#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {898#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:26:48,977 INFO L290 TraceCheckUtils]: 35: Hoare triple {898#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {784#false} is VALID [2022-04-14 17:26:48,977 INFO L290 TraceCheckUtils]: 36: Hoare triple {784#false} assume !false; {784#false} is VALID [2022-04-14 17:26:48,977 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-14 17:26:48,977 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:27:48,910 INFO L290 TraceCheckUtils]: 36: Hoare triple {784#false} assume !false; {784#false} is VALID [2022-04-14 17:27:48,911 INFO L290 TraceCheckUtils]: 35: Hoare triple {898#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {784#false} is VALID [2022-04-14 17:27:48,911 INFO L290 TraceCheckUtils]: 34: Hoare triple {894#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {898#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:27:48,912 INFO L272 TraceCheckUtils]: 33: Hoare triple {914#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {894#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:27:48,913 INFO L290 TraceCheckUtils]: 32: Hoare triple {914#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {914#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:27:48,917 INFO L290 TraceCheckUtils]: 31: Hoare triple {921#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {914#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:27:48,919 INFO L290 TraceCheckUtils]: 30: Hoare triple {925#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {921#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-14 17:27:48,920 INFO L290 TraceCheckUtils]: 29: Hoare triple {925#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {925#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-14 17:27:49,572 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {868#(not (= |__VERIFIER_assert_#in~cond| 0))} {783#true} #67#return; {925#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-14 17:27:49,572 INFO L290 TraceCheckUtils]: 27: Hoare triple {868#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:27:49,573 INFO L290 TraceCheckUtils]: 26: Hoare triple {941#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {868#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:27:49,573 INFO L290 TraceCheckUtils]: 25: Hoare triple {783#true} ~cond := #in~cond; {941#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 17:27:49,573 INFO L272 TraceCheckUtils]: 24: Hoare triple {783#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {783#true} is VALID [2022-04-14 17:27:49,573 INFO L290 TraceCheckUtils]: 23: Hoare triple {783#true} assume !false; {783#true} is VALID [2022-04-14 17:27:49,573 INFO L290 TraceCheckUtils]: 22: Hoare triple {783#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {783#true} is VALID [2022-04-14 17:27:49,573 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {783#true} {783#true} #65#return; {783#true} is VALID [2022-04-14 17:27:49,574 INFO L290 TraceCheckUtils]: 20: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-14 17:27:49,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-14 17:27:49,574 INFO L290 TraceCheckUtils]: 18: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-14 17:27:49,574 INFO L272 TraceCheckUtils]: 17: Hoare triple {783#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {783#true} is VALID [2022-04-14 17:27:49,574 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {783#true} {783#true} #63#return; {783#true} is VALID [2022-04-14 17:27:49,574 INFO L290 TraceCheckUtils]: 15: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-14 17:27:49,574 INFO L290 TraceCheckUtils]: 14: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-14 17:27:49,574 INFO L290 TraceCheckUtils]: 13: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-14 17:27:49,574 INFO L272 TraceCheckUtils]: 12: Hoare triple {783#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {783#true} is VALID [2022-04-14 17:27:49,574 INFO L290 TraceCheckUtils]: 11: Hoare triple {783#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {783#true} is VALID [2022-04-14 17:27:49,575 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {783#true} {783#true} #61#return; {783#true} is VALID [2022-04-14 17:27:49,575 INFO L290 TraceCheckUtils]: 9: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-14 17:27:49,575 INFO L290 TraceCheckUtils]: 8: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-14 17:27:49,575 INFO L290 TraceCheckUtils]: 7: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-14 17:27:49,575 INFO L272 TraceCheckUtils]: 6: Hoare triple {783#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {783#true} is VALID [2022-04-14 17:27:49,575 INFO L290 TraceCheckUtils]: 5: Hoare triple {783#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {783#true} is VALID [2022-04-14 17:27:49,575 INFO L272 TraceCheckUtils]: 4: Hoare triple {783#true} call #t~ret6 := main(); {783#true} is VALID [2022-04-14 17:27:49,575 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {783#true} {783#true} #71#return; {783#true} is VALID [2022-04-14 17:27:49,575 INFO L290 TraceCheckUtils]: 2: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-14 17:27:49,576 INFO L290 TraceCheckUtils]: 1: Hoare triple {783#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(13, 2);call #Ultimate.allocInit(12, 3); {783#true} is VALID [2022-04-14 17:27:49,576 INFO L272 TraceCheckUtils]: 0: Hoare triple {783#true} call ULTIMATE.init(); {783#true} is VALID [2022-04-14 17:27:49,576 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-14 17:27:49,576 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:27:49,576 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [496084025] [2022-04-14 17:27:49,576 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:27:49,576 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1785290300] [2022-04-14 17:27:49,576 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1785290300] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:27:49,577 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:27:49,577 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-14 17:27:49,577 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [781694686] [2022-04-14 17:27:49,577 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:27:49,577 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.8) internal successors, (27), 13 states have internal predecessors, (27), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 37 [2022-04-14 17:27:49,578 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:27:49,578 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 1.8) internal successors, (27), 13 states have internal predecessors, (27), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-14 17:27:50,187 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:27:50,188 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-14 17:27:50,188 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:27:50,188 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-14 17:27:50,188 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-14 17:27:50,189 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 15 states, 15 states have (on average 1.8) internal successors, (27), 13 states have internal predecessors, (27), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-14 17:27:55,973 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.28s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:28:01,250 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:28:03,253 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:28:12,985 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:28:16,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:28:16,492 INFO L93 Difference]: Finished difference Result 53 states and 61 transitions. [2022-04-14 17:28:16,492 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-14 17:28:16,492 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.8) internal successors, (27), 13 states have internal predecessors, (27), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 37 [2022-04-14 17:28:16,492 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:28:16,493 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.8) internal successors, (27), 13 states have internal predecessors, (27), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-14 17:28:16,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 58 transitions. [2022-04-14 17:28:16,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.8) internal successors, (27), 13 states have internal predecessors, (27), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-14 17:28:16,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 58 transitions. [2022-04-14 17:28:16,496 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 58 transitions. [2022-04-14 17:28:17,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:28:17,982 INFO L225 Difference]: With dead ends: 53 [2022-04-14 17:28:17,982 INFO L226 Difference]: Without dead ends: 51 [2022-04-14 17:28:17,982 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 10.0s TimeCoverageRelationStatistics Valid=70, Invalid=272, Unknown=0, NotChecked=0, Total=342 [2022-04-14 17:28:17,983 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 34 mSDsluCounter, 116 mSDsCounter, 0 mSdLazyCounter, 164 mSolverCounterSat, 18 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 11.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 185 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 164 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 11.3s IncrementalHoareTripleChecker+Time [2022-04-14 17:28:17,983 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 140 Invalid, 185 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 164 Invalid, 3 Unknown, 0 Unchecked, 11.3s Time] [2022-04-14 17:28:17,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-14 17:28:18,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 47. [2022-04-14 17:28:18,002 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:28:18,002 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 47 states, 31 states have (on average 1.1935483870967742) internal successors, (37), 33 states have internal predecessors, (37), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 17:28:18,002 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 47 states, 31 states have (on average 1.1935483870967742) internal successors, (37), 33 states have internal predecessors, (37), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 17:28:18,002 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 47 states, 31 states have (on average 1.1935483870967742) internal successors, (37), 33 states have internal predecessors, (37), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 17:28:18,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:28:18,005 INFO L93 Difference]: Finished difference Result 51 states and 59 transitions. [2022-04-14 17:28:18,005 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 59 transitions. [2022-04-14 17:28:18,006 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:28:18,006 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:28:18,007 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 31 states have (on average 1.1935483870967742) internal successors, (37), 33 states have internal predecessors, (37), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 51 states. [2022-04-14 17:28:18,007 INFO L87 Difference]: Start difference. First operand has 47 states, 31 states have (on average 1.1935483870967742) internal successors, (37), 33 states have internal predecessors, (37), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 51 states. [2022-04-14 17:28:18,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:28:18,010 INFO L93 Difference]: Finished difference Result 51 states and 59 transitions. [2022-04-14 17:28:18,011 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 59 transitions. [2022-04-14 17:28:18,013 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:28:18,013 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:28:18,013 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:28:18,014 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:28:18,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 31 states have (on average 1.1935483870967742) internal successors, (37), 33 states have internal predecessors, (37), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-14 17:28:18,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 55 transitions. [2022-04-14 17:28:18,016 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 55 transitions. Word has length 37 [2022-04-14 17:28:18,016 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:28:18,016 INFO L478 AbstractCegarLoop]: Abstraction has 47 states and 55 transitions. [2022-04-14 17:28:18,016 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 1.8) internal successors, (27), 13 states have internal predecessors, (27), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-14 17:28:18,017 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 55 transitions. [2022-04-14 17:28:18,018 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-14 17:28:18,018 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:28:18,018 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:28:18,034 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-04-14 17:28:18,219 WARN L460 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-04-14 17:28:18,219 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:28:18,219 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:28:18,219 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-14 17:28:18,220 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:28:18,220 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [411405160] [2022-04-14 17:28:18,220 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:28:18,220 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:28:18,239 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:28:18,239 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [54566964] [2022-04-14 17:28:18,239 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:28:18,239 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:28:18,239 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:28:18,245 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-04-14 17:28:18,245 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-04-14 17:28:18,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:28:18,279 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-14 17:28:18,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:28:18,289 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:28:19,321 INFO L272 TraceCheckUtils]: 0: Hoare triple {1270#true} call ULTIMATE.init(); {1270#true} is VALID [2022-04-14 17:28:19,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {1270#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(13, 2);call #Ultimate.allocInit(12, 3); {1270#true} is VALID [2022-04-14 17:28:19,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {1270#true} assume true; {1270#true} is VALID [2022-04-14 17:28:19,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1270#true} {1270#true} #71#return; {1270#true} is VALID [2022-04-14 17:28:19,321 INFO L272 TraceCheckUtils]: 4: Hoare triple {1270#true} call #t~ret6 := main(); {1270#true} is VALID [2022-04-14 17:28:19,321 INFO L290 TraceCheckUtils]: 5: Hoare triple {1270#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1270#true} is VALID [2022-04-14 17:28:19,321 INFO L272 TraceCheckUtils]: 6: Hoare triple {1270#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {1270#true} is VALID [2022-04-14 17:28:19,321 INFO L290 TraceCheckUtils]: 7: Hoare triple {1270#true} ~cond := #in~cond; {1270#true} is VALID [2022-04-14 17:28:19,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {1270#true} assume !(0 == ~cond); {1270#true} is VALID [2022-04-14 17:28:19,322 INFO L290 TraceCheckUtils]: 9: Hoare triple {1270#true} assume true; {1270#true} is VALID [2022-04-14 17:28:19,322 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1270#true} {1270#true} #61#return; {1270#true} is VALID [2022-04-14 17:28:19,322 INFO L290 TraceCheckUtils]: 11: Hoare triple {1270#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1270#true} is VALID [2022-04-14 17:28:19,322 INFO L272 TraceCheckUtils]: 12: Hoare triple {1270#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {1270#true} is VALID [2022-04-14 17:28:19,322 INFO L290 TraceCheckUtils]: 13: Hoare triple {1270#true} ~cond := #in~cond; {1270#true} is VALID [2022-04-14 17:28:19,322 INFO L290 TraceCheckUtils]: 14: Hoare triple {1270#true} assume !(0 == ~cond); {1270#true} is VALID [2022-04-14 17:28:19,322 INFO L290 TraceCheckUtils]: 15: Hoare triple {1270#true} assume true; {1270#true} is VALID [2022-04-14 17:28:19,322 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1270#true} {1270#true} #63#return; {1270#true} is VALID [2022-04-14 17:28:19,322 INFO L272 TraceCheckUtils]: 17: Hoare triple {1270#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1270#true} is VALID [2022-04-14 17:28:19,324 INFO L290 TraceCheckUtils]: 18: Hoare triple {1270#true} ~cond := #in~cond; {1329#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 17:28:19,325 INFO L290 TraceCheckUtils]: 19: Hoare triple {1329#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1333#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:28:19,325 INFO L290 TraceCheckUtils]: 20: Hoare triple {1333#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1333#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:28:19,326 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1333#(not (= |assume_abort_if_not_#in~cond| 0))} {1270#true} #65#return; {1340#(<= 1 main_~b~0)} is VALID [2022-04-14 17:28:19,326 INFO L290 TraceCheckUtils]: 22: Hoare triple {1340#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1344#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:28:19,326 INFO L290 TraceCheckUtils]: 23: Hoare triple {1344#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1344#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:28:19,326 INFO L272 TraceCheckUtils]: 24: Hoare triple {1344#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1270#true} is VALID [2022-04-14 17:28:19,327 INFO L290 TraceCheckUtils]: 25: Hoare triple {1270#true} ~cond := #in~cond; {1354#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:28:19,327 INFO L290 TraceCheckUtils]: 26: Hoare triple {1354#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1358#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:28:19,328 INFO L290 TraceCheckUtils]: 27: Hoare triple {1358#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1358#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:28:19,328 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1358#(not (= |__VERIFIER_assert_#in~cond| 0))} {1344#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1344#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:28:19,329 INFO L290 TraceCheckUtils]: 29: Hoare triple {1344#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1344#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:28:19,329 INFO L290 TraceCheckUtils]: 30: Hoare triple {1344#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1371#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:28:19,330 INFO L290 TraceCheckUtils]: 31: Hoare triple {1371#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1375#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:28:19,331 INFO L290 TraceCheckUtils]: 32: Hoare triple {1375#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {1375#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:28:19,333 INFO L272 TraceCheckUtils]: 33: Hoare triple {1375#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1382#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:28:19,333 INFO L290 TraceCheckUtils]: 34: Hoare triple {1382#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1386#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:28:19,333 INFO L290 TraceCheckUtils]: 35: Hoare triple {1386#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1271#false} is VALID [2022-04-14 17:28:19,333 INFO L290 TraceCheckUtils]: 36: Hoare triple {1271#false} assume !false; {1271#false} is VALID [2022-04-14 17:28:19,334 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-14 17:28:19,334 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:29:00,644 INFO L290 TraceCheckUtils]: 36: Hoare triple {1271#false} assume !false; {1271#false} is VALID [2022-04-14 17:29:00,645 INFO L290 TraceCheckUtils]: 35: Hoare triple {1386#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1271#false} is VALID [2022-04-14 17:29:00,645 INFO L290 TraceCheckUtils]: 34: Hoare triple {1382#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1386#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:29:00,646 INFO L272 TraceCheckUtils]: 33: Hoare triple {1402#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1382#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:29:00,646 INFO L290 TraceCheckUtils]: 32: Hoare triple {1402#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1402#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:29:00,651 INFO L290 TraceCheckUtils]: 31: Hoare triple {1409#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1402#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:29:00,652 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1409#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-14 17:29:00,653 INFO L290 TraceCheckUtils]: 29: Hoare triple {1413#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {1413#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:29:00,655 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1358#(not (= |__VERIFIER_assert_#in~cond| 0))} {1420#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} #67#return; {1413#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:29:00,655 INFO L290 TraceCheckUtils]: 27: Hoare triple {1358#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1358#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:29:00,656 INFO L290 TraceCheckUtils]: 26: Hoare triple {1430#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1358#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:29:00,656 INFO L290 TraceCheckUtils]: 25: Hoare triple {1270#true} ~cond := #in~cond; {1430#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 17:29:00,656 INFO L272 TraceCheckUtils]: 24: Hoare triple {1420#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1270#true} is VALID [2022-04-14 17:29:00,657 INFO L290 TraceCheckUtils]: 23: Hoare triple {1420#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} assume !false; {1420#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-14 17:29:00,657 INFO L290 TraceCheckUtils]: 22: Hoare triple {1440#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1420#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-14 17:29:00,658 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1333#(not (= |assume_abort_if_not_#in~cond| 0))} {1270#true} #65#return; {1440#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-14 17:29:00,658 INFO L290 TraceCheckUtils]: 20: Hoare triple {1333#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1333#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:29:00,658 INFO L290 TraceCheckUtils]: 19: Hoare triple {1453#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1333#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:29:00,659 INFO L290 TraceCheckUtils]: 18: Hoare triple {1270#true} ~cond := #in~cond; {1453#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-14 17:29:00,659 INFO L272 TraceCheckUtils]: 17: Hoare triple {1270#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1270#true} is VALID [2022-04-14 17:29:00,659 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1270#true} {1270#true} #63#return; {1270#true} is VALID [2022-04-14 17:29:00,659 INFO L290 TraceCheckUtils]: 15: Hoare triple {1270#true} assume true; {1270#true} is VALID [2022-04-14 17:29:00,659 INFO L290 TraceCheckUtils]: 14: Hoare triple {1270#true} assume !(0 == ~cond); {1270#true} is VALID [2022-04-14 17:29:00,659 INFO L290 TraceCheckUtils]: 13: Hoare triple {1270#true} ~cond := #in~cond; {1270#true} is VALID [2022-04-14 17:29:00,659 INFO L272 TraceCheckUtils]: 12: Hoare triple {1270#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {1270#true} is VALID [2022-04-14 17:29:00,659 INFO L290 TraceCheckUtils]: 11: Hoare triple {1270#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1270#true} is VALID [2022-04-14 17:29:00,660 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1270#true} {1270#true} #61#return; {1270#true} is VALID [2022-04-14 17:29:00,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {1270#true} assume true; {1270#true} is VALID [2022-04-14 17:29:00,660 INFO L290 TraceCheckUtils]: 8: Hoare triple {1270#true} assume !(0 == ~cond); {1270#true} is VALID [2022-04-14 17:29:00,660 INFO L290 TraceCheckUtils]: 7: Hoare triple {1270#true} ~cond := #in~cond; {1270#true} is VALID [2022-04-14 17:29:00,660 INFO L272 TraceCheckUtils]: 6: Hoare triple {1270#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {1270#true} is VALID [2022-04-14 17:29:00,660 INFO L290 TraceCheckUtils]: 5: Hoare triple {1270#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1270#true} is VALID [2022-04-14 17:29:00,660 INFO L272 TraceCheckUtils]: 4: Hoare triple {1270#true} call #t~ret6 := main(); {1270#true} is VALID [2022-04-14 17:29:00,660 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1270#true} {1270#true} #71#return; {1270#true} is VALID [2022-04-14 17:29:00,660 INFO L290 TraceCheckUtils]: 2: Hoare triple {1270#true} assume true; {1270#true} is VALID [2022-04-14 17:29:00,660 INFO L290 TraceCheckUtils]: 1: Hoare triple {1270#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(13, 2);call #Ultimate.allocInit(12, 3); {1270#true} is VALID [2022-04-14 17:29:00,660 INFO L272 TraceCheckUtils]: 0: Hoare triple {1270#true} call ULTIMATE.init(); {1270#true} is VALID [2022-04-14 17:29:00,661 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-14 17:29:00,661 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:29:00,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [411405160] [2022-04-14 17:29:00,661 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:29:00,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [54566964] [2022-04-14 17:29:00,661 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [54566964] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:29:00,661 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:29:00,661 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 19 [2022-04-14 17:29:00,661 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1088848104] [2022-04-14 17:29:00,662 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:29:00,662 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.6842105263157894) internal successors, (32), 16 states have internal predecessors, (32), 5 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 3 states have call successors, (7) Word has length 37 [2022-04-14 17:29:00,662 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:29:00,662 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 1.6842105263157894) internal successors, (32), 16 states have internal predecessors, (32), 5 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-14 17:29:00,714 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:29:00,714 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-14 17:29:00,714 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:29:00,715 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-14 17:29:00,715 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=280, Unknown=0, NotChecked=0, Total=342 [2022-04-14 17:29:00,715 INFO L87 Difference]: Start difference. First operand 47 states and 55 transitions. Second operand has 19 states, 19 states have (on average 1.6842105263157894) internal successors, (32), 16 states have internal predecessors, (32), 5 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-14 17:29:03,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:29:03,141 INFO L93 Difference]: Finished difference Result 78 states and 92 transitions. [2022-04-14 17:29:03,141 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-14 17:29:03,142 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.6842105263157894) internal successors, (32), 16 states have internal predecessors, (32), 5 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 3 states have call successors, (7) Word has length 37 [2022-04-14 17:29:03,142 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:29:03,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.6842105263157894) internal successors, (32), 16 states have internal predecessors, (32), 5 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-14 17:29:03,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 67 transitions. [2022-04-14 17:29:03,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.6842105263157894) internal successors, (32), 16 states have internal predecessors, (32), 5 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-14 17:29:03,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 67 transitions. [2022-04-14 17:29:03,154 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 67 transitions. [2022-04-14 17:29:03,222 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:29:03,223 INFO L225 Difference]: With dead ends: 78 [2022-04-14 17:29:03,223 INFO L226 Difference]: Without dead ends: 71 [2022-04-14 17:29:03,224 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 54 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 102 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=122, Invalid=528, Unknown=0, NotChecked=0, Total=650 [2022-04-14 17:29:03,224 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 38 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 332 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 361 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 332 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-14 17:29:03,224 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 161 Invalid, 361 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 332 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-14 17:29:03,225 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-14 17:29:03,244 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-14 17:29:03,244 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:29:03,245 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 49 states have (on average 1.183673469387755) internal successors, (58), 53 states have internal predecessors, (58), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-14 17:29:03,245 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 49 states have (on average 1.183673469387755) internal successors, (58), 53 states have internal predecessors, (58), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-14 17:29:03,245 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 49 states have (on average 1.183673469387755) internal successors, (58), 53 states have internal predecessors, (58), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-14 17:29:03,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:29:03,247 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-04-14 17:29:03,247 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-14 17:29:03,247 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:29:03,248 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:29:03,248 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 49 states have (on average 1.183673469387755) internal successors, (58), 53 states have internal predecessors, (58), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) Second operand 71 states. [2022-04-14 17:29:03,248 INFO L87 Difference]: Start difference. First operand has 71 states, 49 states have (on average 1.183673469387755) internal successors, (58), 53 states have internal predecessors, (58), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) Second operand 71 states. [2022-04-14 17:29:03,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:29:03,250 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2022-04-14 17:29:03,250 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-14 17:29:03,250 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:29:03,250 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:29:03,250 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:29:03,250 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:29:03,251 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 49 states have (on average 1.183673469387755) internal successors, (58), 53 states have internal predecessors, (58), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-14 17:29:03,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 84 transitions. [2022-04-14 17:29:03,252 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 84 transitions. Word has length 37 [2022-04-14 17:29:03,253 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:29:03,253 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 84 transitions. [2022-04-14 17:29:03,253 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 1.6842105263157894) internal successors, (32), 16 states have internal predecessors, (32), 5 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-14 17:29:03,253 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 84 transitions. [2022-04-14 17:29:03,253 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-14 17:29:03,253 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:29:03,253 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:29:03,272 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-04-14 17:29:03,467 WARN L460 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-04-14 17:29:03,467 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:29:03,468 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:29:03,468 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-14 17:29:03,468 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:29:03,468 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [990628172] [2022-04-14 17:29:03,468 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:29:03,468 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:29:03,478 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:29:03,478 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [915250271] [2022-04-14 17:29:03,478 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:29:03,478 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:29:03,479 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:29:03,483 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-04-14 17:29:03,484 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-04-14 17:29:03,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:29:03,516 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-14 17:29:03,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:29:03,524 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:29:09,707 INFO L272 TraceCheckUtils]: 0: Hoare triple {1877#true} call ULTIMATE.init(); {1877#true} is VALID [2022-04-14 17:29:09,707 INFO L290 TraceCheckUtils]: 1: Hoare triple {1877#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(13, 2);call #Ultimate.allocInit(12, 3); {1877#true} is VALID [2022-04-14 17:29:09,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-04-14 17:29:09,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1877#true} {1877#true} #71#return; {1877#true} is VALID [2022-04-14 17:29:09,708 INFO L272 TraceCheckUtils]: 4: Hoare triple {1877#true} call #t~ret6 := main(); {1877#true} is VALID [2022-04-14 17:29:09,708 INFO L290 TraceCheckUtils]: 5: Hoare triple {1877#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1877#true} is VALID [2022-04-14 17:29:09,708 INFO L272 TraceCheckUtils]: 6: Hoare triple {1877#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {1877#true} is VALID [2022-04-14 17:29:09,708 INFO L290 TraceCheckUtils]: 7: Hoare triple {1877#true} ~cond := #in~cond; {1877#true} is VALID [2022-04-14 17:29:09,708 INFO L290 TraceCheckUtils]: 8: Hoare triple {1877#true} assume !(0 == ~cond); {1877#true} is VALID [2022-04-14 17:29:09,708 INFO L290 TraceCheckUtils]: 9: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-04-14 17:29:09,708 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1877#true} {1877#true} #61#return; {1877#true} is VALID [2022-04-14 17:29:09,708 INFO L290 TraceCheckUtils]: 11: Hoare triple {1877#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1877#true} is VALID [2022-04-14 17:29:09,708 INFO L272 TraceCheckUtils]: 12: Hoare triple {1877#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {1877#true} is VALID [2022-04-14 17:29:09,709 INFO L290 TraceCheckUtils]: 13: Hoare triple {1877#true} ~cond := #in~cond; {1877#true} is VALID [2022-04-14 17:29:09,709 INFO L290 TraceCheckUtils]: 14: Hoare triple {1877#true} assume !(0 == ~cond); {1877#true} is VALID [2022-04-14 17:29:09,709 INFO L290 TraceCheckUtils]: 15: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-04-14 17:29:09,709 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1877#true} {1877#true} #63#return; {1877#true} is VALID [2022-04-14 17:29:09,709 INFO L272 TraceCheckUtils]: 17: Hoare triple {1877#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1877#true} is VALID [2022-04-14 17:29:09,709 INFO L290 TraceCheckUtils]: 18: Hoare triple {1877#true} ~cond := #in~cond; {1877#true} is VALID [2022-04-14 17:29:09,709 INFO L290 TraceCheckUtils]: 19: Hoare triple {1877#true} assume !(0 == ~cond); {1877#true} is VALID [2022-04-14 17:29:09,709 INFO L290 TraceCheckUtils]: 20: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-04-14 17:29:09,709 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1877#true} {1877#true} #65#return; {1877#true} is VALID [2022-04-14 17:29:09,709 INFO L290 TraceCheckUtils]: 22: Hoare triple {1877#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1877#true} is VALID [2022-04-14 17:29:09,709 INFO L290 TraceCheckUtils]: 23: Hoare triple {1877#true} assume !false; {1877#true} is VALID [2022-04-14 17:29:09,710 INFO L272 TraceCheckUtils]: 24: Hoare triple {1877#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1877#true} is VALID [2022-04-14 17:29:09,710 INFO L290 TraceCheckUtils]: 25: Hoare triple {1877#true} ~cond := #in~cond; {1877#true} is VALID [2022-04-14 17:29:09,710 INFO L290 TraceCheckUtils]: 26: Hoare triple {1877#true} assume !(0 == ~cond); {1877#true} is VALID [2022-04-14 17:29:09,710 INFO L290 TraceCheckUtils]: 27: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-04-14 17:29:09,710 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1877#true} {1877#true} #67#return; {1877#true} is VALID [2022-04-14 17:29:09,710 INFO L290 TraceCheckUtils]: 29: Hoare triple {1877#true} assume !!(0 != ~y~0); {1877#true} is VALID [2022-04-14 17:29:09,710 INFO L290 TraceCheckUtils]: 30: Hoare triple {1877#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1877#true} is VALID [2022-04-14 17:29:09,710 INFO L290 TraceCheckUtils]: 31: Hoare triple {1877#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1877#true} is VALID [2022-04-14 17:29:09,710 INFO L290 TraceCheckUtils]: 32: Hoare triple {1877#true} assume !false; {1877#true} is VALID [2022-04-14 17:29:09,710 INFO L272 TraceCheckUtils]: 33: Hoare triple {1877#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1877#true} is VALID [2022-04-14 17:29:09,711 INFO L290 TraceCheckUtils]: 34: Hoare triple {1877#true} ~cond := #in~cond; {1984#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:29:09,711 INFO L290 TraceCheckUtils]: 35: Hoare triple {1984#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1988#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:29:09,712 INFO L290 TraceCheckUtils]: 36: Hoare triple {1988#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1988#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:29:11,715 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {1988#(not (= |__VERIFIER_assert_#in~cond| 0))} {1877#true} #67#return; {1995#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-14 17:29:11,716 INFO L290 TraceCheckUtils]: 38: Hoare triple {1995#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} assume !(0 != ~y~0); {1999#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:29:11,716 INFO L272 TraceCheckUtils]: 39: Hoare triple {1999#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2003#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:29:11,717 INFO L290 TraceCheckUtils]: 40: Hoare triple {2003#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2007#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:29:11,717 INFO L290 TraceCheckUtils]: 41: Hoare triple {2007#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1878#false} is VALID [2022-04-14 17:29:11,717 INFO L290 TraceCheckUtils]: 42: Hoare triple {1878#false} assume !false; {1878#false} is VALID [2022-04-14 17:29:11,717 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-14 17:29:11,718 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:29:17,975 INFO L290 TraceCheckUtils]: 42: Hoare triple {1878#false} assume !false; {1878#false} is VALID [2022-04-14 17:29:17,976 INFO L290 TraceCheckUtils]: 41: Hoare triple {2007#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1878#false} is VALID [2022-04-14 17:29:17,976 INFO L290 TraceCheckUtils]: 40: Hoare triple {2003#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2007#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:29:17,977 INFO L272 TraceCheckUtils]: 39: Hoare triple {1999#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2003#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:29:17,977 INFO L290 TraceCheckUtils]: 38: Hoare triple {2026#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {1999#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:29:17,978 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1988#(not (= |__VERIFIER_assert_#in~cond| 0))} {1877#true} #67#return; {2026#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-14 17:29:17,979 INFO L290 TraceCheckUtils]: 36: Hoare triple {1988#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1988#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:29:17,979 INFO L290 TraceCheckUtils]: 35: Hoare triple {2039#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1988#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:29:17,979 INFO L290 TraceCheckUtils]: 34: Hoare triple {1877#true} ~cond := #in~cond; {2039#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 17:29:17,979 INFO L272 TraceCheckUtils]: 33: Hoare triple {1877#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1877#true} is VALID [2022-04-14 17:29:17,979 INFO L290 TraceCheckUtils]: 32: Hoare triple {1877#true} assume !false; {1877#true} is VALID [2022-04-14 17:29:17,980 INFO L290 TraceCheckUtils]: 31: Hoare triple {1877#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1877#true} is VALID [2022-04-14 17:29:17,980 INFO L290 TraceCheckUtils]: 30: Hoare triple {1877#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1877#true} is VALID [2022-04-14 17:29:17,980 INFO L290 TraceCheckUtils]: 29: Hoare triple {1877#true} assume !!(0 != ~y~0); {1877#true} is VALID [2022-04-14 17:29:17,980 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1877#true} {1877#true} #67#return; {1877#true} is VALID [2022-04-14 17:29:17,980 INFO L290 TraceCheckUtils]: 27: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-04-14 17:29:17,980 INFO L290 TraceCheckUtils]: 26: Hoare triple {1877#true} assume !(0 == ~cond); {1877#true} is VALID [2022-04-14 17:29:17,980 INFO L290 TraceCheckUtils]: 25: Hoare triple {1877#true} ~cond := #in~cond; {1877#true} is VALID [2022-04-14 17:29:17,980 INFO L272 TraceCheckUtils]: 24: Hoare triple {1877#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1877#true} is VALID [2022-04-14 17:29:17,980 INFO L290 TraceCheckUtils]: 23: Hoare triple {1877#true} assume !false; {1877#true} is VALID [2022-04-14 17:29:17,980 INFO L290 TraceCheckUtils]: 22: Hoare triple {1877#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1877#true} is VALID [2022-04-14 17:29:17,980 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1877#true} {1877#true} #65#return; {1877#true} is VALID [2022-04-14 17:29:17,981 INFO L290 TraceCheckUtils]: 20: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-04-14 17:29:17,981 INFO L290 TraceCheckUtils]: 19: Hoare triple {1877#true} assume !(0 == ~cond); {1877#true} is VALID [2022-04-14 17:29:17,981 INFO L290 TraceCheckUtils]: 18: Hoare triple {1877#true} ~cond := #in~cond; {1877#true} is VALID [2022-04-14 17:29:17,981 INFO L272 TraceCheckUtils]: 17: Hoare triple {1877#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1877#true} is VALID [2022-04-14 17:29:17,981 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1877#true} {1877#true} #63#return; {1877#true} is VALID [2022-04-14 17:29:17,981 INFO L290 TraceCheckUtils]: 15: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-04-14 17:29:17,981 INFO L290 TraceCheckUtils]: 14: Hoare triple {1877#true} assume !(0 == ~cond); {1877#true} is VALID [2022-04-14 17:29:17,981 INFO L290 TraceCheckUtils]: 13: Hoare triple {1877#true} ~cond := #in~cond; {1877#true} is VALID [2022-04-14 17:29:17,981 INFO L272 TraceCheckUtils]: 12: Hoare triple {1877#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {1877#true} is VALID [2022-04-14 17:29:17,981 INFO L290 TraceCheckUtils]: 11: Hoare triple {1877#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1877#true} is VALID [2022-04-14 17:29:17,981 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1877#true} {1877#true} #61#return; {1877#true} is VALID [2022-04-14 17:29:17,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-04-14 17:29:17,982 INFO L290 TraceCheckUtils]: 8: Hoare triple {1877#true} assume !(0 == ~cond); {1877#true} is VALID [2022-04-14 17:29:17,982 INFO L290 TraceCheckUtils]: 7: Hoare triple {1877#true} ~cond := #in~cond; {1877#true} is VALID [2022-04-14 17:29:17,982 INFO L272 TraceCheckUtils]: 6: Hoare triple {1877#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {1877#true} is VALID [2022-04-14 17:29:17,982 INFO L290 TraceCheckUtils]: 5: Hoare triple {1877#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1877#true} is VALID [2022-04-14 17:29:17,982 INFO L272 TraceCheckUtils]: 4: Hoare triple {1877#true} call #t~ret6 := main(); {1877#true} is VALID [2022-04-14 17:29:17,982 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1877#true} {1877#true} #71#return; {1877#true} is VALID [2022-04-14 17:29:17,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {1877#true} assume true; {1877#true} is VALID [2022-04-14 17:29:17,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {1877#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(13, 2);call #Ultimate.allocInit(12, 3); {1877#true} is VALID [2022-04-14 17:29:17,982 INFO L272 TraceCheckUtils]: 0: Hoare triple {1877#true} call ULTIMATE.init(); {1877#true} is VALID [2022-04-14 17:29:17,982 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-14 17:29:17,983 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:29:17,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [990628172] [2022-04-14 17:29:17,983 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:29:17,983 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [915250271] [2022-04-14 17:29:17,983 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [915250271] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:29:17,983 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:29:17,983 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-14 17:29:17,983 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1925971120] [2022-04-14 17:29:17,983 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:29:17,984 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) Word has length 43 [2022-04-14 17:29:17,984 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:29:17,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-14 17:29:20,012 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 38 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 17:29:20,012 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-14 17:29:20,013 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:29:20,013 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-14 17:29:20,013 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-14 17:29:20,013 INFO L87 Difference]: Start difference. First operand 71 states and 84 transitions. Second operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-14 17:29:22,063 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:29:22,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:29:22,545 INFO L93 Difference]: Finished difference Result 77 states and 89 transitions. [2022-04-14 17:29:22,545 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-14 17:29:22,545 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) Word has length 43 [2022-04-14 17:29:22,546 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:29:22,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-14 17:29:22,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 40 transitions. [2022-04-14 17:29:22,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-14 17:29:22,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 40 transitions. [2022-04-14 17:29:22,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 40 transitions. [2022-04-14 17:29:26,583 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 38 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-14 17:29:26,586 INFO L225 Difference]: With dead ends: 77 [2022-04-14 17:29:26,587 INFO L226 Difference]: Without dead ends: 70 [2022-04-14 17:29:26,587 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-14 17:29:26,588 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 14 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 76 mSolverCounterSat, 3 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 80 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 76 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-14 17:29:26,589 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 118 Invalid, 80 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 76 Invalid, 1 Unknown, 0 Unchecked, 2.2s Time] [2022-04-14 17:29:26,589 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-14 17:29:26,617 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-14 17:29:26,617 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:29:26,617 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 49 states have (on average 1.1224489795918366) internal successors, (55), 52 states have internal predecessors, (55), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-14 17:29:26,618 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 49 states have (on average 1.1224489795918366) internal successors, (55), 52 states have internal predecessors, (55), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-14 17:29:26,618 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 49 states have (on average 1.1224489795918366) internal successors, (55), 52 states have internal predecessors, (55), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-14 17:29:26,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:29:26,620 INFO L93 Difference]: Finished difference Result 70 states and 80 transitions. [2022-04-14 17:29:26,620 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 80 transitions. [2022-04-14 17:29:26,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:29:26,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:29:26,620 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 49 states have (on average 1.1224489795918366) internal successors, (55), 52 states have internal predecessors, (55), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) Second operand 70 states. [2022-04-14 17:29:26,620 INFO L87 Difference]: Start difference. First operand has 70 states, 49 states have (on average 1.1224489795918366) internal successors, (55), 52 states have internal predecessors, (55), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) Second operand 70 states. [2022-04-14 17:29:26,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:29:26,622 INFO L93 Difference]: Finished difference Result 70 states and 80 transitions. [2022-04-14 17:29:26,622 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 80 transitions. [2022-04-14 17:29:26,622 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:29:26,622 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:29:26,622 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:29:26,623 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:29:26,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 49 states have (on average 1.1224489795918366) internal successors, (55), 52 states have internal predecessors, (55), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-14 17:29:26,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 80 transitions. [2022-04-14 17:29:26,624 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 80 transitions. Word has length 43 [2022-04-14 17:29:26,624 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:29:26,624 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 80 transitions. [2022-04-14 17:29:26,625 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-14 17:29:26,625 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 80 transitions. [2022-04-14 17:29:26,625 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-14 17:29:26,625 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:29:26,625 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:29:26,643 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-14 17:29:26,839 WARN L460 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-04-14 17:29:26,840 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:29:26,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:29:26,840 INFO L85 PathProgramCache]: Analyzing trace with hash -1459553868, now seen corresponding path program 1 times [2022-04-14 17:29:26,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:29:26,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [803541854] [2022-04-14 17:29:26,840 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:29:26,840 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:29:26,875 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:29:26,875 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [906836623] [2022-04-14 17:29:26,875 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:29:26,875 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:29:26,876 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:29:26,876 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-04-14 17:29:26,877 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-04-14 17:29:26,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:29:26,920 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-14 17:29:26,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:29:26,953 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:29:36,022 INFO L272 TraceCheckUtils]: 0: Hoare triple {2495#true} call ULTIMATE.init(); {2495#true} is VALID [2022-04-14 17:29:36,022 INFO L290 TraceCheckUtils]: 1: Hoare triple {2495#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(13, 2);call #Ultimate.allocInit(12, 3); {2495#true} is VALID [2022-04-14 17:29:36,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {2495#true} assume true; {2495#true} is VALID [2022-04-14 17:29:36,022 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2495#true} {2495#true} #71#return; {2495#true} is VALID [2022-04-14 17:29:36,022 INFO L272 TraceCheckUtils]: 4: Hoare triple {2495#true} call #t~ret6 := main(); {2495#true} is VALID [2022-04-14 17:29:36,022 INFO L290 TraceCheckUtils]: 5: Hoare triple {2495#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2495#true} is VALID [2022-04-14 17:29:36,022 INFO L272 TraceCheckUtils]: 6: Hoare triple {2495#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {2495#true} is VALID [2022-04-14 17:29:36,022 INFO L290 TraceCheckUtils]: 7: Hoare triple {2495#true} ~cond := #in~cond; {2495#true} is VALID [2022-04-14 17:29:36,023 INFO L290 TraceCheckUtils]: 8: Hoare triple {2495#true} assume !(0 == ~cond); {2495#true} is VALID [2022-04-14 17:29:36,023 INFO L290 TraceCheckUtils]: 9: Hoare triple {2495#true} assume true; {2495#true} is VALID [2022-04-14 17:29:36,023 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2495#true} {2495#true} #61#return; {2495#true} is VALID [2022-04-14 17:29:36,023 INFO L290 TraceCheckUtils]: 11: Hoare triple {2495#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2495#true} is VALID [2022-04-14 17:29:36,023 INFO L272 TraceCheckUtils]: 12: Hoare triple {2495#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {2495#true} is VALID [2022-04-14 17:29:36,023 INFO L290 TraceCheckUtils]: 13: Hoare triple {2495#true} ~cond := #in~cond; {2495#true} is VALID [2022-04-14 17:29:36,023 INFO L290 TraceCheckUtils]: 14: Hoare triple {2495#true} assume !(0 == ~cond); {2495#true} is VALID [2022-04-14 17:29:36,023 INFO L290 TraceCheckUtils]: 15: Hoare triple {2495#true} assume true; {2495#true} is VALID [2022-04-14 17:29:36,023 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2495#true} {2495#true} #63#return; {2495#true} is VALID [2022-04-14 17:29:36,023 INFO L272 TraceCheckUtils]: 17: Hoare triple {2495#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2495#true} is VALID [2022-04-14 17:29:36,023 INFO L290 TraceCheckUtils]: 18: Hoare triple {2495#true} ~cond := #in~cond; {2495#true} is VALID [2022-04-14 17:29:36,023 INFO L290 TraceCheckUtils]: 19: Hoare triple {2495#true} assume !(0 == ~cond); {2495#true} is VALID [2022-04-14 17:29:36,024 INFO L290 TraceCheckUtils]: 20: Hoare triple {2495#true} assume true; {2495#true} is VALID [2022-04-14 17:29:36,024 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2495#true} {2495#true} #65#return; {2495#true} is VALID [2022-04-14 17:29:36,024 INFO L290 TraceCheckUtils]: 22: Hoare triple {2495#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2566#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:29:36,025 INFO L290 TraceCheckUtils]: 23: Hoare triple {2566#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {2566#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:29:36,025 INFO L272 TraceCheckUtils]: 24: Hoare triple {2566#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2495#true} is VALID [2022-04-14 17:29:36,025 INFO L290 TraceCheckUtils]: 25: Hoare triple {2495#true} ~cond := #in~cond; {2495#true} is VALID [2022-04-14 17:29:36,025 INFO L290 TraceCheckUtils]: 26: Hoare triple {2495#true} assume !(0 == ~cond); {2495#true} is VALID [2022-04-14 17:29:36,025 INFO L290 TraceCheckUtils]: 27: Hoare triple {2495#true} assume true; {2495#true} is VALID [2022-04-14 17:29:36,026 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2495#true} {2566#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {2566#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:29:36,026 INFO L290 TraceCheckUtils]: 29: Hoare triple {2566#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2588#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:29:36,027 INFO L290 TraceCheckUtils]: 30: Hoare triple {2588#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2592#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-14 17:29:36,028 INFO L290 TraceCheckUtils]: 31: Hoare triple {2592#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2596#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 17:29:36,029 INFO L290 TraceCheckUtils]: 32: Hoare triple {2596#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {2596#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 17:29:36,029 INFO L272 TraceCheckUtils]: 33: Hoare triple {2596#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2495#true} is VALID [2022-04-14 17:29:36,029 INFO L290 TraceCheckUtils]: 34: Hoare triple {2495#true} ~cond := #in~cond; {2606#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:29:36,029 INFO L290 TraceCheckUtils]: 35: Hoare triple {2606#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2610#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:29:36,030 INFO L290 TraceCheckUtils]: 36: Hoare triple {2610#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2610#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:29:36,031 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2610#(not (= |__VERIFIER_assert_#in~cond| 0))} {2596#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {2617#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 17:29:36,031 INFO L290 TraceCheckUtils]: 38: Hoare triple {2617#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {2621#(and (not (= main_~y~0 0)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-14 17:29:36,034 INFO L290 TraceCheckUtils]: 39: Hoare triple {2621#(and (not (= main_~y~0 0)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2625#(and (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) main_~x~0)) (+ main_~x~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-14 17:29:36,037 INFO L290 TraceCheckUtils]: 40: Hoare triple {2625#(and (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) main_~x~0)) (+ main_~x~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2629#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-14 17:29:36,038 INFO L290 TraceCheckUtils]: 41: Hoare triple {2629#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} assume !false; {2629#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-14 17:29:36,038 INFO L272 TraceCheckUtils]: 42: Hoare triple {2629#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2495#true} is VALID [2022-04-14 17:29:36,038 INFO L290 TraceCheckUtils]: 43: Hoare triple {2495#true} ~cond := #in~cond; {2606#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:29:36,039 INFO L290 TraceCheckUtils]: 44: Hoare triple {2606#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2610#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:29:36,039 INFO L290 TraceCheckUtils]: 45: Hoare triple {2610#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2610#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:29:36,040 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2610#(not (= |__VERIFIER_assert_#in~cond| 0))} {2629#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} #67#return; {2629#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-14 17:29:36,040 INFO L290 TraceCheckUtils]: 47: Hoare triple {2629#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} assume !!(0 != ~y~0); {2629#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-14 17:29:36,041 INFO L290 TraceCheckUtils]: 48: Hoare triple {2629#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2)))) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2654#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ (* 2 (* (div (+ (- 1) main_~b~0) 2) main_~a~0)) main_~z~0)))} is VALID [2022-04-14 17:29:36,043 INFO L290 TraceCheckUtils]: 49: Hoare triple {2654#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ (* 2 (* (div (+ (- 1) main_~b~0) 2) main_~a~0)) main_~z~0)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2658#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ (* 2 (* (div (+ (- 1) main_~b~0) 2) main_~a~0)) main_~z~0)))} is VALID [2022-04-14 17:29:36,043 INFO L290 TraceCheckUtils]: 50: Hoare triple {2658#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ (* 2 (* (div (+ (- 1) main_~b~0) 2) main_~a~0)) main_~z~0)))} assume !false; {2658#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ (* 2 (* (div (+ (- 1) main_~b~0) 2) main_~a~0)) main_~z~0)))} is VALID [2022-04-14 17:29:36,263 INFO L272 TraceCheckUtils]: 51: Hoare triple {2658#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) main_~y~0) (= main_~x~0 (* main_~a~0 8)) (not (= (mod (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) 2) 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (= (+ (* main_~a~0 2) (* main_~b~0 main_~a~0)) (+ (* 2 (* (div (+ (- 1) main_~b~0) 2) main_~a~0)) main_~z~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2665#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:29:36,263 INFO L290 TraceCheckUtils]: 52: Hoare triple {2665#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2669#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:29:36,264 INFO L290 TraceCheckUtils]: 53: Hoare triple {2669#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2496#false} is VALID [2022-04-14 17:29:36,264 INFO L290 TraceCheckUtils]: 54: Hoare triple {2496#false} assume !false; {2496#false} is VALID [2022-04-14 17:29:36,264 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-14 17:29:36,264 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:31:56,317 INFO L290 TraceCheckUtils]: 54: Hoare triple {2496#false} assume !false; {2496#false} is VALID [2022-04-14 17:31:56,317 INFO L290 TraceCheckUtils]: 53: Hoare triple {2669#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2496#false} is VALID [2022-04-14 17:31:56,318 INFO L290 TraceCheckUtils]: 52: Hoare triple {2665#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2669#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:31:56,318 INFO L272 TraceCheckUtils]: 51: Hoare triple {2685#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2665#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:31:56,319 INFO L290 TraceCheckUtils]: 50: Hoare triple {2685#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2685#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:31:56,326 INFO L290 TraceCheckUtils]: 49: Hoare triple {2692#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2685#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:31:56,327 INFO L290 TraceCheckUtils]: 48: Hoare triple {2696#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2692#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-14 17:31:56,328 INFO L290 TraceCheckUtils]: 47: Hoare triple {2696#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {2696#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:31:56,330 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2610#(not (= |__VERIFIER_assert_#in~cond| 0))} {2703#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} #67#return; {2696#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:31:56,330 INFO L290 TraceCheckUtils]: 45: Hoare triple {2610#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2610#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:31:56,330 INFO L290 TraceCheckUtils]: 44: Hoare triple {2713#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2610#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:31:56,331 INFO L290 TraceCheckUtils]: 43: Hoare triple {2495#true} ~cond := #in~cond; {2713#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 17:31:56,331 INFO L272 TraceCheckUtils]: 42: Hoare triple {2703#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2495#true} is VALID [2022-04-14 17:31:56,331 INFO L290 TraceCheckUtils]: 41: Hoare triple {2703#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} assume !false; {2703#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-14 17:31:56,363 INFO L290 TraceCheckUtils]: 40: Hoare triple {2723#(forall ((aux_div_aux_mod_v_main_~y~0_33_22_69 Int)) (or (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_33_22_69) 4) main_~z~0 (* main_~x~0 4))) (and (or (not (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0))) (not (= (mod main_~y~0 2) 0)) (<= (+ (* 2 aux_div_aux_mod_v_main_~y~0_33_22_69) 2) (div main_~y~0 2)) (<= 0 (div main_~y~0 2)) (< (div main_~y~0 2) (* 2 aux_div_aux_mod_v_main_~y~0_33_22_69)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))) (or (< (+ (div main_~y~0 2) 1) (* 2 aux_div_aux_mod_v_main_~y~0_33_22_69)) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (<= (+ (* 2 aux_div_aux_mod_v_main_~y~0_33_22_69) 1) (div main_~y~0 2)) (not (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0)) main_~z~0))) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2703#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-14 17:31:56,365 INFO L290 TraceCheckUtils]: 39: Hoare triple {2495#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2723#(forall ((aux_div_aux_mod_v_main_~y~0_33_22_69 Int)) (or (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_33_22_69) 4) main_~z~0 (* main_~x~0 4))) (and (or (not (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0))) (not (= (mod main_~y~0 2) 0)) (<= (+ (* 2 aux_div_aux_mod_v_main_~y~0_33_22_69) 2) (div main_~y~0 2)) (<= 0 (div main_~y~0 2)) (< (div main_~y~0 2) (* 2 aux_div_aux_mod_v_main_~y~0_33_22_69)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))) (or (< (+ (div main_~y~0 2) 1) (* 2 aux_div_aux_mod_v_main_~y~0_33_22_69)) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (<= (+ (* 2 aux_div_aux_mod_v_main_~y~0_33_22_69) 1) (div main_~y~0 2)) (not (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0)) main_~z~0))) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))))))} is VALID [2022-04-14 17:31:56,365 INFO L290 TraceCheckUtils]: 38: Hoare triple {2495#true} assume !!(0 != ~y~0); {2495#true} is VALID [2022-04-14 17:31:56,365 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2495#true} {2495#true} #67#return; {2495#true} is VALID [2022-04-14 17:31:56,365 INFO L290 TraceCheckUtils]: 36: Hoare triple {2495#true} assume true; {2495#true} is VALID [2022-04-14 17:31:56,365 INFO L290 TraceCheckUtils]: 35: Hoare triple {2495#true} assume !(0 == ~cond); {2495#true} is VALID [2022-04-14 17:31:56,365 INFO L290 TraceCheckUtils]: 34: Hoare triple {2495#true} ~cond := #in~cond; {2495#true} is VALID [2022-04-14 17:31:56,365 INFO L272 TraceCheckUtils]: 33: Hoare triple {2495#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2495#true} is VALID [2022-04-14 17:31:56,365 INFO L290 TraceCheckUtils]: 32: Hoare triple {2495#true} assume !false; {2495#true} is VALID [2022-04-14 17:31:56,366 INFO L290 TraceCheckUtils]: 31: Hoare triple {2495#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2495#true} is VALID [2022-04-14 17:31:56,366 INFO L290 TraceCheckUtils]: 30: Hoare triple {2495#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2495#true} is VALID [2022-04-14 17:31:56,366 INFO L290 TraceCheckUtils]: 29: Hoare triple {2495#true} assume !!(0 != ~y~0); {2495#true} is VALID [2022-04-14 17:31:56,366 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2495#true} {2495#true} #67#return; {2495#true} is VALID [2022-04-14 17:31:56,366 INFO L290 TraceCheckUtils]: 27: Hoare triple {2495#true} assume true; {2495#true} is VALID [2022-04-14 17:31:56,366 INFO L290 TraceCheckUtils]: 26: Hoare triple {2495#true} assume !(0 == ~cond); {2495#true} is VALID [2022-04-14 17:31:56,366 INFO L290 TraceCheckUtils]: 25: Hoare triple {2495#true} ~cond := #in~cond; {2495#true} is VALID [2022-04-14 17:31:56,366 INFO L272 TraceCheckUtils]: 24: Hoare triple {2495#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2495#true} is VALID [2022-04-14 17:31:56,366 INFO L290 TraceCheckUtils]: 23: Hoare triple {2495#true} assume !false; {2495#true} is VALID [2022-04-14 17:31:56,366 INFO L290 TraceCheckUtils]: 22: Hoare triple {2495#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2495#true} is VALID [2022-04-14 17:31:56,366 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2495#true} {2495#true} #65#return; {2495#true} is VALID [2022-04-14 17:31:56,366 INFO L290 TraceCheckUtils]: 20: Hoare triple {2495#true} assume true; {2495#true} is VALID [2022-04-14 17:31:56,366 INFO L290 TraceCheckUtils]: 19: Hoare triple {2495#true} assume !(0 == ~cond); {2495#true} is VALID [2022-04-14 17:31:56,367 INFO L290 TraceCheckUtils]: 18: Hoare triple {2495#true} ~cond := #in~cond; {2495#true} is VALID [2022-04-14 17:31:56,367 INFO L272 TraceCheckUtils]: 17: Hoare triple {2495#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2495#true} is VALID [2022-04-14 17:31:56,367 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2495#true} {2495#true} #63#return; {2495#true} is VALID [2022-04-14 17:31:56,367 INFO L290 TraceCheckUtils]: 15: Hoare triple {2495#true} assume true; {2495#true} is VALID [2022-04-14 17:31:56,367 INFO L290 TraceCheckUtils]: 14: Hoare triple {2495#true} assume !(0 == ~cond); {2495#true} is VALID [2022-04-14 17:31:56,367 INFO L290 TraceCheckUtils]: 13: Hoare triple {2495#true} ~cond := #in~cond; {2495#true} is VALID [2022-04-14 17:31:56,367 INFO L272 TraceCheckUtils]: 12: Hoare triple {2495#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 50 then 1 else 0)); {2495#true} is VALID [2022-04-14 17:31:56,367 INFO L290 TraceCheckUtils]: 11: Hoare triple {2495#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2495#true} is VALID [2022-04-14 17:31:56,367 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2495#true} {2495#true} #61#return; {2495#true} is VALID [2022-04-14 17:31:56,367 INFO L290 TraceCheckUtils]: 9: Hoare triple {2495#true} assume true; {2495#true} is VALID [2022-04-14 17:31:56,367 INFO L290 TraceCheckUtils]: 8: Hoare triple {2495#true} assume !(0 == ~cond); {2495#true} is VALID [2022-04-14 17:31:56,367 INFO L290 TraceCheckUtils]: 7: Hoare triple {2495#true} ~cond := #in~cond; {2495#true} is VALID [2022-04-14 17:31:56,368 INFO L272 TraceCheckUtils]: 6: Hoare triple {2495#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 50 then 1 else 0)); {2495#true} is VALID [2022-04-14 17:31:56,368 INFO L290 TraceCheckUtils]: 5: Hoare triple {2495#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2495#true} is VALID [2022-04-14 17:31:56,368 INFO L272 TraceCheckUtils]: 4: Hoare triple {2495#true} call #t~ret6 := main(); {2495#true} is VALID [2022-04-14 17:31:56,368 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2495#true} {2495#true} #71#return; {2495#true} is VALID [2022-04-14 17:31:56,368 INFO L290 TraceCheckUtils]: 2: Hoare triple {2495#true} assume true; {2495#true} is VALID [2022-04-14 17:31:56,368 INFO L290 TraceCheckUtils]: 1: Hoare triple {2495#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(13, 2);call #Ultimate.allocInit(12, 3); {2495#true} is VALID [2022-04-14 17:31:56,368 INFO L272 TraceCheckUtils]: 0: Hoare triple {2495#true} call ULTIMATE.init(); {2495#true} is VALID [2022-04-14 17:31:56,368 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 25 proven. 4 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-14 17:31:56,368 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:31:56,368 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [803541854] [2022-04-14 17:31:56,369 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:31:56,369 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [906836623] [2022-04-14 17:31:56,369 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [906836623] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:31:56,369 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:31:56,369 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 11] total 22 [2022-04-14 17:31:56,369 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [505305734] [2022-04-14 17:31:56,369 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:31:56,370 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 2.0) internal successors, (44), 20 states have internal predecessors, (44), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) Word has length 55 [2022-04-14 17:31:56,370 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:31:56,370 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 2.0) internal successors, (44), 20 states have internal predecessors, (44), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-14 17:31:57,114 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:31:57,114 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-14 17:31:57,114 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:31:57,114 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-14 17:31:57,114 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=82, Invalid=379, Unknown=1, NotChecked=0, Total=462 [2022-04-14 17:31:57,115 INFO L87 Difference]: Start difference. First operand 70 states and 80 transitions. Second operand has 22 states, 22 states have (on average 2.0) internal successors, (44), 20 states have internal predecessors, (44), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-14 17:32:10,515 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:32:21,238 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.68s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:32:41,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:32:41,793 INFO L93 Difference]: Finished difference Result 94 states and 110 transitions. [2022-04-14 17:32:41,793 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-14 17:32:41,794 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 2.0) internal successors, (44), 20 states have internal predecessors, (44), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) Word has length 55 [2022-04-14 17:32:41,794 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:32:41,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 2.0) internal successors, (44), 20 states have internal predecessors, (44), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-14 17:32:41,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 75 transitions. [2022-04-14 17:32:41,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 2.0) internal successors, (44), 20 states have internal predecessors, (44), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-14 17:32:41,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 75 transitions. [2022-04-14 17:32:41,805 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 75 transitions. [2022-04-14 17:32:45,578 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 74 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 17:32:45,579 INFO L225 Difference]: With dead ends: 94 [2022-04-14 17:32:45,579 INFO L226 Difference]: Without dead ends: 92 [2022-04-14 17:32:45,580 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 89 SyntacticMatches, 3 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 203 ImplicationChecksByTransitivity, 14.9s TimeCoverageRelationStatistics Valid=177, Invalid=876, Unknown=3, NotChecked=0, Total=1056 [2022-04-14 17:32:45,580 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 42 mSDsluCounter, 217 mSDsCounter, 0 mSdLazyCounter, 441 mSolverCounterSat, 29 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 13.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 244 SdHoareTripleChecker+Invalid, 499 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 441 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 28 IncrementalHoareTripleChecker+Unchecked, 13.7s IncrementalHoareTripleChecker+Time [2022-04-14 17:32:45,580 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [44 Valid, 244 Invalid, 499 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 441 Invalid, 1 Unknown, 28 Unchecked, 13.7s Time] [2022-04-14 17:32:45,581 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-14 17:32:45,603 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 75. [2022-04-14 17:32:45,603 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:32:45,604 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 75 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 56 states have internal predecessors, (60), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-14 17:32:45,604 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 75 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 56 states have internal predecessors, (60), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-14 17:32:45,604 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 75 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 56 states have internal predecessors, (60), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-14 17:32:45,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:32:45,606 INFO L93 Difference]: Finished difference Result 92 states and 108 transitions. [2022-04-14 17:32:45,606 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 108 transitions. [2022-04-14 17:32:45,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:32:45,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:32:45,607 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 56 states have internal predecessors, (60), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) Second operand 92 states. [2022-04-14 17:32:45,607 INFO L87 Difference]: Start difference. First operand has 75 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 56 states have internal predecessors, (60), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) Second operand 92 states. [2022-04-14 17:32:45,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:32:45,609 INFO L93 Difference]: Finished difference Result 92 states and 108 transitions. [2022-04-14 17:32:45,609 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 108 transitions. [2022-04-14 17:32:45,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:32:45,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:32:45,609 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:32:45,609 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:32:45,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 56 states have internal predecessors, (60), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-14 17:32:45,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 87 transitions. [2022-04-14 17:32:45,611 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 87 transitions. Word has length 55 [2022-04-14 17:32:45,611 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:32:45,611 INFO L478 AbstractCegarLoop]: Abstraction has 75 states and 87 transitions. [2022-04-14 17:32:45,611 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 2.0) internal successors, (44), 20 states have internal predecessors, (44), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (9), 5 states have call predecessors, (9), 5 states have call successors, (9) [2022-04-14 17:32:45,611 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 87 transitions. [2022-04-14 17:32:45,612 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-14 17:32:45,612 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:32:45,612 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:32:45,628 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-14 17:32:45,827 WARN L460 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-04-14 17:32:45,827 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:32:45,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:32:45,828 INFO L85 PathProgramCache]: Analyzing trace with hash -699618950, now seen corresponding path program 2 times [2022-04-14 17:32:45,828 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:32:45,828 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1601433942] [2022-04-14 17:32:45,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:32:45,828 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:32:45,838 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:32:45,838 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [321661667] [2022-04-14 17:32:45,839 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 17:32:45,839 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:32:45,839 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:32:45,839 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-04-14 17:32:45,840 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-04-14 17:32:45,883 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 17:32:45,883 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 17:32:45,884 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 54 conjunts are in the unsatisfiable core [2022-04-14 17:32:45,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:32:45,925 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:38:23,644 WARN L232 SmtUtils]: Spent 5.48s on a formula simplification. DAG size of input: 8 DAG size of output: 1 (called from [L1074] de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.simplify)