/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_unwindbound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-07 15:11:51,631 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 15:11:51,633 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 15:11:51,675 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 15:11:51,675 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 15:11:51,676 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 15:11:51,679 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 15:11:51,681 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 15:11:51,682 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 15:11:51,686 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 15:11:51,687 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 15:11:51,688 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 15:11:51,688 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 15:11:51,690 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 15:11:51,691 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 15:11:51,693 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 15:11:51,694 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 15:11:51,695 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 15:11:51,696 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 15:11:51,701 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 15:11:51,702 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 15:11:51,703 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 15:11:51,704 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 15:11:51,705 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 15:11:51,706 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 15:11:51,712 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 15:11:51,712 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 15:11:51,712 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 15:11:51,713 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 15:11:51,713 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 15:11:51,714 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 15:11:51,714 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 15:11:51,716 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 15:11:51,716 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 15:11:51,717 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 15:11:51,718 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 15:11:51,718 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 15:11:51,718 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 15:11:51,719 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 15:11:51,719 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 15:11:51,719 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 15:11:51,721 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 15:11:51,721 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-07 15:11:51,748 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 15:11:51,749 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 15:11:51,749 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-07 15:11:51,749 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-07 15:11:51,750 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-07 15:11:51,750 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-07 15:11:51,751 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-07 15:11:51,751 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-07 15:11:51,751 INFO L138 SettingsManager]: * Use SBE=true [2022-04-07 15:11:51,752 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 15:11:51,752 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 15:11:51,752 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 15:11:51,752 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 15:11:51,752 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 15:11:51,752 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 15:11:51,752 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 15:11:51,753 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 15:11:51,753 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 15:11:51,753 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 15:11:51,753 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 15:11:51,753 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 15:11:51,753 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 15:11:51,753 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 15:11:51,754 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 15:11:51,754 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 15:11:51,754 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 15:11:51,754 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-07 15:11:51,754 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-07 15:11:51,754 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 15:11:51,755 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-07 15:11:51,755 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-07 15:11:51,755 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-07 15:11:51,755 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-07 15:11:51,755 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-07 15:11:51,944 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 15:11:51,968 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 15:11:51,970 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 15:11:51,971 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 15:11:51,972 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 15:11:51,973 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound100.c [2022-04-07 15:11:52,031 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cde310ac/638a6875f5b64e4492b9a7c40ae47162/FLAG60ebeda2f [2022-04-07 15:11:52,363 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 15:11:52,363 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound100.c [2022-04-07 15:11:52,384 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cde310ac/638a6875f5b64e4492b9a7c40ae47162/FLAG60ebeda2f [2022-04-07 15:11:52,795 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8cde310ac/638a6875f5b64e4492b9a7c40ae47162 [2022-04-07 15:11:52,797 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 15:11:52,798 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-07 15:11:52,798 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 15:11:52,799 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 15:11:52,801 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 15:11:52,802 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 03:11:52" (1/1) ... [2022-04-07 15:11:52,804 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6c91c465 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:11:52, skipping insertion in model container [2022-04-07 15:11:52,804 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 03:11:52" (1/1) ... [2022-04-07 15:11:52,808 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 15:11:52,818 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 15:11:52,922 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_unwindbound100.c[537,550] [2022-04-07 15:11:52,964 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 15:11:52,970 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 15:11:52,979 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_unwindbound100.c[537,550] [2022-04-07 15:11:52,986 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 15:11:52,995 INFO L208 MainTranslator]: Completed translation [2022-04-07 15:11:52,995 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:11:52 WrapperNode [2022-04-07 15:11:52,995 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 15:11:52,996 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 15:11:52,996 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 15:11:52,996 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 15:11:53,003 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:11:52" (1/1) ... [2022-04-07 15:11:53,003 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:11:52" (1/1) ... [2022-04-07 15:11:53,007 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:11:52" (1/1) ... [2022-04-07 15:11:53,007 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:11:52" (1/1) ... [2022-04-07 15:11:53,012 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:11:52" (1/1) ... [2022-04-07 15:11:53,015 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:11:52" (1/1) ... [2022-04-07 15:11:53,016 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:11:52" (1/1) ... [2022-04-07 15:11:53,017 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 15:11:53,018 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 15:11:53,018 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 15:11:53,018 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 15:11:53,019 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:11:52" (1/1) ... [2022-04-07 15:11:53,030 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 15:11:53,037 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:11:53,046 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-07 15:11:53,055 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-07 15:11:53,083 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 15:11:53,083 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 15:11:53,086 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 15:11:53,087 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 15:11:53,087 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 15:11:53,087 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 15:11:53,087 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 15:11:53,087 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 15:11:53,087 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 15:11:53,087 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 15:11:53,088 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-07 15:11:53,088 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 15:11:53,088 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 15:11:53,088 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 15:11:53,088 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 15:11:53,088 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 15:11:53,088 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 15:11:53,088 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 15:11:53,089 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 15:11:53,089 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 15:11:53,137 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 15:11:53,138 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 15:11:53,304 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 15:11:53,310 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 15:11:53,310 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-07 15:11:53,312 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 03:11:53 BoogieIcfgContainer [2022-04-07 15:11:53,312 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 15:11:53,316 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 15:11:53,316 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 15:11:53,320 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 15:11:53,321 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 03:11:52" (1/3) ... [2022-04-07 15:11:53,321 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@63d3cb18 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 03:11:53, skipping insertion in model container [2022-04-07 15:11:53,321 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:11:52" (2/3) ... [2022-04-07 15:11:53,322 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@63d3cb18 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 03:11:53, skipping insertion in model container [2022-04-07 15:11:53,322 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 03:11:53" (3/3) ... [2022-04-07 15:11:53,323 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_unwindbound100.c [2022-04-07 15:11:53,326 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-07 15:11:53,326 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 15:11:53,359 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 15:11:53,365 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-07 15:11:53,365 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 15:11:53,382 INFO L276 IsEmpty]: Start isEmpty. Operand has 30 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-07 15:11:53,386 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-07 15:11:53,386 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:11:53,387 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:11:53,387 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:11:53,392 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:11:53,392 INFO L85 PathProgramCache]: Analyzing trace with hash -1523633710, now seen corresponding path program 1 times [2022-04-07 15:11:53,400 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:11:53,400 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1840329544] [2022-04-07 15:11:53,400 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:53,401 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:11:53,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:53,625 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 15:11:53,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:53,661 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {33#true} is VALID [2022-04-07 15:11:53,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-07 15:11:53,661 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2022-04-07 15:11:53,662 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 15:11:53,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:53,677 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-07 15:11:53,678 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-07 15:11:53,679 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-07 15:11:53,679 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-07 15:11:53,681 INFO L272 TraceCheckUtils]: 0: Hoare triple {33#true} call ULTIMATE.init(); {42#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 15:11:53,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {33#true} is VALID [2022-04-07 15:11:53,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-07 15:11:53,683 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2022-04-07 15:11:53,683 INFO L272 TraceCheckUtils]: 4: Hoare triple {33#true} call #t~ret7 := main(); {33#true} is VALID [2022-04-07 15:11:53,684 INFO L290 TraceCheckUtils]: 5: Hoare triple {33#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {33#true} is VALID [2022-04-07 15:11:53,684 INFO L272 TraceCheckUtils]: 6: Hoare triple {33#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {33#true} is VALID [2022-04-07 15:11:53,684 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-07 15:11:53,685 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-07 15:11:53,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-07 15:11:53,685 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-07 15:11:53,685 INFO L290 TraceCheckUtils]: 11: Hoare triple {34#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {34#false} is VALID [2022-04-07 15:11:53,686 INFO L290 TraceCheckUtils]: 12: Hoare triple {34#false} assume !true; {34#false} is VALID [2022-04-07 15:11:53,686 INFO L272 TraceCheckUtils]: 13: Hoare triple {34#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {34#false} is VALID [2022-04-07 15:11:53,686 INFO L290 TraceCheckUtils]: 14: Hoare triple {34#false} ~cond := #in~cond; {34#false} is VALID [2022-04-07 15:11:53,686 INFO L290 TraceCheckUtils]: 15: Hoare triple {34#false} assume 0 == ~cond; {34#false} is VALID [2022-04-07 15:11:53,687 INFO L290 TraceCheckUtils]: 16: Hoare triple {34#false} assume !false; {34#false} is VALID [2022-04-07 15:11:53,687 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:11:53,688 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:11:53,688 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1840329544] [2022-04-07 15:11:53,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1840329544] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 15:11:53,689 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 15:11:53,689 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-07 15:11:53,690 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1459592353] [2022-04-07 15:11:53,691 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 15:11:53,696 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-07 15:11:53,697 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:11:53,700 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:11:53,732 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:53,733 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-07 15:11:53,733 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:11:53,754 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-07 15:11:53,755 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 15:11:53,758 INFO L87 Difference]: Start difference. First operand has 30 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:11:53,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:53,885 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-07 15:11:53,886 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-07 15:11:53,886 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-07 15:11:53,886 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:11:53,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:11:53,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2022-04-07 15:11:53,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:11:53,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2022-04-07 15:11:53,906 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 66 transitions. [2022-04-07 15:11:53,970 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:53,977 INFO L225 Difference]: With dead ends: 52 [2022-04-07 15:11:53,977 INFO L226 Difference]: Without dead ends: 26 [2022-04-07 15:11:53,980 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 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-07 15:11:53,983 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 35 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:11:53,983 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 35 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 15:11:53,994 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-04-07 15:11:54,004 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 25. [2022-04-07 15:11:54,005 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:11:54,005 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:11:54,006 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:11:54,006 INFO L87 Difference]: Start difference. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:11:54,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:54,010 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-07 15:11:54,010 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-07 15:11:54,010 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:54,010 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:54,011 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 26 states. [2022-04-07 15:11:54,011 INFO L87 Difference]: Start difference. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 26 states. [2022-04-07 15:11:54,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:54,014 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-07 15:11:54,014 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-07 15:11:54,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:54,017 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:54,017 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:11:54,017 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:11:54,017 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:11:54,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 28 transitions. [2022-04-07 15:11:54,020 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 28 transitions. Word has length 17 [2022-04-07 15:11:54,020 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:11:54,020 INFO L478 AbstractCegarLoop]: Abstraction has 25 states and 28 transitions. [2022-04-07 15:11:54,021 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:11:54,021 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2022-04-07 15:11:54,021 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-07 15:11:54,021 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:11:54,022 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:11:54,022 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-07 15:11:54,022 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:11:54,023 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:11:54,023 INFO L85 PathProgramCache]: Analyzing trace with hash -991958694, now seen corresponding path program 1 times [2022-04-07 15:11:54,023 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:11:54,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2037355527] [2022-04-07 15:11:54,023 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:54,023 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:11:54,045 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:11:54,046 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [98089738] [2022-04-07 15:11:54,046 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:54,046 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:11:54,046 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:11:54,050 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-07 15:11:54,051 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-07 15:11:54,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:54,109 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-07 15:11:54,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:54,129 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:11:54,289 INFO L272 TraceCheckUtils]: 0: Hoare triple {199#true} call ULTIMATE.init(); {199#true} is VALID [2022-04-07 15:11:54,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {199#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);~counter~0 := 0; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:54,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {207#(<= ~counter~0 0)} assume true; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:54,292 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {207#(<= ~counter~0 0)} {199#true} #65#return; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:54,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {207#(<= ~counter~0 0)} call #t~ret7 := main(); {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:54,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {207#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:54,294 INFO L272 TraceCheckUtils]: 6: Hoare triple {207#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:54,294 INFO L290 TraceCheckUtils]: 7: Hoare triple {207#(<= ~counter~0 0)} ~cond := #in~cond; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:54,295 INFO L290 TraceCheckUtils]: 8: Hoare triple {207#(<= ~counter~0 0)} assume !(0 == ~cond); {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:54,295 INFO L290 TraceCheckUtils]: 9: Hoare triple {207#(<= ~counter~0 0)} assume true; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:54,296 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {207#(<= ~counter~0 0)} {207#(<= ~counter~0 0)} #59#return; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:54,296 INFO L290 TraceCheckUtils]: 11: Hoare triple {207#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:54,297 INFO L290 TraceCheckUtils]: 12: Hoare triple {207#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {241#(<= |main_#t~post6| 0)} is VALID [2022-04-07 15:11:54,298 INFO L290 TraceCheckUtils]: 13: Hoare triple {241#(<= |main_#t~post6| 0)} assume !(#t~post6 < 100);havoc #t~post6; {200#false} is VALID [2022-04-07 15:11:54,298 INFO L272 TraceCheckUtils]: 14: Hoare triple {200#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {200#false} is VALID [2022-04-07 15:11:54,298 INFO L290 TraceCheckUtils]: 15: Hoare triple {200#false} ~cond := #in~cond; {200#false} is VALID [2022-04-07 15:11:54,299 INFO L290 TraceCheckUtils]: 16: Hoare triple {200#false} assume 0 == ~cond; {200#false} is VALID [2022-04-07 15:11:54,299 INFO L290 TraceCheckUtils]: 17: Hoare triple {200#false} assume !false; {200#false} is VALID [2022-04-07 15:11:54,299 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:11:54,299 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 15:11:54,299 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:11:54,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2037355527] [2022-04-07 15:11:54,300 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:11:54,300 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [98089738] [2022-04-07 15:11:54,304 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [98089738] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 15:11:54,304 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 15:11:54,304 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-07 15:11:54,305 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [394494493] [2022-04-07 15:11:54,306 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 15:11:54,309 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-07 15:11:54,309 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:11:54,310 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:11:54,326 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:54,326 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-07 15:11:54,326 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:11:54,327 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-07 15:11:54,327 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 15:11:54,327 INFO L87 Difference]: Start difference. First operand 25 states and 28 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:11:54,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:54,393 INFO L93 Difference]: Finished difference Result 34 states and 37 transitions. [2022-04-07 15:11:54,393 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-07 15:11:54,394 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-07 15:11:54,394 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:11:54,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:11:54,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-04-07 15:11:54,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:11:54,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-04-07 15:11:54,403 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 37 transitions. [2022-04-07 15:11:54,432 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:54,434 INFO L225 Difference]: With dead ends: 34 [2022-04-07 15:11:54,434 INFO L226 Difference]: Without dead ends: 27 [2022-04-07 15:11:54,434 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 15:11:54,435 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 0 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:11:54,436 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 66 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 15:11:54,437 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-07 15:11:54,442 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-07 15:11:54,443 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:11:54,443 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:11:54,443 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:11:54,443 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:11:54,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:54,445 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-07 15:11:54,445 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 15:11:54,446 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:54,446 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:54,446 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 27 states. [2022-04-07 15:11:54,447 INFO L87 Difference]: Start difference. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 27 states. [2022-04-07 15:11:54,448 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:54,448 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-07 15:11:54,449 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 15:11:54,449 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:54,449 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:54,449 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:11:54,449 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:11:54,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:11:54,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-07 15:11:54,451 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 18 [2022-04-07 15:11:54,451 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:11:54,451 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-07 15:11:54,451 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:11:54,452 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 15:11:54,452 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-07 15:11:54,452 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:11:54,452 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:11:54,477 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-07 15:11:54,667 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-07 15:11:54,668 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:11:54,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:11:54,668 INFO L85 PathProgramCache]: Analyzing trace with hash -990171234, now seen corresponding path program 1 times [2022-04-07 15:11:54,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:11:54,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [764166132] [2022-04-07 15:11:54,669 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:54,669 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:11:54,683 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:11:54,684 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [647102019] [2022-04-07 15:11:54,684 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:54,684 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:11:54,684 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:11:54,696 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-07 15:11:54,701 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-07 15:11:54,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:54,739 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 15:11:54,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:54,749 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:11:54,908 INFO L272 TraceCheckUtils]: 0: Hoare triple {395#true} call ULTIMATE.init(); {395#true} is VALID [2022-04-07 15:11:54,908 INFO L290 TraceCheckUtils]: 1: Hoare triple {395#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);~counter~0 := 0; {395#true} is VALID [2022-04-07 15:11:54,908 INFO L290 TraceCheckUtils]: 2: Hoare triple {395#true} assume true; {395#true} is VALID [2022-04-07 15:11:54,909 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {395#true} {395#true} #65#return; {395#true} is VALID [2022-04-07 15:11:54,909 INFO L272 TraceCheckUtils]: 4: Hoare triple {395#true} call #t~ret7 := main(); {395#true} is VALID [2022-04-07 15:11:54,909 INFO L290 TraceCheckUtils]: 5: Hoare triple {395#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {395#true} is VALID [2022-04-07 15:11:54,909 INFO L272 TraceCheckUtils]: 6: Hoare triple {395#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {395#true} is VALID [2022-04-07 15:11:54,909 INFO L290 TraceCheckUtils]: 7: Hoare triple {395#true} ~cond := #in~cond; {395#true} is VALID [2022-04-07 15:11:54,909 INFO L290 TraceCheckUtils]: 8: Hoare triple {395#true} assume !(0 == ~cond); {395#true} is VALID [2022-04-07 15:11:54,910 INFO L290 TraceCheckUtils]: 9: Hoare triple {395#true} assume true; {395#true} is VALID [2022-04-07 15:11:54,921 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {395#true} {395#true} #59#return; {395#true} is VALID [2022-04-07 15:11:54,924 INFO L290 TraceCheckUtils]: 11: Hoare triple {395#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:11:54,925 INFO L290 TraceCheckUtils]: 12: Hoare triple {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:11:54,927 INFO L290 TraceCheckUtils]: 13: Hoare triple {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:11:54,928 INFO L272 TraceCheckUtils]: 14: Hoare triple {433#(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)); {443#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:11:54,929 INFO L290 TraceCheckUtils]: 15: Hoare triple {443#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {447#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:11:54,931 INFO L290 TraceCheckUtils]: 16: Hoare triple {447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {396#false} is VALID [2022-04-07 15:11:54,931 INFO L290 TraceCheckUtils]: 17: Hoare triple {396#false} assume !false; {396#false} is VALID [2022-04-07 15:11:54,931 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:11:54,931 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 15:11:54,932 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:11:54,932 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [764166132] [2022-04-07 15:11:54,933 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:11:54,933 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [647102019] [2022-04-07 15:11:54,933 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [647102019] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 15:11:54,933 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 15:11:54,933 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 15:11:54,933 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [412289594] [2022-04-07 15:11:54,933 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 15:11:54,934 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-07 15:11:54,934 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:11:54,934 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:11:54,951 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:54,952 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 15:11:54,952 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:11:54,952 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 15:11:54,952 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-07 15:11:54,953 INFO L87 Difference]: Start difference. First operand 27 states and 30 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:11:55,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:55,102 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-07 15:11:55,102 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 15:11:55,103 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-07 15:11:55,103 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:11:55,103 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:11:55,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-07 15:11:55,106 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:11:55,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-07 15:11:55,108 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2022-04-07 15:11:55,149 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:55,154 INFO L225 Difference]: With dead ends: 38 [2022-04-07 15:11:55,154 INFO L226 Difference]: Without dead ends: 36 [2022-04-07 15:11:55,155 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 14 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-07 15:11:55,156 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 8 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:11:55,157 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 75 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 15:11:55,159 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-07 15:11:55,171 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 32. [2022-04-07 15:11:55,172 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:11:55,172 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:11:55,172 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:11:55,174 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:11:55,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:55,180 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-07 15:11:55,181 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-07 15:11:55,181 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:55,181 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:55,182 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 36 states. [2022-04-07 15:11:55,182 INFO L87 Difference]: Start difference. First operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 36 states. [2022-04-07 15:11:55,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:55,186 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-07 15:11:55,186 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-07 15:11:55,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:55,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:55,192 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:11:55,192 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:11:55,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:11:55,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 35 transitions. [2022-04-07 15:11:55,197 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 35 transitions. Word has length 18 [2022-04-07 15:11:55,197 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:11:55,197 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 35 transitions. [2022-04-07 15:11:55,197 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:11:55,197 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 35 transitions. [2022-04-07 15:11:55,198 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-07 15:11:55,198 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:11:55,198 INFO L499 BasicCegarLoop]: trace histogram [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-07 15:11:55,224 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-07 15:11:55,407 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-07 15:11:55,408 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:11:55,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:11:55,408 INFO L85 PathProgramCache]: Analyzing trace with hash 1094479982, now seen corresponding path program 1 times [2022-04-07 15:11:55,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:11:55,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [794251809] [2022-04-07 15:11:55,409 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:55,409 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:11:55,427 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:11:55,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [413569529] [2022-04-07 15:11:55,428 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:55,428 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:11:55,428 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:11:55,429 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-07 15:11:55,463 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-07 15:11:55,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:55,477 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 15:11:55,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:55,485 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:11:55,579 INFO L272 TraceCheckUtils]: 0: Hoare triple {624#true} call ULTIMATE.init(); {624#true} is VALID [2022-04-07 15:11:55,579 INFO L290 TraceCheckUtils]: 1: Hoare triple {624#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);~counter~0 := 0; {624#true} is VALID [2022-04-07 15:11:55,579 INFO L290 TraceCheckUtils]: 2: Hoare triple {624#true} assume true; {624#true} is VALID [2022-04-07 15:11:55,579 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {624#true} {624#true} #65#return; {624#true} is VALID [2022-04-07 15:11:55,579 INFO L272 TraceCheckUtils]: 4: Hoare triple {624#true} call #t~ret7 := main(); {624#true} is VALID [2022-04-07 15:11:55,580 INFO L290 TraceCheckUtils]: 5: Hoare triple {624#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {624#true} is VALID [2022-04-07 15:11:55,580 INFO L272 TraceCheckUtils]: 6: Hoare triple {624#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {624#true} is VALID [2022-04-07 15:11:55,580 INFO L290 TraceCheckUtils]: 7: Hoare triple {624#true} ~cond := #in~cond; {650#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 15:11:55,581 INFO L290 TraceCheckUtils]: 8: Hoare triple {650#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {654#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:11:55,581 INFO L290 TraceCheckUtils]: 9: Hoare triple {654#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {654#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:11:55,582 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {654#(not (= |assume_abort_if_not_#in~cond| 0))} {624#true} #59#return; {661#(<= 1 main_~b~0)} is VALID [2022-04-07 15:11:55,582 INFO L290 TraceCheckUtils]: 11: Hoare triple {661#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {665#(<= 1 main_~y~0)} is VALID [2022-04-07 15:11:55,583 INFO L290 TraceCheckUtils]: 12: Hoare triple {665#(<= 1 main_~y~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {665#(<= 1 main_~y~0)} is VALID [2022-04-07 15:11:55,583 INFO L290 TraceCheckUtils]: 13: Hoare triple {665#(<= 1 main_~y~0)} assume !!(#t~post6 < 100);havoc #t~post6; {665#(<= 1 main_~y~0)} is VALID [2022-04-07 15:11:55,583 INFO L272 TraceCheckUtils]: 14: Hoare triple {665#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {624#true} is VALID [2022-04-07 15:11:55,583 INFO L290 TraceCheckUtils]: 15: Hoare triple {624#true} ~cond := #in~cond; {624#true} is VALID [2022-04-07 15:11:55,583 INFO L290 TraceCheckUtils]: 16: Hoare triple {624#true} assume !(0 == ~cond); {624#true} is VALID [2022-04-07 15:11:55,584 INFO L290 TraceCheckUtils]: 17: Hoare triple {624#true} assume true; {624#true} is VALID [2022-04-07 15:11:55,584 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {624#true} {665#(<= 1 main_~y~0)} #61#return; {665#(<= 1 main_~y~0)} is VALID [2022-04-07 15:11:55,585 INFO L290 TraceCheckUtils]: 19: Hoare triple {665#(<= 1 main_~y~0)} assume !(0 != ~y~0); {625#false} is VALID [2022-04-07 15:11:55,585 INFO L272 TraceCheckUtils]: 20: Hoare triple {625#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {625#false} is VALID [2022-04-07 15:11:55,585 INFO L290 TraceCheckUtils]: 21: Hoare triple {625#false} ~cond := #in~cond; {625#false} is VALID [2022-04-07 15:11:55,585 INFO L290 TraceCheckUtils]: 22: Hoare triple {625#false} assume 0 == ~cond; {625#false} is VALID [2022-04-07 15:11:55,585 INFO L290 TraceCheckUtils]: 23: Hoare triple {625#false} assume !false; {625#false} is VALID [2022-04-07 15:11:55,586 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:11:55,586 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 15:11:55,586 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:11:55,586 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [794251809] [2022-04-07 15:11:55,586 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:11:55,586 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [413569529] [2022-04-07 15:11:55,586 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [413569529] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 15:11:55,587 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 15:11:55,587 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-07 15:11:55,587 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2003212586] [2022-04-07 15:11:55,587 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 15:11:55,587 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-04-07 15:11:55,588 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:11:55,588 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 15:11:55,606 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:55,606 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 15:11:55,606 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:11:55,607 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 15:11:55,607 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-07 15:11:55,607 INFO L87 Difference]: Start difference. First operand 32 states and 35 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 15:11:55,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:55,745 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-07 15:11:55,745 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 15:11:55,745 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-04-07 15:11:55,745 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:11:55,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 15:11:55,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 43 transitions. [2022-04-07 15:11:55,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 15:11:55,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 43 transitions. [2022-04-07 15:11:55,749 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 43 transitions. [2022-04-07 15:11:55,794 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:55,795 INFO L225 Difference]: With dead ends: 42 [2022-04-07 15:11:55,795 INFO L226 Difference]: Without dead ends: 35 [2022-04-07 15:11:55,795 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 19 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-07 15:11:55,796 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 17 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:11:55,796 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 85 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 15:11:55,797 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-07 15:11:55,807 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 33. [2022-04-07 15:11:55,807 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:11:55,807 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:11:55,808 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:11:55,809 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:11:55,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:55,810 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-07 15:11:55,810 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-07 15:11:55,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:55,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:55,811 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 35 states. [2022-04-07 15:11:55,811 INFO L87 Difference]: Start difference. First operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 35 states. [2022-04-07 15:11:55,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:55,815 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-07 15:11:55,815 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-07 15:11:55,815 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:55,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:55,815 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:11:55,815 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:11:55,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:11:55,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2022-04-07 15:11:55,818 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 24 [2022-04-07 15:11:55,818 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:11:55,818 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2022-04-07 15:11:55,818 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 15:11:55,818 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-07 15:11:55,820 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-07 15:11:55,820 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:11:55,820 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:11:55,843 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-07 15:11:56,027 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-07 15:11:56,027 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:11:56,028 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:11:56,028 INFO L85 PathProgramCache]: Analyzing trace with hash 584619061, now seen corresponding path program 1 times [2022-04-07 15:11:56,028 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:11:56,028 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1644086317] [2022-04-07 15:11:56,028 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:56,028 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:11:56,043 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:11:56,043 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1956353703] [2022-04-07 15:11:56,043 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:56,043 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:11:56,044 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:11:56,044 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-07 15:11:56,051 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-07 15:11:56,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:56,091 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 15:11:56,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:56,099 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:11:56,248 INFO L272 TraceCheckUtils]: 0: Hoare triple {878#true} call ULTIMATE.init(); {878#true} is VALID [2022-04-07 15:11:56,248 INFO L290 TraceCheckUtils]: 1: Hoare triple {878#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);~counter~0 := 0; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:56,249 INFO L290 TraceCheckUtils]: 2: Hoare triple {886#(<= ~counter~0 0)} assume true; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:56,249 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {886#(<= ~counter~0 0)} {878#true} #65#return; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:56,250 INFO L272 TraceCheckUtils]: 4: Hoare triple {886#(<= ~counter~0 0)} call #t~ret7 := main(); {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:56,250 INFO L290 TraceCheckUtils]: 5: Hoare triple {886#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:56,251 INFO L272 TraceCheckUtils]: 6: Hoare triple {886#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:56,251 INFO L290 TraceCheckUtils]: 7: Hoare triple {886#(<= ~counter~0 0)} ~cond := #in~cond; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:56,252 INFO L290 TraceCheckUtils]: 8: Hoare triple {886#(<= ~counter~0 0)} assume !(0 == ~cond); {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:56,252 INFO L290 TraceCheckUtils]: 9: Hoare triple {886#(<= ~counter~0 0)} assume true; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:56,253 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {886#(<= ~counter~0 0)} {886#(<= ~counter~0 0)} #59#return; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:56,253 INFO L290 TraceCheckUtils]: 11: Hoare triple {886#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:11:56,254 INFO L290 TraceCheckUtils]: 12: Hoare triple {886#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:56,254 INFO L290 TraceCheckUtils]: 13: Hoare triple {920#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:56,255 INFO L272 TraceCheckUtils]: 14: Hoare triple {920#(<= ~counter~0 1)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:56,256 INFO L290 TraceCheckUtils]: 15: Hoare triple {920#(<= ~counter~0 1)} ~cond := #in~cond; {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:56,256 INFO L290 TraceCheckUtils]: 16: Hoare triple {920#(<= ~counter~0 1)} assume !(0 == ~cond); {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:56,256 INFO L290 TraceCheckUtils]: 17: Hoare triple {920#(<= ~counter~0 1)} assume true; {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:56,259 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {920#(<= ~counter~0 1)} {920#(<= ~counter~0 1)} #61#return; {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:56,260 INFO L290 TraceCheckUtils]: 19: Hoare triple {920#(<= ~counter~0 1)} assume !!(0 != ~y~0); {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:56,260 INFO L290 TraceCheckUtils]: 20: Hoare triple {920#(<= ~counter~0 1)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:56,260 INFO L290 TraceCheckUtils]: 21: Hoare triple {920#(<= ~counter~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); {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:11:56,261 INFO L290 TraceCheckUtils]: 22: Hoare triple {920#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {951#(<= |main_#t~post6| 1)} is VALID [2022-04-07 15:11:56,261 INFO L290 TraceCheckUtils]: 23: Hoare triple {951#(<= |main_#t~post6| 1)} assume !(#t~post6 < 100);havoc #t~post6; {879#false} is VALID [2022-04-07 15:11:56,261 INFO L272 TraceCheckUtils]: 24: Hoare triple {879#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {879#false} is VALID [2022-04-07 15:11:56,262 INFO L290 TraceCheckUtils]: 25: Hoare triple {879#false} ~cond := #in~cond; {879#false} is VALID [2022-04-07 15:11:56,262 INFO L290 TraceCheckUtils]: 26: Hoare triple {879#false} assume 0 == ~cond; {879#false} is VALID [2022-04-07 15:11:56,262 INFO L290 TraceCheckUtils]: 27: Hoare triple {879#false} assume !false; {879#false} is VALID [2022-04-07 15:11:56,262 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:11:56,262 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:11:56,455 INFO L290 TraceCheckUtils]: 27: Hoare triple {879#false} assume !false; {879#false} is VALID [2022-04-07 15:11:56,455 INFO L290 TraceCheckUtils]: 26: Hoare triple {879#false} assume 0 == ~cond; {879#false} is VALID [2022-04-07 15:11:56,455 INFO L290 TraceCheckUtils]: 25: Hoare triple {879#false} ~cond := #in~cond; {879#false} is VALID [2022-04-07 15:11:56,455 INFO L272 TraceCheckUtils]: 24: Hoare triple {879#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {879#false} is VALID [2022-04-07 15:11:56,456 INFO L290 TraceCheckUtils]: 23: Hoare triple {979#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {879#false} is VALID [2022-04-07 15:11:56,456 INFO L290 TraceCheckUtils]: 22: Hoare triple {983#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {979#(< |main_#t~post6| 100)} is VALID [2022-04-07 15:11:56,457 INFO L290 TraceCheckUtils]: 21: Hoare triple {983#(< ~counter~0 100)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {983#(< ~counter~0 100)} is VALID [2022-04-07 15:11:56,457 INFO L290 TraceCheckUtils]: 20: Hoare triple {983#(< ~counter~0 100)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {983#(< ~counter~0 100)} is VALID [2022-04-07 15:11:56,457 INFO L290 TraceCheckUtils]: 19: Hoare triple {983#(< ~counter~0 100)} assume !!(0 != ~y~0); {983#(< ~counter~0 100)} is VALID [2022-04-07 15:11:56,458 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {878#true} {983#(< ~counter~0 100)} #61#return; {983#(< ~counter~0 100)} is VALID [2022-04-07 15:11:56,459 INFO L290 TraceCheckUtils]: 17: Hoare triple {878#true} assume true; {878#true} is VALID [2022-04-07 15:11:56,459 INFO L290 TraceCheckUtils]: 16: Hoare triple {878#true} assume !(0 == ~cond); {878#true} is VALID [2022-04-07 15:11:56,459 INFO L290 TraceCheckUtils]: 15: Hoare triple {878#true} ~cond := #in~cond; {878#true} is VALID [2022-04-07 15:11:56,459 INFO L272 TraceCheckUtils]: 14: Hoare triple {983#(< ~counter~0 100)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {878#true} is VALID [2022-04-07 15:11:56,459 INFO L290 TraceCheckUtils]: 13: Hoare triple {983#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {983#(< ~counter~0 100)} is VALID [2022-04-07 15:11:56,460 INFO L290 TraceCheckUtils]: 12: Hoare triple {1014#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {983#(< ~counter~0 100)} is VALID [2022-04-07 15:11:56,460 INFO L290 TraceCheckUtils]: 11: Hoare triple {1014#(< ~counter~0 99)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1014#(< ~counter~0 99)} is VALID [2022-04-07 15:11:56,461 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {878#true} {1014#(< ~counter~0 99)} #59#return; {1014#(< ~counter~0 99)} is VALID [2022-04-07 15:11:56,461 INFO L290 TraceCheckUtils]: 9: Hoare triple {878#true} assume true; {878#true} is VALID [2022-04-07 15:11:56,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {878#true} assume !(0 == ~cond); {878#true} is VALID [2022-04-07 15:11:56,461 INFO L290 TraceCheckUtils]: 7: Hoare triple {878#true} ~cond := #in~cond; {878#true} is VALID [2022-04-07 15:11:56,461 INFO L272 TraceCheckUtils]: 6: Hoare triple {1014#(< ~counter~0 99)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {878#true} is VALID [2022-04-07 15:11:56,462 INFO L290 TraceCheckUtils]: 5: Hoare triple {1014#(< ~counter~0 99)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1014#(< ~counter~0 99)} is VALID [2022-04-07 15:11:56,462 INFO L272 TraceCheckUtils]: 4: Hoare triple {1014#(< ~counter~0 99)} call #t~ret7 := main(); {1014#(< ~counter~0 99)} is VALID [2022-04-07 15:11:56,463 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1014#(< ~counter~0 99)} {878#true} #65#return; {1014#(< ~counter~0 99)} is VALID [2022-04-07 15:11:56,463 INFO L290 TraceCheckUtils]: 2: Hoare triple {1014#(< ~counter~0 99)} assume true; {1014#(< ~counter~0 99)} is VALID [2022-04-07 15:11:56,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {878#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);~counter~0 := 0; {1014#(< ~counter~0 99)} is VALID [2022-04-07 15:11:56,464 INFO L272 TraceCheckUtils]: 0: Hoare triple {878#true} call ULTIMATE.init(); {878#true} is VALID [2022-04-07 15:11:56,464 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:11:56,464 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:11:56,465 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1644086317] [2022-04-07 15:11:56,465 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:11:56,465 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1956353703] [2022-04-07 15:11:56,465 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1956353703] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:11:56,465 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:11:56,465 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-07 15:11:56,465 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1765463471] [2022-04-07 15:11:56,465 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:11:56,466 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 28 [2022-04-07 15:11:56,466 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:11:56,466 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:11:56,512 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:56,512 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-07 15:11:56,513 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:11:56,513 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-07 15:11:56,513 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-07 15:11:56,514 INFO L87 Difference]: Start difference. First operand 33 states and 36 transitions. Second operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:11:56,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:56,689 INFO L93 Difference]: Finished difference Result 70 states and 80 transitions. [2022-04-07 15:11:56,689 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-07 15:11:56,689 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 28 [2022-04-07 15:11:56,690 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:11:56,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:11:56,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-07 15:11:56,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:11:56,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-07 15:11:56,695 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 80 transitions. [2022-04-07 15:11:56,752 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:11:56,753 INFO L225 Difference]: With dead ends: 70 [2022-04-07 15:11:56,753 INFO L226 Difference]: Without dead ends: 63 [2022-04-07 15:11:56,754 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-07 15:11:56,754 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 42 mSDsluCounter, 73 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:11:56,754 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 102 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 15:11:56,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-07 15:11:56,776 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-07 15:11:56,777 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:11:56,777 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 15:11:56,777 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 15:11:56,777 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 15:11:56,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:56,780 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-07 15:11:56,780 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2022-04-07 15:11:56,780 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:56,780 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:56,780 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 63 states. [2022-04-07 15:11:56,781 INFO L87 Difference]: Start difference. First operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 63 states. [2022-04-07 15:11:56,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:11:56,783 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-07 15:11:56,783 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2022-04-07 15:11:56,783 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:11:56,783 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:11:56,783 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:11:56,783 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:11:56,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 15:11:56,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 69 transitions. [2022-04-07 15:11:56,785 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 69 transitions. Word has length 28 [2022-04-07 15:11:56,785 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:11:56,786 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 69 transitions. [2022-04-07 15:11:56,786 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:11:56,786 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-04-07 15:11:56,786 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-07 15:11:56,786 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:11:56,786 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:11:56,811 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-07 15:11:56,986 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-07 15:11:56,987 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:11:56,987 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:11:56,987 INFO L85 PathProgramCache]: Analyzing trace with hash 586406521, now seen corresponding path program 1 times [2022-04-07 15:11:56,987 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:11:56,987 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [597830683] [2022-04-07 15:11:56,987 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:56,988 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:11:57,000 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:11:57,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1951395121] [2022-04-07 15:11:57,000 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:11:57,000 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:11:57,000 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:11:57,001 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-07 15:11:57,016 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-07 15:11:57,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:57,055 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-07 15:11:57,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:11:57,116 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:11:58,598 INFO L272 TraceCheckUtils]: 0: Hoare triple {1360#true} call ULTIMATE.init(); {1360#true} is VALID [2022-04-07 15:11:58,598 INFO L290 TraceCheckUtils]: 1: Hoare triple {1360#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);~counter~0 := 0; {1360#true} is VALID [2022-04-07 15:11:58,598 INFO L290 TraceCheckUtils]: 2: Hoare triple {1360#true} assume true; {1360#true} is VALID [2022-04-07 15:11:58,598 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1360#true} {1360#true} #65#return; {1360#true} is VALID [2022-04-07 15:11:58,598 INFO L272 TraceCheckUtils]: 4: Hoare triple {1360#true} call #t~ret7 := main(); {1360#true} is VALID [2022-04-07 15:11:58,599 INFO L290 TraceCheckUtils]: 5: Hoare triple {1360#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1360#true} is VALID [2022-04-07 15:11:58,599 INFO L272 TraceCheckUtils]: 6: Hoare triple {1360#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1360#true} is VALID [2022-04-07 15:11:58,599 INFO L290 TraceCheckUtils]: 7: Hoare triple {1360#true} ~cond := #in~cond; {1386#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 15:11:58,600 INFO L290 TraceCheckUtils]: 8: Hoare triple {1386#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1390#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:11:58,600 INFO L290 TraceCheckUtils]: 9: Hoare triple {1390#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1390#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:11:58,601 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1390#(not (= |assume_abort_if_not_#in~cond| 0))} {1360#true} #59#return; {1397#(<= 1 main_~b~0)} is VALID [2022-04-07 15:11:58,601 INFO L290 TraceCheckUtils]: 11: Hoare triple {1397#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:11:58,602 INFO L290 TraceCheckUtils]: 12: Hoare triple {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:11:58,602 INFO L290 TraceCheckUtils]: 13: Hoare triple {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:11:58,602 INFO L272 TraceCheckUtils]: 14: Hoare triple {1401#(and (= 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)); {1360#true} is VALID [2022-04-07 15:11:58,603 INFO L290 TraceCheckUtils]: 15: Hoare triple {1360#true} ~cond := #in~cond; {1414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:11:58,603 INFO L290 TraceCheckUtils]: 16: Hoare triple {1414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:11:58,604 INFO L290 TraceCheckUtils]: 17: Hoare triple {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:11:58,604 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {1425#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:11:58,605 INFO L290 TraceCheckUtils]: 19: Hoare triple {1425#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1425#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:11:58,606 INFO L290 TraceCheckUtils]: 20: Hoare triple {1425#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)); {1432#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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-07 15:11:58,607 INFO L290 TraceCheckUtils]: 21: Hoare triple {1432#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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); {1436#(and (= 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) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-07 15:11:58,607 INFO L290 TraceCheckUtils]: 22: Hoare triple {1436#(and (= 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) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1436#(and (= 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) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-07 15:11:58,608 INFO L290 TraceCheckUtils]: 23: Hoare triple {1436#(and (= 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) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {1436#(and (= 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) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-07 15:11:58,610 INFO L272 TraceCheckUtils]: 24: Hoare triple {1436#(and (= 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) (= (+ main_~z~0 (* main_~b~0 main_~a~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)); {1446#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:11:58,611 INFO L290 TraceCheckUtils]: 25: Hoare triple {1446#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1450#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:11:58,611 INFO L290 TraceCheckUtils]: 26: Hoare triple {1450#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1361#false} is VALID [2022-04-07 15:11:58,611 INFO L290 TraceCheckUtils]: 27: Hoare triple {1361#false} assume !false; {1361#false} is VALID [2022-04-07 15:11:58,612 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:11:58,612 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:12:18,938 INFO L290 TraceCheckUtils]: 27: Hoare triple {1361#false} assume !false; {1361#false} is VALID [2022-04-07 15:12:18,939 INFO L290 TraceCheckUtils]: 26: Hoare triple {1450#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1361#false} is VALID [2022-04-07 15:12:18,947 INFO L290 TraceCheckUtils]: 25: Hoare triple {1446#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1450#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:12:18,948 INFO L272 TraceCheckUtils]: 24: Hoare triple {1466#(= (+ 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)); {1446#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:12:18,949 INFO L290 TraceCheckUtils]: 23: Hoare triple {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 100);havoc #t~post6; {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:12:18,949 INFO L290 TraceCheckUtils]: 22: Hoare triple {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:12:18,955 INFO L290 TraceCheckUtils]: 21: Hoare triple {1476#(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); {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:12:18,956 INFO L290 TraceCheckUtils]: 20: Hoare triple {1480#(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)); {1476#(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-07 15:12:18,957 INFO L290 TraceCheckUtils]: 19: Hoare triple {1480#(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); {1480#(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-07 15:12:18,959 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} #61#return; {1480#(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-07 15:12:18,960 INFO L290 TraceCheckUtils]: 17: Hoare triple {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:12:18,960 INFO L290 TraceCheckUtils]: 16: Hoare triple {1497#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:12:18,961 INFO L290 TraceCheckUtils]: 15: Hoare triple {1360#true} ~cond := #in~cond; {1497#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 15:12:18,961 INFO L272 TraceCheckUtils]: 14: Hoare triple {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1360#true} is VALID [2022-04-07 15:12:18,963 INFO L290 TraceCheckUtils]: 13: Hoare triple {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 15:12:18,964 INFO L290 TraceCheckUtils]: 12: Hoare triple {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 15:12:18,964 INFO L290 TraceCheckUtils]: 11: Hoare triple {1510#(or (= (+ (* (- 1) main_~b~0 main_~a~0) (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (* main_~b~0 main_~a~0)) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 15:12:18,968 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1390#(not (= |assume_abort_if_not_#in~cond| 0))} {1360#true} #59#return; {1510#(or (= (+ (* (- 1) main_~b~0 main_~a~0) (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (* main_~b~0 main_~a~0)) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-07 15:12:18,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {1390#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1390#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:12:18,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {1523#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1390#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:12:18,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {1360#true} ~cond := #in~cond; {1523#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 15:12:18,970 INFO L272 TraceCheckUtils]: 6: Hoare triple {1360#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1360#true} is VALID [2022-04-07 15:12:18,970 INFO L290 TraceCheckUtils]: 5: Hoare triple {1360#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1360#true} is VALID [2022-04-07 15:12:18,970 INFO L272 TraceCheckUtils]: 4: Hoare triple {1360#true} call #t~ret7 := main(); {1360#true} is VALID [2022-04-07 15:12:18,970 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1360#true} {1360#true} #65#return; {1360#true} is VALID [2022-04-07 15:12:18,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {1360#true} assume true; {1360#true} is VALID [2022-04-07 15:12:18,970 INFO L290 TraceCheckUtils]: 1: Hoare triple {1360#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);~counter~0 := 0; {1360#true} is VALID [2022-04-07 15:12:18,970 INFO L272 TraceCheckUtils]: 0: Hoare triple {1360#true} call ULTIMATE.init(); {1360#true} is VALID [2022-04-07 15:12:18,971 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:12:18,971 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:12:18,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [597830683] [2022-04-07 15:12:18,971 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:12:18,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1951395121] [2022-04-07 15:12:18,971 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1951395121] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:12:18,971 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:12:18,971 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 20 [2022-04-07 15:12:18,971 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1188351948] [2022-04-07 15:12:18,971 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:12:18,972 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 28 [2022-04-07 15:12:18,972 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:12:18,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:12:19,021 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:19,022 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-07 15:12:19,022 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:12:19,022 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-07 15:12:19,022 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=313, Unknown=0, NotChecked=0, Total=380 [2022-04-07 15:12:19,023 INFO L87 Difference]: Start difference. First operand 59 states and 69 transitions. Second operand has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:12:21,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:21,638 INFO L93 Difference]: Finished difference Result 103 states and 121 transitions. [2022-04-07 15:12:21,639 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-07 15:12:21,639 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 28 [2022-04-07 15:12:21,639 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:12:21,639 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:12:21,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 71 transitions. [2022-04-07 15:12:21,642 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:12:21,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 71 transitions. [2022-04-07 15:12:21,644 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 71 transitions. [2022-04-07 15:12:21,727 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:21,729 INFO L225 Difference]: With dead ends: 103 [2022-04-07 15:12:21,729 INFO L226 Difference]: Without dead ends: 94 [2022-04-07 15:12:21,730 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 36 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=127, Invalid=575, Unknown=0, NotChecked=0, Total=702 [2022-04-07 15:12:21,730 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 63 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 260 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 260 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:12:21,730 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [65 Valid, 184 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 260 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-07 15:12:21,731 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-07 15:12:21,775 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 92. [2022-04-07 15:12:21,775 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:12:21,775 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:12:21,776 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:12:21,776 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:12:21,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:21,779 INFO L93 Difference]: Finished difference Result 94 states and 109 transitions. [2022-04-07 15:12:21,779 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 109 transitions. [2022-04-07 15:12:21,780 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:21,780 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:21,780 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 94 states. [2022-04-07 15:12:21,781 INFO L87 Difference]: Start difference. First operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 94 states. [2022-04-07 15:12:21,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:21,784 INFO L93 Difference]: Finished difference Result 94 states and 109 transitions. [2022-04-07 15:12:21,784 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 109 transitions. [2022-04-07 15:12:21,784 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:21,784 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:21,784 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:12:21,784 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:12:21,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:12:21,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 107 transitions. [2022-04-07 15:12:21,788 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 107 transitions. Word has length 28 [2022-04-07 15:12:21,788 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:12:21,788 INFO L478 AbstractCegarLoop]: Abstraction has 92 states and 107 transitions. [2022-04-07 15:12:21,788 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:12:21,788 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 107 transitions. [2022-04-07 15:12:21,789 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-07 15:12:21,789 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:12:21,789 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:12:21,814 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-07 15:12:22,011 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-07 15:12:22,012 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:12:22,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:12:22,013 INFO L85 PathProgramCache]: Analyzing trace with hash -1513703477, now seen corresponding path program 1 times [2022-04-07 15:12:22,013 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:12:22,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [498307856] [2022-04-07 15:12:22,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:22,013 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:12:22,027 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:12:22,028 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2120377421] [2022-04-07 15:12:22,028 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:22,028 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:12:22,028 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:12:22,036 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-07 15:12:22,037 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-07 15:12:22,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:22,081 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-07 15:12:22,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:22,093 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:12:27,096 INFO L272 TraceCheckUtils]: 0: Hoare triple {2016#true} call ULTIMATE.init(); {2016#true} is VALID [2022-04-07 15:12:27,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {2016#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);~counter~0 := 0; {2016#true} is VALID [2022-04-07 15:12:27,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-07 15:12:27,096 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2016#true} {2016#true} #65#return; {2016#true} is VALID [2022-04-07 15:12:27,096 INFO L272 TraceCheckUtils]: 4: Hoare triple {2016#true} call #t~ret7 := main(); {2016#true} is VALID [2022-04-07 15:12:27,096 INFO L290 TraceCheckUtils]: 5: Hoare triple {2016#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2016#true} is VALID [2022-04-07 15:12:27,097 INFO L272 TraceCheckUtils]: 6: Hoare triple {2016#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2016#true} is VALID [2022-04-07 15:12:27,097 INFO L290 TraceCheckUtils]: 7: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-07 15:12:27,097 INFO L290 TraceCheckUtils]: 8: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-07 15:12:27,097 INFO L290 TraceCheckUtils]: 9: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-07 15:12:27,097 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2016#true} {2016#true} #59#return; {2016#true} is VALID [2022-04-07 15:12:27,097 INFO L290 TraceCheckUtils]: 11: Hoare triple {2016#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2016#true} is VALID [2022-04-07 15:12:27,097 INFO L290 TraceCheckUtils]: 12: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-07 15:12:27,097 INFO L290 TraceCheckUtils]: 13: Hoare triple {2016#true} assume !!(#t~post6 < 100);havoc #t~post6; {2016#true} is VALID [2022-04-07 15:12:27,098 INFO L272 TraceCheckUtils]: 14: Hoare triple {2016#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2016#true} is VALID [2022-04-07 15:12:27,098 INFO L290 TraceCheckUtils]: 15: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-07 15:12:27,098 INFO L290 TraceCheckUtils]: 16: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-07 15:12:27,098 INFO L290 TraceCheckUtils]: 17: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-07 15:12:27,098 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2016#true} {2016#true} #61#return; {2016#true} is VALID [2022-04-07 15:12:27,098 INFO L290 TraceCheckUtils]: 19: Hoare triple {2016#true} assume !!(0 != ~y~0); {2016#true} is VALID [2022-04-07 15:12:27,098 INFO L290 TraceCheckUtils]: 20: Hoare triple {2016#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; {2016#true} is VALID [2022-04-07 15:12:27,098 INFO L290 TraceCheckUtils]: 21: Hoare triple {2016#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); {2016#true} is VALID [2022-04-07 15:12:27,098 INFO L290 TraceCheckUtils]: 22: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-07 15:12:27,099 INFO L290 TraceCheckUtils]: 23: Hoare triple {2016#true} assume !!(#t~post6 < 100);havoc #t~post6; {2016#true} is VALID [2022-04-07 15:12:27,099 INFO L272 TraceCheckUtils]: 24: Hoare triple {2016#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2016#true} is VALID [2022-04-07 15:12:27,099 INFO L290 TraceCheckUtils]: 25: Hoare triple {2016#true} ~cond := #in~cond; {2096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:12:27,100 INFO L290 TraceCheckUtils]: 26: Hoare triple {2096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:12:27,100 INFO L290 TraceCheckUtils]: 27: Hoare triple {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:12:29,104 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} {2016#true} #61#return; {2107#(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-07 15:12:29,107 INFO L290 TraceCheckUtils]: 29: Hoare triple {2107#(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); {2111#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:12:29,108 INFO L272 TraceCheckUtils]: 30: Hoare triple {2111#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2115#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:12:29,108 INFO L290 TraceCheckUtils]: 31: Hoare triple {2115#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2119#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:12:29,109 INFO L290 TraceCheckUtils]: 32: Hoare triple {2119#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2017#false} is VALID [2022-04-07 15:12:29,109 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#false} assume !false; {2017#false} is VALID [2022-04-07 15:12:29,109 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 15:12:29,109 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:12:43,116 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#false} assume !false; {2017#false} is VALID [2022-04-07 15:12:43,117 INFO L290 TraceCheckUtils]: 32: Hoare triple {2119#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2017#false} is VALID [2022-04-07 15:12:43,117 INFO L290 TraceCheckUtils]: 31: Hoare triple {2115#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2119#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:12:43,118 INFO L272 TraceCheckUtils]: 30: Hoare triple {2111#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2115#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:12:43,118 INFO L290 TraceCheckUtils]: 29: Hoare triple {2138#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2111#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:12:43,119 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} {2016#true} #61#return; {2138#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-07 15:12:43,120 INFO L290 TraceCheckUtils]: 27: Hoare triple {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:12:43,120 INFO L290 TraceCheckUtils]: 26: Hoare triple {2151#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:12:43,120 INFO L290 TraceCheckUtils]: 25: Hoare triple {2016#true} ~cond := #in~cond; {2151#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 15:12:43,121 INFO L272 TraceCheckUtils]: 24: Hoare triple {2016#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2016#true} is VALID [2022-04-07 15:12:43,121 INFO L290 TraceCheckUtils]: 23: Hoare triple {2016#true} assume !!(#t~post6 < 100);havoc #t~post6; {2016#true} is VALID [2022-04-07 15:12:43,121 INFO L290 TraceCheckUtils]: 22: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-07 15:12:43,121 INFO L290 TraceCheckUtils]: 21: Hoare triple {2016#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); {2016#true} is VALID [2022-04-07 15:12:43,121 INFO L290 TraceCheckUtils]: 20: Hoare triple {2016#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; {2016#true} is VALID [2022-04-07 15:12:43,121 INFO L290 TraceCheckUtils]: 19: Hoare triple {2016#true} assume !!(0 != ~y~0); {2016#true} is VALID [2022-04-07 15:12:43,121 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2016#true} {2016#true} #61#return; {2016#true} is VALID [2022-04-07 15:12:43,121 INFO L290 TraceCheckUtils]: 17: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-07 15:12:43,121 INFO L290 TraceCheckUtils]: 16: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-07 15:12:43,121 INFO L290 TraceCheckUtils]: 15: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-07 15:12:43,122 INFO L272 TraceCheckUtils]: 14: Hoare triple {2016#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2016#true} is VALID [2022-04-07 15:12:43,122 INFO L290 TraceCheckUtils]: 13: Hoare triple {2016#true} assume !!(#t~post6 < 100);havoc #t~post6; {2016#true} is VALID [2022-04-07 15:12:43,122 INFO L290 TraceCheckUtils]: 12: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-07 15:12:43,122 INFO L290 TraceCheckUtils]: 11: Hoare triple {2016#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2016#true} is VALID [2022-04-07 15:12:43,122 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2016#true} {2016#true} #59#return; {2016#true} is VALID [2022-04-07 15:12:43,122 INFO L290 TraceCheckUtils]: 9: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-07 15:12:43,122 INFO L290 TraceCheckUtils]: 8: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-07 15:12:43,123 INFO L290 TraceCheckUtils]: 7: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-07 15:12:43,123 INFO L272 TraceCheckUtils]: 6: Hoare triple {2016#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2016#true} is VALID [2022-04-07 15:12:43,123 INFO L290 TraceCheckUtils]: 5: Hoare triple {2016#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2016#true} is VALID [2022-04-07 15:12:43,123 INFO L272 TraceCheckUtils]: 4: Hoare triple {2016#true} call #t~ret7 := main(); {2016#true} is VALID [2022-04-07 15:12:43,123 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2016#true} {2016#true} #65#return; {2016#true} is VALID [2022-04-07 15:12:43,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-07 15:12:43,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {2016#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);~counter~0 := 0; {2016#true} is VALID [2022-04-07 15:12:43,123 INFO L272 TraceCheckUtils]: 0: Hoare triple {2016#true} call ULTIMATE.init(); {2016#true} is VALID [2022-04-07 15:12:43,124 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 15:12:43,124 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:12:43,124 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [498307856] [2022-04-07 15:12:43,124 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:12:43,124 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2120377421] [2022-04-07 15:12:43,124 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2120377421] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:12:43,124 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:12:43,124 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-07 15:12:43,124 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [969254313] [2022-04-07 15:12:43,124 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:12:43,125 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-07 15:12:43,125 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:12:43,125 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 15:12:45,151 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:45,152 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 15:12:45,152 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:12:45,152 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 15:12:45,152 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-07 15:12:45,152 INFO L87 Difference]: Start difference. First operand 92 states and 107 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 15:12:47,218 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-07 15:12:47,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:47,866 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2022-04-07 15:12:47,866 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-07 15:12:47,866 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-07 15:12:47,866 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:12:47,867 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 15:12:47,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-07 15:12:47,867 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 15:12:47,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-07 15:12:47,868 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 35 transitions. [2022-04-07 15:12:49,900 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:49,901 INFO L225 Difference]: With dead ends: 104 [2022-04-07 15:12:49,901 INFO L226 Difference]: Without dead ends: 89 [2022-04-07 15:12:49,902 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 58 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-07 15:12:49,902 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 17 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 88 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-07 15:12:49,903 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 88 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 55 Invalid, 1 Unknown, 0 Unchecked, 2.2s Time] [2022-04-07 15:12:49,903 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-07 15:12:49,935 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 88. [2022-04-07 15:12:49,936 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:12:49,936 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:12:49,936 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:12:49,936 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:12:49,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:49,939 INFO L93 Difference]: Finished difference Result 89 states and 100 transitions. [2022-04-07 15:12:49,939 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 100 transitions. [2022-04-07 15:12:49,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:49,940 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:49,940 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 89 states. [2022-04-07 15:12:49,940 INFO L87 Difference]: Start difference. First operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 89 states. [2022-04-07 15:12:49,943 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:49,943 INFO L93 Difference]: Finished difference Result 89 states and 100 transitions. [2022-04-07 15:12:49,943 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 100 transitions. [2022-04-07 15:12:49,943 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:49,943 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:49,943 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:12:49,943 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:12:49,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:12:49,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 99 transitions. [2022-04-07 15:12:49,946 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 99 transitions. Word has length 34 [2022-04-07 15:12:49,946 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:12:49,946 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 99 transitions. [2022-04-07 15:12:49,947 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, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 15:12:49,947 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 99 transitions. [2022-04-07 15:12:49,947 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-07 15:12:49,947 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:12:49,947 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] [2022-04-07 15:12:49,971 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-07 15:12:50,169 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-07 15:12:50,170 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:12:50,170 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:12:50,170 INFO L85 PathProgramCache]: Analyzing trace with hash 539044694, now seen corresponding path program 1 times [2022-04-07 15:12:50,170 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:12:50,170 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1922160841] [2022-04-07 15:12:50,170 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:50,170 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:12:50,201 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:12:50,201 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [96593333] [2022-04-07 15:12:50,201 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:50,202 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:12:50,202 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:12:50,209 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-07 15:12:50,210 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-07 15:12:50,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:50,261 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-07 15:12:50,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:50,280 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:12:59,679 INFO L272 TraceCheckUtils]: 0: Hoare triple {2671#true} call ULTIMATE.init(); {2671#true} is VALID [2022-04-07 15:12:59,679 INFO L290 TraceCheckUtils]: 1: Hoare triple {2671#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);~counter~0 := 0; {2671#true} is VALID [2022-04-07 15:12:59,679 INFO L290 TraceCheckUtils]: 2: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-07 15:12:59,680 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2671#true} {2671#true} #65#return; {2671#true} is VALID [2022-04-07 15:12:59,680 INFO L272 TraceCheckUtils]: 4: Hoare triple {2671#true} call #t~ret7 := main(); {2671#true} is VALID [2022-04-07 15:12:59,680 INFO L290 TraceCheckUtils]: 5: Hoare triple {2671#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2671#true} is VALID [2022-04-07 15:12:59,680 INFO L272 TraceCheckUtils]: 6: Hoare triple {2671#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2671#true} is VALID [2022-04-07 15:12:59,680 INFO L290 TraceCheckUtils]: 7: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-07 15:12:59,680 INFO L290 TraceCheckUtils]: 8: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-07 15:12:59,680 INFO L290 TraceCheckUtils]: 9: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-07 15:12:59,680 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2671#true} {2671#true} #59#return; {2671#true} is VALID [2022-04-07 15:12:59,680 INFO L290 TraceCheckUtils]: 11: Hoare triple {2671#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:12:59,681 INFO L290 TraceCheckUtils]: 12: Hoare triple {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:12:59,681 INFO L290 TraceCheckUtils]: 13: Hoare triple {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:12:59,681 INFO L272 TraceCheckUtils]: 14: Hoare triple {2709#(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)); {2671#true} is VALID [2022-04-07 15:12:59,681 INFO L290 TraceCheckUtils]: 15: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-07 15:12:59,681 INFO L290 TraceCheckUtils]: 16: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-07 15:12:59,681 INFO L290 TraceCheckUtils]: 17: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-07 15:12:59,682 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2671#true} {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #61#return; {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:12:59,683 INFO L290 TraceCheckUtils]: 19: Hoare triple {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2734#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:12:59,683 INFO L290 TraceCheckUtils]: 20: Hoare triple {2734#(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; {2738#(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-07 15:12:59,684 INFO L290 TraceCheckUtils]: 21: Hoare triple {2738#(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); {2742#(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-07 15:12:59,685 INFO L290 TraceCheckUtils]: 22: Hoare triple {2742#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2742#(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-07 15:12:59,685 INFO L290 TraceCheckUtils]: 23: Hoare triple {2742#(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 !!(#t~post6 < 100);havoc #t~post6; {2742#(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-07 15:12:59,685 INFO L272 TraceCheckUtils]: 24: Hoare triple {2742#(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)); {2671#true} is VALID [2022-04-07 15:12:59,686 INFO L290 TraceCheckUtils]: 25: Hoare triple {2671#true} ~cond := #in~cond; {2755#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:12:59,686 INFO L290 TraceCheckUtils]: 26: Hoare triple {2755#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:12:59,686 INFO L290 TraceCheckUtils]: 27: Hoare triple {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:12:59,687 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} {2742#(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))} #61#return; {2766#(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-07 15:12:59,687 INFO L290 TraceCheckUtils]: 29: Hoare triple {2766#(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); {2766#(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-07 15:12:59,688 INFO L290 TraceCheckUtils]: 30: Hoare triple {2766#(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 !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2773#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 15:12:59,693 INFO L290 TraceCheckUtils]: 31: Hoare triple {2773#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~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); {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-07 15:12:59,693 INFO L290 TraceCheckUtils]: 32: Hoare triple {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-07 15:12:59,694 INFO L290 TraceCheckUtils]: 33: Hoare triple {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} assume !!(#t~post6 < 100);havoc #t~post6; {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-07 15:12:59,710 INFO L272 TraceCheckUtils]: 34: Hoare triple {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2787#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:12:59,710 INFO L290 TraceCheckUtils]: 35: Hoare triple {2787#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2791#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:12:59,710 INFO L290 TraceCheckUtils]: 36: Hoare triple {2791#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2672#false} is VALID [2022-04-07 15:12:59,710 INFO L290 TraceCheckUtils]: 37: Hoare triple {2672#false} assume !false; {2672#false} is VALID [2022-04-07 15:12:59,711 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 15:12:59,711 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:14:32,711 INFO L290 TraceCheckUtils]: 37: Hoare triple {2672#false} assume !false; {2672#false} is VALID [2022-04-07 15:14:32,711 INFO L290 TraceCheckUtils]: 36: Hoare triple {2791#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2672#false} is VALID [2022-04-07 15:14:32,712 INFO L290 TraceCheckUtils]: 35: Hoare triple {2787#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2791#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:14:32,712 INFO L272 TraceCheckUtils]: 34: Hoare triple {2807#(= (+ 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)); {2787#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:14:32,713 INFO L290 TraceCheckUtils]: 33: Hoare triple {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 100);havoc #t~post6; {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:14:32,713 INFO L290 TraceCheckUtils]: 32: Hoare triple {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:14:32,717 INFO L290 TraceCheckUtils]: 31: Hoare triple {2817#(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); {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:14:32,718 INFO L290 TraceCheckUtils]: 30: Hoare triple {2821#(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)); {2817#(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-07 15:14:32,719 INFO L290 TraceCheckUtils]: 29: Hoare triple {2821#(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); {2821#(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-07 15:14:32,722 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} #61#return; {2821#(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-07 15:14:32,722 INFO L290 TraceCheckUtils]: 27: Hoare triple {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:14:32,722 INFO L290 TraceCheckUtils]: 26: Hoare triple {2838#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:14:32,723 INFO L290 TraceCheckUtils]: 25: Hoare triple {2671#true} ~cond := #in~cond; {2838#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 15:14:32,723 INFO L272 TraceCheckUtils]: 24: Hoare triple {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2671#true} is VALID [2022-04-07 15:14:32,723 INFO L290 TraceCheckUtils]: 23: Hoare triple {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 15:14:32,724 INFO L290 TraceCheckUtils]: 22: Hoare triple {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 15:14:32,744 INFO L290 TraceCheckUtils]: 21: Hoare triple {2851#(and (or (forall ((aux_div_aux_mod_v_main_~y~0_28_22_69 Int) (aux_div_v_main_~y~0_28_22 Int)) (or (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22) 1) 0) (<= (+ (* aux_div_aux_mod_v_main_~y~0_28_22_69 2) 1) (div main_~y~0 2)) (<= (+ (* aux_div_v_main_~y~0_28_22 2) 1) (div main_~y~0 2)) (= (+ (* (* aux_div_v_main_~y~0_28_22 main_~x~0) 4) (* 2 (* main_~x~0 (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22) 1)))) (+ (* main_~x~0 4) (* (* aux_div_aux_mod_v_main_~y~0_28_22_69 main_~x~0) 4))) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_28_22 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)))) (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (forall ((aux_div_aux_mod_v_main_~y~0_28_22_69 Int) (aux_div_v_main_~y~0_28_22 Int)) (or (< (div main_~y~0 2) (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)) (<= (+ 2 (* aux_div_v_main_~y~0_28_22 2)) (div main_~y~0 2)) (= (+ (* 2 (* (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22)) main_~x~0)) (* (* aux_div_v_main_~y~0_28_22 main_~x~0) 4)) (+ (* main_~x~0 4) (* (* aux_div_aux_mod_v_main_~y~0_28_22_69 main_~x~0) 4))) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_28_22 2)) (<= (+ 2 (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)) (div main_~y~0 2)) (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22)) 0))) (<= 0 (div main_~y~0 2))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 15:14:32,746 INFO L290 TraceCheckUtils]: 20: Hoare triple {2671#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; {2851#(and (or (forall ((aux_div_aux_mod_v_main_~y~0_28_22_69 Int) (aux_div_v_main_~y~0_28_22 Int)) (or (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22) 1) 0) (<= (+ (* aux_div_aux_mod_v_main_~y~0_28_22_69 2) 1) (div main_~y~0 2)) (<= (+ (* aux_div_v_main_~y~0_28_22 2) 1) (div main_~y~0 2)) (= (+ (* (* aux_div_v_main_~y~0_28_22 main_~x~0) 4) (* 2 (* main_~x~0 (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22) 1)))) (+ (* main_~x~0 4) (* (* aux_div_aux_mod_v_main_~y~0_28_22_69 main_~x~0) 4))) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_28_22 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)))) (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (forall ((aux_div_aux_mod_v_main_~y~0_28_22_69 Int) (aux_div_v_main_~y~0_28_22 Int)) (or (< (div main_~y~0 2) (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)) (<= (+ 2 (* aux_div_v_main_~y~0_28_22 2)) (div main_~y~0 2)) (= (+ (* 2 (* (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22)) main_~x~0)) (* (* aux_div_v_main_~y~0_28_22 main_~x~0) 4)) (+ (* main_~x~0 4) (* (* aux_div_aux_mod_v_main_~y~0_28_22_69 main_~x~0) 4))) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_28_22 2)) (<= (+ 2 (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)) (div main_~y~0 2)) (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22)) 0))) (<= 0 (div main_~y~0 2))))} is VALID [2022-04-07 15:14:32,746 INFO L290 TraceCheckUtils]: 19: Hoare triple {2671#true} assume !!(0 != ~y~0); {2671#true} is VALID [2022-04-07 15:14:32,746 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2671#true} {2671#true} #61#return; {2671#true} is VALID [2022-04-07 15:14:32,746 INFO L290 TraceCheckUtils]: 17: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-07 15:14:32,746 INFO L290 TraceCheckUtils]: 16: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-07 15:14:32,746 INFO L290 TraceCheckUtils]: 15: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-07 15:14:32,746 INFO L272 TraceCheckUtils]: 14: Hoare triple {2671#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2671#true} is VALID [2022-04-07 15:14:32,746 INFO L290 TraceCheckUtils]: 13: Hoare triple {2671#true} assume !!(#t~post6 < 100);havoc #t~post6; {2671#true} is VALID [2022-04-07 15:14:32,746 INFO L290 TraceCheckUtils]: 12: Hoare triple {2671#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2671#true} is VALID [2022-04-07 15:14:32,746 INFO L290 TraceCheckUtils]: 11: Hoare triple {2671#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2671#true} is VALID [2022-04-07 15:14:32,746 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2671#true} {2671#true} #59#return; {2671#true} is VALID [2022-04-07 15:14:32,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-07 15:14:32,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-07 15:14:32,747 INFO L290 TraceCheckUtils]: 7: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-07 15:14:32,747 INFO L272 TraceCheckUtils]: 6: Hoare triple {2671#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2671#true} is VALID [2022-04-07 15:14:32,747 INFO L290 TraceCheckUtils]: 5: Hoare triple {2671#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2671#true} is VALID [2022-04-07 15:14:32,747 INFO L272 TraceCheckUtils]: 4: Hoare triple {2671#true} call #t~ret7 := main(); {2671#true} is VALID [2022-04-07 15:14:32,747 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2671#true} {2671#true} #65#return; {2671#true} is VALID [2022-04-07 15:14:32,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-07 15:14:32,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {2671#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);~counter~0 := 0; {2671#true} is VALID [2022-04-07 15:14:32,747 INFO L272 TraceCheckUtils]: 0: Hoare triple {2671#true} call ULTIMATE.init(); {2671#true} is VALID [2022-04-07 15:14:32,748 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 14 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 15:14:32,748 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:14:32,748 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1922160841] [2022-04-07 15:14:32,748 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:14:32,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [96593333] [2022-04-07 15:14:32,749 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [96593333] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:14:32,749 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:14:32,749 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-07 15:14:32,749 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [629517016] [2022-04-07 15:14:32,749 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:14:32,750 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 38 [2022-04-07 15:14:32,750 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:14:32,750 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-07 15:14:32,832 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-07 15:14:32,832 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-07 15:14:32,832 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:14:32,833 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-07 15:14:32,833 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-04-07 15:14:32,833 INFO L87 Difference]: Start difference. First operand 88 states and 99 transitions. Second operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-07 15:14:35,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:14:35,957 INFO L93 Difference]: Finished difference Result 124 states and 137 transitions. [2022-04-07 15:14:35,957 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-07 15:14:35,957 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 38 [2022-04-07 15:14:35,957 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:14:35,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-07 15:14:35,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 74 transitions. [2022-04-07 15:14:35,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-07 15:14:35,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 74 transitions. [2022-04-07 15:14:35,961 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 74 transitions. [2022-04-07 15:14:36,313 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:14:36,317 INFO L225 Difference]: With dead ends: 124 [2022-04-07 15:14:36,317 INFO L226 Difference]: Without dead ends: 122 [2022-04-07 15:14:36,319 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 150 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=132, Invalid=624, Unknown=0, NotChecked=0, Total=756 [2022-04-07 15:14:36,319 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 43 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 253 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 216 SdHoareTripleChecker+Invalid, 303 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 253 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 27 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-07 15:14:36,320 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 216 Invalid, 303 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 253 Invalid, 0 Unknown, 27 Unchecked, 0.9s Time] [2022-04-07 15:14:36,320 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2022-04-07 15:14:36,365 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 120. [2022-04-07 15:14:36,365 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:14:36,366 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 15:14:36,366 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 15:14:36,366 INFO L87 Difference]: Start difference. First operand 122 states. Second operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 15:14:36,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:14:36,370 INFO L93 Difference]: Finished difference Result 122 states and 134 transitions. [2022-04-07 15:14:36,370 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 134 transitions. [2022-04-07 15:14:36,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:14:36,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:14:36,371 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) Second operand 122 states. [2022-04-07 15:14:36,371 INFO L87 Difference]: Start difference. First operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) Second operand 122 states. [2022-04-07 15:14:36,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:14:36,377 INFO L93 Difference]: Finished difference Result 122 states and 134 transitions. [2022-04-07 15:14:36,377 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 134 transitions. [2022-04-07 15:14:36,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:14:36,378 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:14:36,378 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:14:36,378 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:14:36,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 15:14:36,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 132 transitions. [2022-04-07 15:14:36,382 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 132 transitions. Word has length 38 [2022-04-07 15:14:36,382 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:14:36,382 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 132 transitions. [2022-04-07 15:14:36,382 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-07 15:14:36,382 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-04-07 15:14:36,383 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-07 15:14:36,383 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:14:36,383 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:14:36,406 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-07 15:14:36,606 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:14:36,606 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:14:36,606 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:14:36,607 INFO L85 PathProgramCache]: Analyzing trace with hash -921054650, now seen corresponding path program 2 times [2022-04-07 15:14:36,607 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:14:36,607 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [309862829] [2022-04-07 15:14:36,607 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:14:36,607 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:14:36,629 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:14:36,629 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1605352131] [2022-04-07 15:14:36,629 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 15:14:36,629 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:14:36,629 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:14:36,638 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:14:36,639 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-07 15:14:36,678 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 15:14:36,678 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 15:14:36,678 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 15:14:36,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:14:36,697 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:14:36,977 INFO L272 TraceCheckUtils]: 0: Hoare triple {3510#true} call ULTIMATE.init(); {3510#true} is VALID [2022-04-07 15:14:36,978 INFO L290 TraceCheckUtils]: 1: Hoare triple {3510#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);~counter~0 := 0; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:14:36,978 INFO L290 TraceCheckUtils]: 2: Hoare triple {3518#(<= ~counter~0 0)} assume true; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:14:36,978 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3518#(<= ~counter~0 0)} {3510#true} #65#return; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:14:36,979 INFO L272 TraceCheckUtils]: 4: Hoare triple {3518#(<= ~counter~0 0)} call #t~ret7 := main(); {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:14:36,979 INFO L290 TraceCheckUtils]: 5: Hoare triple {3518#(<= ~counter~0 0)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:14:36,979 INFO L272 TraceCheckUtils]: 6: Hoare triple {3518#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:14:36,980 INFO L290 TraceCheckUtils]: 7: Hoare triple {3518#(<= ~counter~0 0)} ~cond := #in~cond; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:14:36,980 INFO L290 TraceCheckUtils]: 8: Hoare triple {3518#(<= ~counter~0 0)} assume !(0 == ~cond); {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:14:36,980 INFO L290 TraceCheckUtils]: 9: Hoare triple {3518#(<= ~counter~0 0)} assume true; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:14:36,981 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3518#(<= ~counter~0 0)} {3518#(<= ~counter~0 0)} #59#return; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:14:36,981 INFO L290 TraceCheckUtils]: 11: Hoare triple {3518#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:14:36,981 INFO L290 TraceCheckUtils]: 12: Hoare triple {3518#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:14:36,982 INFO L290 TraceCheckUtils]: 13: Hoare triple {3552#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:14:36,982 INFO L272 TraceCheckUtils]: 14: Hoare triple {3552#(<= ~counter~0 1)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:14:36,982 INFO L290 TraceCheckUtils]: 15: Hoare triple {3552#(<= ~counter~0 1)} ~cond := #in~cond; {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:14:36,983 INFO L290 TraceCheckUtils]: 16: Hoare triple {3552#(<= ~counter~0 1)} assume !(0 == ~cond); {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:14:36,983 INFO L290 TraceCheckUtils]: 17: Hoare triple {3552#(<= ~counter~0 1)} assume true; {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:14:36,984 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3552#(<= ~counter~0 1)} {3552#(<= ~counter~0 1)} #61#return; {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:14:36,984 INFO L290 TraceCheckUtils]: 19: Hoare triple {3552#(<= ~counter~0 1)} assume !!(0 != ~y~0); {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:14:36,985 INFO L290 TraceCheckUtils]: 20: Hoare triple {3552#(<= ~counter~0 1)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:14:36,985 INFO L290 TraceCheckUtils]: 21: Hoare triple {3552#(<= ~counter~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); {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:14:36,985 INFO L290 TraceCheckUtils]: 22: Hoare triple {3552#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:14:36,986 INFO L290 TraceCheckUtils]: 23: Hoare triple {3583#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:14:36,987 INFO L272 TraceCheckUtils]: 24: Hoare triple {3583#(<= ~counter~0 2)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:14:36,987 INFO L290 TraceCheckUtils]: 25: Hoare triple {3583#(<= ~counter~0 2)} ~cond := #in~cond; {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:14:36,987 INFO L290 TraceCheckUtils]: 26: Hoare triple {3583#(<= ~counter~0 2)} assume !(0 == ~cond); {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:14:36,988 INFO L290 TraceCheckUtils]: 27: Hoare triple {3583#(<= ~counter~0 2)} assume true; {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:14:36,988 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3583#(<= ~counter~0 2)} {3583#(<= ~counter~0 2)} #61#return; {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:14:36,988 INFO L290 TraceCheckUtils]: 29: Hoare triple {3583#(<= ~counter~0 2)} assume !!(0 != ~y~0); {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:14:36,989 INFO L290 TraceCheckUtils]: 30: Hoare triple {3583#(<= ~counter~0 2)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:14:36,989 INFO L290 TraceCheckUtils]: 31: Hoare triple {3583#(<= ~counter~0 2)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:14:36,989 INFO L290 TraceCheckUtils]: 32: Hoare triple {3583#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:14:36,990 INFO L290 TraceCheckUtils]: 33: Hoare triple {3614#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:14:36,990 INFO L272 TraceCheckUtils]: 34: Hoare triple {3614#(<= ~counter~0 3)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:14:36,991 INFO L290 TraceCheckUtils]: 35: Hoare triple {3614#(<= ~counter~0 3)} ~cond := #in~cond; {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:14:36,991 INFO L290 TraceCheckUtils]: 36: Hoare triple {3614#(<= ~counter~0 3)} assume !(0 == ~cond); {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:14:36,992 INFO L290 TraceCheckUtils]: 37: Hoare triple {3614#(<= ~counter~0 3)} assume true; {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:14:36,993 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3614#(<= ~counter~0 3)} {3614#(<= ~counter~0 3)} #61#return; {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:14:36,993 INFO L290 TraceCheckUtils]: 39: Hoare triple {3614#(<= ~counter~0 3)} assume !!(0 != ~y~0); {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:14:36,993 INFO L290 TraceCheckUtils]: 40: Hoare triple {3614#(<= ~counter~0 3)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:14:36,994 INFO L290 TraceCheckUtils]: 41: Hoare triple {3614#(<= ~counter~0 3)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:14:36,994 INFO L290 TraceCheckUtils]: 42: Hoare triple {3614#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:14:36,995 INFO L290 TraceCheckUtils]: 43: Hoare triple {3645#(<= ~counter~0 4)} assume !!(#t~post6 < 100);havoc #t~post6; {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:14:36,995 INFO L272 TraceCheckUtils]: 44: Hoare triple {3645#(<= ~counter~0 4)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:14:36,996 INFO L290 TraceCheckUtils]: 45: Hoare triple {3645#(<= ~counter~0 4)} ~cond := #in~cond; {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:14:36,996 INFO L290 TraceCheckUtils]: 46: Hoare triple {3645#(<= ~counter~0 4)} assume !(0 == ~cond); {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:14:36,997 INFO L290 TraceCheckUtils]: 47: Hoare triple {3645#(<= ~counter~0 4)} assume true; {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:14:36,997 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3645#(<= ~counter~0 4)} {3645#(<= ~counter~0 4)} #61#return; {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:14:36,998 INFO L290 TraceCheckUtils]: 49: Hoare triple {3645#(<= ~counter~0 4)} assume !!(0 != ~y~0); {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:14:36,998 INFO L290 TraceCheckUtils]: 50: Hoare triple {3645#(<= ~counter~0 4)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:14:36,998 INFO L290 TraceCheckUtils]: 51: Hoare triple {3645#(<= ~counter~0 4)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:14:36,998 INFO L290 TraceCheckUtils]: 52: Hoare triple {3645#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3676#(<= |main_#t~post6| 4)} is VALID [2022-04-07 15:14:36,999 INFO L290 TraceCheckUtils]: 53: Hoare triple {3676#(<= |main_#t~post6| 4)} assume !(#t~post6 < 100);havoc #t~post6; {3511#false} is VALID [2022-04-07 15:14:36,999 INFO L272 TraceCheckUtils]: 54: Hoare triple {3511#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {3511#false} is VALID [2022-04-07 15:14:36,999 INFO L290 TraceCheckUtils]: 55: Hoare triple {3511#false} ~cond := #in~cond; {3511#false} is VALID [2022-04-07 15:14:36,999 INFO L290 TraceCheckUtils]: 56: Hoare triple {3511#false} assume 0 == ~cond; {3511#false} is VALID [2022-04-07 15:14:36,999 INFO L290 TraceCheckUtils]: 57: Hoare triple {3511#false} assume !false; {3511#false} is VALID [2022-04-07 15:14:36,999 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 8 proven. 68 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:14:36,999 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:14:37,319 INFO L290 TraceCheckUtils]: 57: Hoare triple {3511#false} assume !false; {3511#false} is VALID [2022-04-07 15:14:37,320 INFO L290 TraceCheckUtils]: 56: Hoare triple {3511#false} assume 0 == ~cond; {3511#false} is VALID [2022-04-07 15:14:37,320 INFO L290 TraceCheckUtils]: 55: Hoare triple {3511#false} ~cond := #in~cond; {3511#false} is VALID [2022-04-07 15:14:37,320 INFO L272 TraceCheckUtils]: 54: Hoare triple {3511#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {3511#false} is VALID [2022-04-07 15:14:37,320 INFO L290 TraceCheckUtils]: 53: Hoare triple {3704#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {3511#false} is VALID [2022-04-07 15:14:37,320 INFO L290 TraceCheckUtils]: 52: Hoare triple {3708#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3704#(< |main_#t~post6| 100)} is VALID [2022-04-07 15:14:37,321 INFO L290 TraceCheckUtils]: 51: Hoare triple {3708#(< ~counter~0 100)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3708#(< ~counter~0 100)} is VALID [2022-04-07 15:14:37,321 INFO L290 TraceCheckUtils]: 50: Hoare triple {3708#(< ~counter~0 100)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3708#(< ~counter~0 100)} is VALID [2022-04-07 15:14:37,321 INFO L290 TraceCheckUtils]: 49: Hoare triple {3708#(< ~counter~0 100)} assume !!(0 != ~y~0); {3708#(< ~counter~0 100)} is VALID [2022-04-07 15:14:37,322 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3510#true} {3708#(< ~counter~0 100)} #61#return; {3708#(< ~counter~0 100)} is VALID [2022-04-07 15:14:37,322 INFO L290 TraceCheckUtils]: 47: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-07 15:14:37,322 INFO L290 TraceCheckUtils]: 46: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-07 15:14:37,322 INFO L290 TraceCheckUtils]: 45: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-07 15:14:37,322 INFO L272 TraceCheckUtils]: 44: Hoare triple {3708#(< ~counter~0 100)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-07 15:14:37,322 INFO L290 TraceCheckUtils]: 43: Hoare triple {3708#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {3708#(< ~counter~0 100)} is VALID [2022-04-07 15:14:37,323 INFO L290 TraceCheckUtils]: 42: Hoare triple {3739#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3708#(< ~counter~0 100)} is VALID [2022-04-07 15:14:37,323 INFO L290 TraceCheckUtils]: 41: Hoare triple {3739#(< ~counter~0 99)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3739#(< ~counter~0 99)} is VALID [2022-04-07 15:14:37,327 INFO L290 TraceCheckUtils]: 40: Hoare triple {3739#(< ~counter~0 99)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3739#(< ~counter~0 99)} is VALID [2022-04-07 15:14:37,328 INFO L290 TraceCheckUtils]: 39: Hoare triple {3739#(< ~counter~0 99)} assume !!(0 != ~y~0); {3739#(< ~counter~0 99)} is VALID [2022-04-07 15:14:37,328 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3510#true} {3739#(< ~counter~0 99)} #61#return; {3739#(< ~counter~0 99)} is VALID [2022-04-07 15:14:37,328 INFO L290 TraceCheckUtils]: 37: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-07 15:14:37,328 INFO L290 TraceCheckUtils]: 36: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-07 15:14:37,328 INFO L290 TraceCheckUtils]: 35: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-07 15:14:37,328 INFO L272 TraceCheckUtils]: 34: Hoare triple {3739#(< ~counter~0 99)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-07 15:14:37,329 INFO L290 TraceCheckUtils]: 33: Hoare triple {3739#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {3739#(< ~counter~0 99)} is VALID [2022-04-07 15:14:37,329 INFO L290 TraceCheckUtils]: 32: Hoare triple {3770#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3739#(< ~counter~0 99)} is VALID [2022-04-07 15:14:37,329 INFO L290 TraceCheckUtils]: 31: Hoare triple {3770#(< ~counter~0 98)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3770#(< ~counter~0 98)} is VALID [2022-04-07 15:14:37,330 INFO L290 TraceCheckUtils]: 30: Hoare triple {3770#(< ~counter~0 98)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3770#(< ~counter~0 98)} is VALID [2022-04-07 15:14:37,331 INFO L290 TraceCheckUtils]: 29: Hoare triple {3770#(< ~counter~0 98)} assume !!(0 != ~y~0); {3770#(< ~counter~0 98)} is VALID [2022-04-07 15:14:37,331 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3510#true} {3770#(< ~counter~0 98)} #61#return; {3770#(< ~counter~0 98)} is VALID [2022-04-07 15:14:37,331 INFO L290 TraceCheckUtils]: 27: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-07 15:14:37,331 INFO L290 TraceCheckUtils]: 26: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-07 15:14:37,332 INFO L290 TraceCheckUtils]: 25: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-07 15:14:37,332 INFO L272 TraceCheckUtils]: 24: Hoare triple {3770#(< ~counter~0 98)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-07 15:14:37,332 INFO L290 TraceCheckUtils]: 23: Hoare triple {3770#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {3770#(< ~counter~0 98)} is VALID [2022-04-07 15:14:37,332 INFO L290 TraceCheckUtils]: 22: Hoare triple {3801#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3770#(< ~counter~0 98)} is VALID [2022-04-07 15:14:37,332 INFO L290 TraceCheckUtils]: 21: Hoare triple {3801#(< ~counter~0 97)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3801#(< ~counter~0 97)} is VALID [2022-04-07 15:14:37,333 INFO L290 TraceCheckUtils]: 20: Hoare triple {3801#(< ~counter~0 97)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3801#(< ~counter~0 97)} is VALID [2022-04-07 15:14:37,333 INFO L290 TraceCheckUtils]: 19: Hoare triple {3801#(< ~counter~0 97)} assume !!(0 != ~y~0); {3801#(< ~counter~0 97)} is VALID [2022-04-07 15:14:37,334 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3510#true} {3801#(< ~counter~0 97)} #61#return; {3801#(< ~counter~0 97)} is VALID [2022-04-07 15:14:37,334 INFO L290 TraceCheckUtils]: 17: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-07 15:14:37,334 INFO L290 TraceCheckUtils]: 16: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-07 15:14:37,334 INFO L290 TraceCheckUtils]: 15: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-07 15:14:37,334 INFO L272 TraceCheckUtils]: 14: Hoare triple {3801#(< ~counter~0 97)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-07 15:14:37,334 INFO L290 TraceCheckUtils]: 13: Hoare triple {3801#(< ~counter~0 97)} assume !!(#t~post6 < 100);havoc #t~post6; {3801#(< ~counter~0 97)} is VALID [2022-04-07 15:14:37,334 INFO L290 TraceCheckUtils]: 12: Hoare triple {3832#(< ~counter~0 96)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3801#(< ~counter~0 97)} is VALID [2022-04-07 15:14:37,335 INFO L290 TraceCheckUtils]: 11: Hoare triple {3832#(< ~counter~0 96)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3832#(< ~counter~0 96)} is VALID [2022-04-07 15:14:37,335 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3510#true} {3832#(< ~counter~0 96)} #59#return; {3832#(< ~counter~0 96)} is VALID [2022-04-07 15:14:37,335 INFO L290 TraceCheckUtils]: 9: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-07 15:14:37,335 INFO L290 TraceCheckUtils]: 8: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-07 15:14:37,335 INFO L290 TraceCheckUtils]: 7: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-07 15:14:37,335 INFO L272 TraceCheckUtils]: 6: Hoare triple {3832#(< ~counter~0 96)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3510#true} is VALID [2022-04-07 15:14:37,336 INFO L290 TraceCheckUtils]: 5: Hoare triple {3832#(< ~counter~0 96)} 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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3832#(< ~counter~0 96)} is VALID [2022-04-07 15:14:37,336 INFO L272 TraceCheckUtils]: 4: Hoare triple {3832#(< ~counter~0 96)} call #t~ret7 := main(); {3832#(< ~counter~0 96)} is VALID [2022-04-07 15:14:37,336 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3832#(< ~counter~0 96)} {3510#true} #65#return; {3832#(< ~counter~0 96)} is VALID [2022-04-07 15:14:37,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {3832#(< ~counter~0 96)} assume true; {3832#(< ~counter~0 96)} is VALID [2022-04-07 15:14:37,337 INFO L290 TraceCheckUtils]: 1: Hoare triple {3510#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);~counter~0 := 0; {3832#(< ~counter~0 96)} is VALID [2022-04-07 15:14:37,337 INFO L272 TraceCheckUtils]: 0: Hoare triple {3510#true} call ULTIMATE.init(); {3510#true} is VALID [2022-04-07 15:14:37,337 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 8 proven. 44 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 15:14:37,337 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:14:37,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [309862829] [2022-04-07 15:14:37,338 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:14:37,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1605352131] [2022-04-07 15:14:37,338 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1605352131] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:14:37,338 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:14:37,338 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-07 15:14:37,338 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2043883429] [2022-04-07 15:14:37,339 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:14:37,340 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 58 [2022-04-07 15:14:37,342 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:14:37,342 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:14:37,410 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:14:37,410 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-07 15:14:37,410 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:14:37,410 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-07 15:14:37,410 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-07 15:14:37,410 INFO L87 Difference]: Start difference. First operand 120 states and 132 transitions. Second operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:14:37,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:14:37,895 INFO L93 Difference]: Finished difference Result 300 states and 341 transitions. [2022-04-07 15:14:37,895 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-07 15:14:37,896 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 58 [2022-04-07 15:14:37,896 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:14:37,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:14:37,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 150 transitions. [2022-04-07 15:14:37,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:14:37,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 150 transitions. [2022-04-07 15:14:37,903 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 150 transitions. [2022-04-07 15:14:38,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:14:38,009 INFO L225 Difference]: With dead ends: 300 [2022-04-07 15:14:38,009 INFO L226 Difference]: Without dead ends: 293 [2022-04-07 15:14:38,010 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 103 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=184, Invalid=322, Unknown=0, NotChecked=0, Total=506 [2022-04-07 15:14:38,010 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 148 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 148 SdHoareTripleChecker+Valid, 189 SdHoareTripleChecker+Invalid, 100 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 15:14:38,011 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [148 Valid, 189 Invalid, 100 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 15:14:38,011 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 293 states. [2022-04-07 15:14:38,129 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 293 to 283. [2022-04-07 15:14:38,129 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:14:38,130 INFO L82 GeneralOperation]: Start isEquivalent. First operand 293 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-07 15:14:38,131 INFO L74 IsIncluded]: Start isIncluded. First operand 293 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-07 15:14:38,131 INFO L87 Difference]: Start difference. First operand 293 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-07 15:14:38,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:14:38,142 INFO L93 Difference]: Finished difference Result 293 states and 317 transitions. [2022-04-07 15:14:38,142 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 317 transitions. [2022-04-07 15:14:38,143 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:14:38,143 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:14:38,143 INFO L74 IsIncluded]: Start isIncluded. First operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) Second operand 293 states. [2022-04-07 15:14:38,144 INFO L87 Difference]: Start difference. First operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) Second operand 293 states. [2022-04-07 15:14:38,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:14:38,152 INFO L93 Difference]: Finished difference Result 293 states and 317 transitions. [2022-04-07 15:14:38,152 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 317 transitions. [2022-04-07 15:14:38,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:14:38,153 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:14:38,153 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:14:38,153 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:14:38,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-07 15:14:38,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 283 states to 283 states and 312 transitions. [2022-04-07 15:14:38,161 INFO L78 Accepts]: Start accepts. Automaton has 283 states and 312 transitions. Word has length 58 [2022-04-07 15:14:38,161 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:14:38,161 INFO L478 AbstractCegarLoop]: Abstraction has 283 states and 312 transitions. [2022-04-07 15:14:38,161 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:14:38,161 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 312 transitions. [2022-04-07 15:14:38,162 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-07 15:14:38,162 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:14:38,162 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:14:38,187 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-07 15:14:38,375 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-07 15:14:38,376 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:14:38,376 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:14:38,376 INFO L85 PathProgramCache]: Analyzing trace with hash -919267190, now seen corresponding path program 2 times [2022-04-07 15:14:38,376 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:14:38,376 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1128886198] [2022-04-07 15:14:38,376 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:14:38,377 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:14:38,389 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:14:38,389 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [419548446] [2022-04-07 15:14:38,389 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 15:14:38,389 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:14:38,389 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:14:38,390 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:14:38,398 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-07 15:14:38,444 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 15:14:38,444 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 15:14:38,446 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-07 15:14:38,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:14:38,474 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:15:23,650 INFO L272 TraceCheckUtils]: 0: Hoare triple {5246#true} call ULTIMATE.init(); {5246#true} is VALID [2022-04-07 15:15:23,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {5246#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);~counter~0 := 0; {5246#true} is VALID [2022-04-07 15:15:23,651 INFO L290 TraceCheckUtils]: 2: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:15:23,651 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5246#true} {5246#true} #65#return; {5246#true} is VALID [2022-04-07 15:15:23,651 INFO L272 TraceCheckUtils]: 4: Hoare triple {5246#true} call #t~ret7 := main(); {5246#true} is VALID [2022-04-07 15:15:23,651 INFO L290 TraceCheckUtils]: 5: Hoare triple {5246#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5246#true} is VALID [2022-04-07 15:15:23,651 INFO L272 TraceCheckUtils]: 6: Hoare triple {5246#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:15:23,651 INFO L290 TraceCheckUtils]: 7: Hoare triple {5246#true} ~cond := #in~cond; {5272#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 15:15:23,651 INFO L290 TraceCheckUtils]: 8: Hoare triple {5272#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5276#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:15:23,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {5276#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5276#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:15:23,652 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5276#(not (= |assume_abort_if_not_#in~cond| 0))} {5246#true} #59#return; {5283#(<= 1 main_~b~0)} is VALID [2022-04-07 15:15:23,653 INFO L290 TraceCheckUtils]: 11: Hoare triple {5283#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:15:23,653 INFO L290 TraceCheckUtils]: 12: Hoare triple {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:15:23,653 INFO L290 TraceCheckUtils]: 13: Hoare triple {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:15:23,654 INFO L272 TraceCheckUtils]: 14: Hoare triple {5287#(and (= 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)); {5246#true} is VALID [2022-04-07 15:15:23,654 INFO L290 TraceCheckUtils]: 15: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-07 15:15:23,654 INFO L290 TraceCheckUtils]: 16: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-07 15:15:23,654 INFO L290 TraceCheckUtils]: 17: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:15:23,654 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5246#true} {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:15:23,655 INFO L290 TraceCheckUtils]: 19: Hoare triple {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {5287#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:15:23,655 INFO L290 TraceCheckUtils]: 20: Hoare triple {5287#(and (= 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)); {5315#(and (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-07 15:15:23,656 INFO L290 TraceCheckUtils]: 21: Hoare triple {5315#(and (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); {5319#(and (= 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-07 15:15:23,656 INFO L290 TraceCheckUtils]: 22: Hoare triple {5319#(and (= 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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5319#(and (= 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-07 15:15:23,657 INFO L290 TraceCheckUtils]: 23: Hoare triple {5319#(and (= 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 !!(#t~post6 < 100);havoc #t~post6; {5319#(and (= 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-07 15:15:23,657 INFO L272 TraceCheckUtils]: 24: Hoare triple {5319#(and (= 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)); {5246#true} is VALID [2022-04-07 15:15:23,657 INFO L290 TraceCheckUtils]: 25: Hoare triple {5246#true} ~cond := #in~cond; {5332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:15:23,657 INFO L290 TraceCheckUtils]: 26: Hoare triple {5332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:15:23,657 INFO L290 TraceCheckUtils]: 27: Hoare triple {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:15:23,658 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} {5319#(and (= 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))} #61#return; {5343#(and (= main_~y~0 (div 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) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:15:23,660 INFO L290 TraceCheckUtils]: 29: Hoare triple {5343#(and (= main_~y~0 (div 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) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {5343#(and (= main_~y~0 (div 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) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:15:23,660 INFO L290 TraceCheckUtils]: 30: Hoare triple {5343#(and (= main_~y~0 (div 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) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5350#(and (= main_~y~0 (div main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:15:23,663 INFO L290 TraceCheckUtils]: 31: Hoare triple {5350#(and (= main_~y~0 (div main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 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); {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:15:23,664 INFO L290 TraceCheckUtils]: 32: Hoare triple {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:15:23,664 INFO L290 TraceCheckUtils]: 33: Hoare triple {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 100);havoc #t~post6; {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:15:23,664 INFO L272 TraceCheckUtils]: 34: Hoare triple {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (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)); {5246#true} is VALID [2022-04-07 15:15:23,665 INFO L290 TraceCheckUtils]: 35: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-07 15:15:23,665 INFO L290 TraceCheckUtils]: 36: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-07 15:15:23,665 INFO L290 TraceCheckUtils]: 37: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:15:23,665 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5246#true} {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:15:23,666 INFO L290 TraceCheckUtils]: 39: Hoare triple {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:15:23,666 INFO L290 TraceCheckUtils]: 40: Hoare triple {5354#(and (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* (* main_~a~0 2) (div main_~b~0 2)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5382#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:15:23,668 INFO L290 TraceCheckUtils]: 41: Hoare triple {5382#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 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); {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:15:23,668 INFO L290 TraceCheckUtils]: 42: Hoare triple {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:15:23,669 INFO L290 TraceCheckUtils]: 43: Hoare triple {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !!(#t~post6 < 100);havoc #t~post6; {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:15:23,669 INFO L272 TraceCheckUtils]: 44: Hoare triple {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:15:23,669 INFO L290 TraceCheckUtils]: 45: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-07 15:15:23,669 INFO L290 TraceCheckUtils]: 46: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-07 15:15:23,669 INFO L290 TraceCheckUtils]: 47: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:15:23,669 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5246#true} {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} #61#return; {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:15:23,671 INFO L290 TraceCheckUtils]: 49: Hoare triple {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !!(0 != ~y~0); {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:15:23,672 INFO L290 TraceCheckUtils]: 50: Hoare triple {5386#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5414#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:15:23,674 INFO L290 TraceCheckUtils]: 51: Hoare triple {5414#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 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); {5418#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:15:23,674 INFO L290 TraceCheckUtils]: 52: Hoare triple {5418#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5418#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:15:23,675 INFO L290 TraceCheckUtils]: 53: Hoare triple {5418#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !!(#t~post6 < 100);havoc #t~post6; {5418#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:15:23,680 INFO L272 TraceCheckUtils]: 54: Hoare triple {5418#(and (= (* main_~b~0 main_~a~0) (+ (* 2 (* main_~a~0 (div main_~b~0 2))) main_~z~0)) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5428#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:15:23,685 INFO L290 TraceCheckUtils]: 55: Hoare triple {5428#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5432#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:15:23,685 INFO L290 TraceCheckUtils]: 56: Hoare triple {5432#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5247#false} is VALID [2022-04-07 15:15:23,685 INFO L290 TraceCheckUtils]: 57: Hoare triple {5247#false} assume !false; {5247#false} is VALID [2022-04-07 15:15:23,686 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 10 proven. 55 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 15:15:23,686 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:16:35,419 INFO L290 TraceCheckUtils]: 57: Hoare triple {5247#false} assume !false; {5247#false} is VALID [2022-04-07 15:16:35,419 INFO L290 TraceCheckUtils]: 56: Hoare triple {5432#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5247#false} is VALID [2022-04-07 15:16:35,419 INFO L290 TraceCheckUtils]: 55: Hoare triple {5428#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5432#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:16:35,420 INFO L272 TraceCheckUtils]: 54: Hoare triple {5448#(= (+ 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)); {5428#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:16:35,420 INFO L290 TraceCheckUtils]: 53: Hoare triple {5448#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 100);havoc #t~post6; {5448#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:16:35,421 INFO L290 TraceCheckUtils]: 52: Hoare triple {5448#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5448#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:16:35,425 INFO L290 TraceCheckUtils]: 51: Hoare triple {5458#(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); {5448#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:16:35,426 INFO L290 TraceCheckUtils]: 50: Hoare triple {5462#(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)); {5458#(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-07 15:16:35,427 INFO L290 TraceCheckUtils]: 49: Hoare triple {5462#(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); {5462#(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-07 15:16:35,428 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5246#true} {5462#(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)))))} #61#return; {5462#(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-07 15:16:35,428 INFO L290 TraceCheckUtils]: 47: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:16:35,428 INFO L290 TraceCheckUtils]: 46: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-07 15:16:35,428 INFO L290 TraceCheckUtils]: 45: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-07 15:16:35,428 INFO L272 TraceCheckUtils]: 44: Hoare triple {5462#(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)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:16:35,429 INFO L290 TraceCheckUtils]: 43: Hoare triple {5462#(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 !!(#t~post6 < 100);havoc #t~post6; {5462#(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-07 15:16:35,429 INFO L290 TraceCheckUtils]: 42: Hoare triple {5462#(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)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5462#(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-07 15:16:35,442 INFO L290 TraceCheckUtils]: 41: Hoare triple {5490#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5462#(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-07 15:16:35,444 INFO L290 TraceCheckUtils]: 40: Hoare triple {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5490#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} is VALID [2022-04-07 15:16:35,445 INFO L290 TraceCheckUtils]: 39: Hoare triple {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !!(0 != ~y~0); {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-07 15:16:35,445 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5246#true} {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} #61#return; {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-07 15:16:35,445 INFO L290 TraceCheckUtils]: 37: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:16:35,445 INFO L290 TraceCheckUtils]: 36: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-07 15:16:35,445 INFO L290 TraceCheckUtils]: 35: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-07 15:16:35,445 INFO L272 TraceCheckUtils]: 34: Hoare triple {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:16:35,446 INFO L290 TraceCheckUtils]: 33: Hoare triple {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !!(#t~post6 < 100);havoc #t~post6; {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-07 15:16:35,447 INFO L290 TraceCheckUtils]: 32: Hoare triple {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-07 15:16:35,489 INFO L290 TraceCheckUtils]: 31: Hoare triple {5522#(and (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))) (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 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); {5494#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-07 15:16:35,491 INFO L290 TraceCheckUtils]: 30: Hoare triple {5526#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5522#(and (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))) (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)))} is VALID [2022-04-07 15:16:35,492 INFO L290 TraceCheckUtils]: 29: Hoare triple {5526#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))))} assume !!(0 != ~y~0); {5526#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))))} is VALID [2022-04-07 15:16:35,510 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} {5533#(or (<= 0 main_~y~0) (and (or (= (+ (* main_~x~0 8) (* (* main_~x~0 (div (+ (div (div main_~y~0 2) 2) 1) 2)) 8)) (* main_~y~0 main_~x~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod main_~y~0 2) 0) (= (+ (* (* main_~x~0 (div (div (+ (div main_~y~0 2) 1) 2) 2)) 8) (* main_~x~0 8)) (* main_~y~0 main_~x~0))) (or (= (+ (* main_~x~0 8) (* (* (div (div (div main_~y~0 2) 2) 2) main_~x~0) 8)) (* main_~y~0 main_~x~0)) (= (mod (div (div main_~y~0 2) 2) 2) 0))))} #61#return; {5526#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))))} is VALID [2022-04-07 15:16:35,511 INFO L290 TraceCheckUtils]: 27: Hoare triple {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:16:35,511 INFO L290 TraceCheckUtils]: 26: Hoare triple {5543#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:16:35,511 INFO L290 TraceCheckUtils]: 25: Hoare triple {5246#true} ~cond := #in~cond; {5543#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 15:16:35,512 INFO L272 TraceCheckUtils]: 24: Hoare triple {5533#(or (<= 0 main_~y~0) (and (or (= (+ (* main_~x~0 8) (* (* main_~x~0 (div (+ (div (div main_~y~0 2) 2) 1) 2)) 8)) (* main_~y~0 main_~x~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod main_~y~0 2) 0) (= (+ (* (* main_~x~0 (div (div (+ (div main_~y~0 2) 1) 2) 2)) 8) (* main_~x~0 8)) (* main_~y~0 main_~x~0))) (or (= (+ (* main_~x~0 8) (* (* (div (div (div main_~y~0 2) 2) 2) main_~x~0) 8)) (* main_~y~0 main_~x~0)) (= (mod (div (div main_~y~0 2) 2) 2) 0))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:16:35,513 INFO L290 TraceCheckUtils]: 23: Hoare triple {5533#(or (<= 0 main_~y~0) (and (or (= (+ (* main_~x~0 8) (* (* main_~x~0 (div (+ (div (div main_~y~0 2) 2) 1) 2)) 8)) (* main_~y~0 main_~x~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod main_~y~0 2) 0) (= (+ (* (* main_~x~0 (div (div (+ (div main_~y~0 2) 1) 2) 2)) 8) (* main_~x~0 8)) (* main_~y~0 main_~x~0))) (or (= (+ (* main_~x~0 8) (* (* (div (div (div main_~y~0 2) 2) 2) main_~x~0) 8)) (* main_~y~0 main_~x~0)) (= (mod (div (div main_~y~0 2) 2) 2) 0))))} assume !!(#t~post6 < 100);havoc #t~post6; {5533#(or (<= 0 main_~y~0) (and (or (= (+ (* main_~x~0 8) (* (* main_~x~0 (div (+ (div (div main_~y~0 2) 2) 1) 2)) 8)) (* main_~y~0 main_~x~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod main_~y~0 2) 0) (= (+ (* (* main_~x~0 (div (div (+ (div main_~y~0 2) 1) 2) 2)) 8) (* main_~x~0 8)) (* main_~y~0 main_~x~0))) (or (= (+ (* main_~x~0 8) (* (* (div (div (div main_~y~0 2) 2) 2) main_~x~0) 8)) (* main_~y~0 main_~x~0)) (= (mod (div (div main_~y~0 2) 2) 2) 0))))} is VALID [2022-04-07 15:16:35,514 INFO L290 TraceCheckUtils]: 22: Hoare triple {5533#(or (<= 0 main_~y~0) (and (or (= (+ (* main_~x~0 8) (* (* main_~x~0 (div (+ (div (div main_~y~0 2) 2) 1) 2)) 8)) (* main_~y~0 main_~x~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod main_~y~0 2) 0) (= (+ (* (* main_~x~0 (div (div (+ (div main_~y~0 2) 1) 2) 2)) 8) (* main_~x~0 8)) (* main_~y~0 main_~x~0))) (or (= (+ (* main_~x~0 8) (* (* (div (div (div main_~y~0 2) 2) 2) main_~x~0) 8)) (* main_~y~0 main_~x~0)) (= (mod (div (div main_~y~0 2) 2) 2) 0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5533#(or (<= 0 main_~y~0) (and (or (= (+ (* main_~x~0 8) (* (* main_~x~0 (div (+ (div (div main_~y~0 2) 2) 1) 2)) 8)) (* main_~y~0 main_~x~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod main_~y~0 2) 0) (= (+ (* (* main_~x~0 (div (div (+ (div main_~y~0 2) 1) 2) 2)) 8) (* main_~x~0 8)) (* main_~y~0 main_~x~0))) (or (= (+ (* main_~x~0 8) (* (* (div (div (div main_~y~0 2) 2) 2) main_~x~0) 8)) (* main_~y~0 main_~x~0)) (= (mod (div (div main_~y~0 2) 2) 2) 0))))} is VALID [2022-04-07 15:16:35,642 INFO L290 TraceCheckUtils]: 21: Hoare triple {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 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); {5533#(or (<= 0 main_~y~0) (and (or (= (+ (* main_~x~0 8) (* (* main_~x~0 (div (+ (div (div main_~y~0 2) 2) 1) 2)) 8)) (* main_~y~0 main_~x~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod main_~y~0 2) 0) (= (+ (* (* main_~x~0 (div (div (+ (div main_~y~0 2) 1) 2) 2)) 8) (* main_~x~0 8)) (* main_~y~0 main_~x~0))) (or (= (+ (* main_~x~0 8) (* (* (div (div (div main_~y~0 2) 2) 2) main_~x~0) 8)) (* main_~y~0 main_~x~0)) (= (mod (div (div main_~y~0 2) 2) 2) 0))))} is VALID [2022-04-07 15:16:35,644 INFO L290 TraceCheckUtils]: 20: Hoare triple {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} is VALID [2022-04-07 15:16:35,645 INFO L290 TraceCheckUtils]: 19: Hoare triple {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} assume !!(0 != ~y~0); {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} is VALID [2022-04-07 15:16:35,645 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5246#true} {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} #61#return; {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} is VALID [2022-04-07 15:16:35,646 INFO L290 TraceCheckUtils]: 17: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:16:35,646 INFO L290 TraceCheckUtils]: 16: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-07 15:16:35,646 INFO L290 TraceCheckUtils]: 15: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-07 15:16:35,646 INFO L272 TraceCheckUtils]: 14: Hoare triple {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:16:35,647 INFO L290 TraceCheckUtils]: 13: Hoare triple {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} assume !!(#t~post6 < 100);havoc #t~post6; {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} is VALID [2022-04-07 15:16:35,648 INFO L290 TraceCheckUtils]: 12: Hoare triple {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} is VALID [2022-04-07 15:16:35,650 INFO L290 TraceCheckUtils]: 11: Hoare triple {5587#(and (or (and (or (= (+ (* main_~a~0 16) (* (* (* main_~a~0 2) (div (+ (div (div (+ (div main_~b~0 2) 1) 2) 2) 1) 2)) 8)) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod (div (+ (div main_~b~0 2) 1) 2) 2) 0)) (or (= (* (* main_~a~0 2) (+ (div main_~b~0 2) 1)) (+ (* (* (* main_~a~0 2) (div (div (+ (div (+ (div main_~b~0 2) 1) 2) 1) 2) 2)) 8) (* main_~a~0 16))) (= (mod (+ (div main_~b~0 2) 1) 2) 0)) (or (= (+ (* main_~a~0 16) (* 8 (* (* main_~a~0 2) (div (div (div (+ (div main_~b~0 2) 1) 2) 2) 2)))) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod (div (div (+ (div main_~b~0 2) 1) 2) 2) 2) 0))) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0))) (or (not (= (mod main_~b~0 2) 0)) (and (or (= (mod (div (div main_~b~0 2) 2) 2) 0) (= (* (* main_~a~0 2) (div main_~b~0 2)) (+ (* (* (div (+ (div (div (div main_~b~0 2) 2) 2) 1) 2) (* main_~a~0 2)) 8) (* main_~a~0 16)))) (or (= (* (* main_~a~0 2) (div main_~b~0 2)) (+ (* main_~a~0 16) (* (* (* main_~a~0 2) (div (div (+ (div (div main_~b~0 2) 2) 1) 2) 2)) 8))) (= (mod (div main_~b~0 2) 2) 0)) (or (= (+ (* main_~a~0 16) (* 8 (* (* main_~a~0 2) (div (div (div (div main_~b~0 2) 2) 2) 2)))) (* (* main_~a~0 2) (div main_~b~0 2))) (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 0))) (<= 0 (div main_~b~0 2))))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5556#(and (or (and (or (= (+ (* (* (* main_~x~0 2) (div (div (div (+ (div main_~y~0 2) 1) 2) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (= (mod (div (div (+ (div main_~y~0 2) 1) 2) 2) 2) 0)) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* main_~x~0 16) (* (* (div (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 2) (* main_~x~0 2)) 8)))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (+ (* (* (* main_~x~0 2) (div (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1) 2)) 8) (* main_~x~0 16))))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (and (or (= (+ (* (* (* main_~x~0 2) (div (div (+ (div (div main_~y~0 2) 2) 1) 2) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div main_~y~0 2) 2) 0)) (or (= (+ (* (* (* main_~x~0 2) (div (+ (div (div (div main_~y~0 2) 2) 2) 1) 2)) 8) (* main_~x~0 16)) (* (* main_~x~0 2) (div main_~y~0 2))) (= (mod (div (div main_~y~0 2) 2) 2) 0)) (or (= (* (* main_~x~0 2) (div main_~y~0 2)) (+ (* (* (* main_~x~0 2) (div (div (div (div main_~y~0 2) 2) 2) 2)) 8) (* main_~x~0 16))) (= (mod (div (div (div main_~y~0 2) 2) 2) 2) 0)))))} is VALID [2022-04-07 15:16:35,652 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5276#(not (= |assume_abort_if_not_#in~cond| 0))} {5246#true} #59#return; {5587#(and (or (and (or (= (+ (* main_~a~0 16) (* (* (* main_~a~0 2) (div (+ (div (div (+ (div main_~b~0 2) 1) 2) 2) 1) 2)) 8)) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod (div (+ (div main_~b~0 2) 1) 2) 2) 0)) (or (= (* (* main_~a~0 2) (+ (div main_~b~0 2) 1)) (+ (* (* (* main_~a~0 2) (div (div (+ (div (+ (div main_~b~0 2) 1) 2) 1) 2) 2)) 8) (* main_~a~0 16))) (= (mod (+ (div main_~b~0 2) 1) 2) 0)) (or (= (+ (* main_~a~0 16) (* 8 (* (* main_~a~0 2) (div (div (div (+ (div main_~b~0 2) 1) 2) 2) 2)))) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod (div (div (+ (div main_~b~0 2) 1) 2) 2) 2) 0))) (= (mod main_~b~0 2) 0) (not (< main_~b~0 0))) (or (not (= (mod main_~b~0 2) 0)) (and (or (= (mod (div (div main_~b~0 2) 2) 2) 0) (= (* (* main_~a~0 2) (div main_~b~0 2)) (+ (* (* (div (+ (div (div (div main_~b~0 2) 2) 2) 1) 2) (* main_~a~0 2)) 8) (* main_~a~0 16)))) (or (= (* (* main_~a~0 2) (div main_~b~0 2)) (+ (* main_~a~0 16) (* (* (* main_~a~0 2) (div (div (+ (div (div main_~b~0 2) 2) 1) 2) 2)) 8))) (= (mod (div main_~b~0 2) 2) 0)) (or (= (+ (* main_~a~0 16) (* 8 (* (* main_~a~0 2) (div (div (div (div main_~b~0 2) 2) 2) 2)))) (* (* main_~a~0 2) (div main_~b~0 2))) (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 0))) (<= 0 (div main_~b~0 2))))} is VALID [2022-04-07 15:16:35,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {5276#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5276#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:16:35,652 INFO L290 TraceCheckUtils]: 8: Hoare triple {5600#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {5276#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:16:35,653 INFO L290 TraceCheckUtils]: 7: Hoare triple {5246#true} ~cond := #in~cond; {5600#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 15:16:35,653 INFO L272 TraceCheckUtils]: 6: Hoare triple {5246#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:16:35,653 INFO L290 TraceCheckUtils]: 5: Hoare triple {5246#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;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5246#true} is VALID [2022-04-07 15:16:35,653 INFO L272 TraceCheckUtils]: 4: Hoare triple {5246#true} call #t~ret7 := main(); {5246#true} is VALID [2022-04-07 15:16:35,653 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5246#true} {5246#true} #65#return; {5246#true} is VALID [2022-04-07 15:16:35,653 INFO L290 TraceCheckUtils]: 2: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:16:35,653 INFO L290 TraceCheckUtils]: 1: Hoare triple {5246#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);~counter~0 := 0; {5246#true} is VALID [2022-04-07 15:16:35,653 INFO L272 TraceCheckUtils]: 0: Hoare triple {5246#true} call ULTIMATE.init(); {5246#true} is VALID [2022-04-07 15:16:35,654 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 10 proven. 55 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 15:16:35,654 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:16:35,654 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1128886198] [2022-04-07 15:16:35,654 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:16:35,654 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [419548446] [2022-04-07 15:16:35,654 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [419548446] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:16:35,654 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:16:35,654 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 18] total 31 [2022-04-07 15:16:35,654 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1359974409] [2022-04-07 15:16:35,654 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:16:35,655 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 2.096774193548387) internal successors, (65), 28 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) Word has length 58 [2022-04-07 15:16:35,656 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:16:35,656 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 31 states, 31 states have (on average 2.096774193548387) internal successors, (65), 28 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-07 15:16:35,909 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:16:35,909 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 31 states [2022-04-07 15:16:35,909 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:16:35,910 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2022-04-07 15:16:35,910 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=152, Invalid=778, Unknown=0, NotChecked=0, Total=930 [2022-04-07 15:16:35,911 INFO L87 Difference]: Start difference. First operand 283 states and 312 transitions. Second operand has 31 states, 31 states have (on average 2.096774193548387) internal successors, (65), 28 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-07 15:16:56,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:16:56,815 INFO L93 Difference]: Finished difference Result 409 states and 471 transitions. [2022-04-07 15:16:56,815 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-07 15:16:56,816 INFO L78 Accepts]: Start accepts. Automaton has has 31 states, 31 states have (on average 2.096774193548387) internal successors, (65), 28 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) Word has length 58 [2022-04-07 15:16:56,816 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:16:56,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 2.096774193548387) internal successors, (65), 28 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-07 15:16:56,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 116 transitions. [2022-04-07 15:16:56,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 31 states have (on average 2.096774193548387) internal successors, (65), 28 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-07 15:16:56,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 116 transitions. [2022-04-07 15:16:56,821 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 116 transitions. [2022-04-07 15:17:04,591 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 114 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-07 15:17:04,603 INFO L225 Difference]: With dead ends: 409 [2022-04-07 15:17:04,603 INFO L226 Difference]: Without dead ends: 407 [2022-04-07 15:17:04,604 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 84 SyntacticMatches, 2 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 507 ImplicationChecksByTransitivity, 14.0s TimeCoverageRelationStatistics Valid=389, Invalid=1681, Unknown=0, NotChecked=0, Total=2070 [2022-04-07 15:17:04,604 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 96 mSDsluCounter, 286 mSDsCounter, 0 mSdLazyCounter, 598 mSolverCounterSat, 110 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 98 SdHoareTripleChecker+Valid, 316 SdHoareTripleChecker+Invalid, 708 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 110 IncrementalHoareTripleChecker+Valid, 598 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.2s IncrementalHoareTripleChecker+Time [2022-04-07 15:17:04,605 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [98 Valid, 316 Invalid, 708 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [110 Valid, 598 Invalid, 0 Unknown, 0 Unchecked, 5.2s Time] [2022-04-07 15:17:04,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 407 states. [2022-04-07 15:17:04,776 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 407 to 403. [2022-04-07 15:17:04,776 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:17:04,777 INFO L82 GeneralOperation]: Start isEquivalent. First operand 407 states. Second operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-07 15:17:04,777 INFO L74 IsIncluded]: Start isIncluded. First operand 407 states. Second operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-07 15:17:04,778 INFO L87 Difference]: Start difference. First operand 407 states. Second operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-07 15:17:04,789 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:17:04,790 INFO L93 Difference]: Finished difference Result 407 states and 464 transitions. [2022-04-07 15:17:04,790 INFO L276 IsEmpty]: Start isEmpty. Operand 407 states and 464 transitions. [2022-04-07 15:17:04,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:17:04,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:17:04,791 INFO L74 IsIncluded]: Start isIncluded. First operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) Second operand 407 states. [2022-04-07 15:17:04,792 INFO L87 Difference]: Start difference. First operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) Second operand 407 states. [2022-04-07 15:17:04,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:17:04,804 INFO L93 Difference]: Finished difference Result 407 states and 464 transitions. [2022-04-07 15:17:04,805 INFO L276 IsEmpty]: Start isEmpty. Operand 407 states and 464 transitions. [2022-04-07 15:17:04,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:17:04,806 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:17:04,806 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:17:04,806 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:17:04,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-07 15:17:04,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 403 states to 403 states and 460 transitions. [2022-04-07 15:17:04,819 INFO L78 Accepts]: Start accepts. Automaton has 403 states and 460 transitions. Word has length 58 [2022-04-07 15:17:04,819 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:17:04,819 INFO L478 AbstractCegarLoop]: Abstraction has 403 states and 460 transitions. [2022-04-07 15:17:04,819 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 31 states, 31 states have (on average 2.096774193548387) internal successors, (65), 28 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-07 15:17:04,820 INFO L276 IsEmpty]: Start isEmpty. Operand 403 states and 460 transitions. [2022-04-07 15:17:04,820 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-07 15:17:04,821 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:17:04,821 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:17:04,850 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-07 15:17:05,035 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-07 15:17:05,035 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:17:05,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:17:05,036 INFO L85 PathProgramCache]: Analyzing trace with hash 86722727, now seen corresponding path program 2 times [2022-04-07 15:17:05,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:17:05,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1596294704] [2022-04-07 15:17:05,036 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:17:05,036 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:17:05,056 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:17:05,056 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1827630520] [2022-04-07 15:17:05,056 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 15:17:05,056 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:17:05,056 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:17:05,057 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:17:05,058 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-07 15:17:05,108 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 15:17:05,108 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 15:17:05,109 INFO L263 TraceCheckSpWp]: Trace formula consists of 189 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-07 15:17:05,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:17:05,144 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:17:28,075 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful