/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_unwindbound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-14 17:25:09,764 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-14 17:25:09,766 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-14 17:25:09,802 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-14 17:25:09,803 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-14 17:25:09,804 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-14 17:25:09,806 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-14 17:25:09,808 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-14 17:25:09,809 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-14 17:25:09,812 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-14 17:25:09,813 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-14 17:25:09,813 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-14 17:25:09,814 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-14 17:25:09,815 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-14 17:25:09,816 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-14 17:25:09,818 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-14 17:25:09,818 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-14 17:25:09,819 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-14 17:25:09,820 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-14 17:25:09,824 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-14 17:25:09,825 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-14 17:25:09,826 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-14 17:25:09,826 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-14 17:25:09,827 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-14 17:25:09,828 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-14 17:25:09,832 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-14 17:25:09,832 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-14 17:25:09,832 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-14 17:25:09,833 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-14 17:25:09,833 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-14 17:25:09,834 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-14 17:25:09,834 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-14 17:25:09,835 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-14 17:25:09,836 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-14 17:25:09,836 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-14 17:25:09,837 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-14 17:25:09,837 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-14 17:25:09,837 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-14 17:25:09,837 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-14 17:25:09,837 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-14 17:25:09,838 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-14 17:25:09,839 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-14 17:25:09,839 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-14 17:25:09,862 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-14 17:25:09,863 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-14 17:25:09,863 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-14 17:25:09,863 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-14 17:25:09,863 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-14 17:25:09,863 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-14 17:25:09,864 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-14 17:25:09,864 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-14 17:25:09,864 INFO L138 SettingsManager]: * Use SBE=true [2022-04-14 17:25:09,864 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-14 17:25:09,864 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-14 17:25:09,864 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-14 17:25:09,865 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-14 17:25:09,865 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-14 17:25:09,865 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-14 17:25:09,865 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-14 17:25:09,865 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-14 17:25:09,866 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-14 17:25:09,866 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-14 17:25:09,866 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-14 17:25:09,866 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-14 17:25:09,866 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-14 17:25:09,866 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-14 17:25:09,866 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-14 17:25:09,866 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 17:25:09,866 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-14 17:25:09,866 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-14 17:25:09,867 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-14 17:25:09,867 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-14 17:25:09,867 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-14 17:25:09,867 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-14 17:25:09,867 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-14 17:25:09,867 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-14 17:25:09,867 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-14 17:25:10,034 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-14 17:25:10,058 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-14 17:25:10,060 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-14 17:25:10,061 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-14 17:25:10,062 INFO L275 PluginConnector]: CDTParser initialized [2022-04-14 17:25:10,063 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound50.c [2022-04-14 17:25:10,117 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e0aeb9539/2ad114d8557148eea383b50a1b14fcf2/FLAG0966aafcc [2022-04-14 17:25:10,499 INFO L306 CDTParser]: Found 1 translation units. [2022-04-14 17:25:10,499 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound50.c [2022-04-14 17:25:10,503 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e0aeb9539/2ad114d8557148eea383b50a1b14fcf2/FLAG0966aafcc [2022-04-14 17:25:10,906 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e0aeb9539/2ad114d8557148eea383b50a1b14fcf2 [2022-04-14 17:25:10,930 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-14 17:25:10,932 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-14 17:25:10,932 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-14 17:25:10,932 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-14 17:25:10,936 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-14 17:25:10,937 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 05:25:10" (1/1) ... [2022-04-14 17:25:10,938 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3e06c078 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:25:10, skipping insertion in model container [2022-04-14 17:25:10,938 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 05:25:10" (1/1) ... [2022-04-14 17:25:10,950 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-14 17:25:10,962 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-14 17:25:11,117 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_unwindbound50.c[537,550] [2022-04-14 17:25:11,137 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 17:25:11,142 INFO L203 MainTranslator]: Completed pre-run [2022-04-14 17:25:11,154 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_unwindbound50.c[537,550] [2022-04-14 17:25:11,161 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 17:25:11,169 INFO L208 MainTranslator]: Completed translation [2022-04-14 17:25:11,169 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:25:11 WrapperNode [2022-04-14 17:25:11,169 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-14 17:25:11,170 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-14 17:25:11,170 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-14 17:25:11,170 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-14 17:25:11,177 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:25:11" (1/1) ... [2022-04-14 17:25:11,177 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:25:11" (1/1) ... [2022-04-14 17:25:11,180 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:25:11" (1/1) ... [2022-04-14 17:25:11,180 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:25:11" (1/1) ... [2022-04-14 17:25:11,184 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:25:11" (1/1) ... [2022-04-14 17:25:11,186 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:25:11" (1/1) ... [2022-04-14 17:25:11,186 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:25:11" (1/1) ... [2022-04-14 17:25:11,187 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-14 17:25:11,188 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-14 17:25:11,188 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-14 17:25:11,188 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-14 17:25:11,188 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:25:11" (1/1) ... [2022-04-14 17:25:11,193 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 17:25:11,200 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:11,209 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-14 17:25:11,211 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-14 17:25:11,253 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-14 17:25:11,253 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-14 17:25:11,254 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-14 17:25:11,254 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-14 17:25:11,256 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-14 17:25:11,256 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-14 17:25:11,256 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-14 17:25:11,256 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-14 17:25:11,256 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-14 17:25:11,257 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-14 17:25:11,257 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-14 17:25:11,257 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-14 17:25:11,259 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-14 17:25:11,259 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-14 17:25:11,259 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-14 17:25:11,259 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-14 17:25:11,259 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-14 17:25:11,259 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-14 17:25:11,259 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-14 17:25:11,259 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-14 17:25:11,323 INFO L234 CfgBuilder]: Building ICFG [2022-04-14 17:25:11,325 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-14 17:25:11,481 INFO L275 CfgBuilder]: Performing block encoding [2022-04-14 17:25:11,486 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-14 17:25:11,487 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-14 17:25:11,488 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 05:25:11 BoogieIcfgContainer [2022-04-14 17:25:11,488 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-14 17:25:11,489 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-14 17:25:11,489 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-14 17:25:11,505 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-14 17:25:11,505 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.04 05:25:10" (1/3) ... [2022-04-14 17:25:11,506 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5f980a0c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 05:25:11, skipping insertion in model container [2022-04-14 17:25:11,506 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:25:11" (2/3) ... [2022-04-14 17:25:11,506 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5f980a0c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 05:25:11, skipping insertion in model container [2022-04-14 17:25:11,506 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 05:25:11" (3/3) ... [2022-04-14 17:25:11,507 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_unwindbound50.c [2022-04-14 17:25:11,510 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-14 17:25:11,510 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-14 17:25:11,538 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-14 17:25:11,544 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-14 17:25:11,544 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-14 17:25:11,563 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-14 17:25:11,566 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-14 17:25:11,566 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:11,567 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:25:11,567 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:11,571 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:11,571 INFO L85 PathProgramCache]: Analyzing trace with hash -1523633710, now seen corresponding path program 1 times [2022-04-14 17:25:11,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:11,578 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [439847014] [2022-04-14 17:25:11,578 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:11,578 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:11,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:11,724 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-14 17:25:11,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:11,748 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-14 17:25:11,749 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-14 17:25:11,749 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2022-04-14 17:25:11,750 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-14 17:25:11,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:11,764 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-14 17:25:11,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-14 17:25:11,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-14 17:25:11,765 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-14 17:25:11,766 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-14 17:25:11,766 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-14 17:25:11,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-14 17:25:11,767 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2022-04-14 17:25:11,767 INFO L272 TraceCheckUtils]: 4: Hoare triple {33#true} call #t~ret7 := main(); {33#true} is VALID [2022-04-14 17:25:11,767 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-14 17:25:11,767 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-14 17:25:11,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-14 17:25:11,768 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-14 17:25:11,768 INFO L290 TraceCheckUtils]: 9: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-14 17:25:11,768 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-14 17:25:11,768 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-14 17:25:11,769 INFO L290 TraceCheckUtils]: 12: Hoare triple {34#false} assume !true; {34#false} is VALID [2022-04-14 17:25:11,769 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-14 17:25:11,769 INFO L290 TraceCheckUtils]: 14: Hoare triple {34#false} ~cond := #in~cond; {34#false} is VALID [2022-04-14 17:25:11,769 INFO L290 TraceCheckUtils]: 15: Hoare triple {34#false} assume 0 == ~cond; {34#false} is VALID [2022-04-14 17:25:11,770 INFO L290 TraceCheckUtils]: 16: Hoare triple {34#false} assume !false; {34#false} is VALID [2022-04-14 17:25:11,770 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-14 17:25:11,770 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:11,771 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [439847014] [2022-04-14 17:25:11,771 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [439847014] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:25:11,771 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:25:11,771 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-14 17:25:11,773 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [657540970] [2022-04-14 17:25:11,774 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:25:11,777 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-14 17:25:11,779 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:11,781 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-14 17:25:11,820 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-14 17:25:11,820 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-14 17:25:11,820 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:11,836 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-14 17:25:11,837 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-14 17:25:11,839 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-14 17:25:11,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:11,950 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-14 17:25:11,950 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-14 17:25:11,950 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-14 17:25:11,950 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:11,951 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-14 17:25:11,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2022-04-14 17:25:11,958 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-14 17:25:11,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2022-04-14 17:25:11,961 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 66 transitions. [2022-04-14 17:25:12,015 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-14 17:25:12,022 INFO L225 Difference]: With dead ends: 52 [2022-04-14 17:25:12,022 INFO L226 Difference]: Without dead ends: 26 [2022-04-14 17:25:12,024 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-14 17:25:12,026 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-14 17:25:12,027 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-14 17:25:12,037 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-04-14 17:25:12,051 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 25. [2022-04-14 17:25:12,051 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:12,052 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-14 17:25:12,052 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-14 17:25:12,053 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-14 17:25:12,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:12,057 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-14 17:25:12,057 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-14 17:25:12,057 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:12,057 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:12,057 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-14 17:25:12,058 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-14 17:25:12,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:12,061 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-14 17:25:12,061 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-14 17:25:12,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:12,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:12,069 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:12,069 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:12,070 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-14 17:25:12,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 28 transitions. [2022-04-14 17:25:12,075 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 28 transitions. Word has length 17 [2022-04-14 17:25:12,075 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:12,075 INFO L478 AbstractCegarLoop]: Abstraction has 25 states and 28 transitions. [2022-04-14 17:25:12,075 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-14 17:25:12,076 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2022-04-14 17:25:12,076 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-14 17:25:12,076 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:12,076 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-14 17:25:12,076 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-14 17:25:12,077 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:12,077 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:12,077 INFO L85 PathProgramCache]: Analyzing trace with hash -991958694, now seen corresponding path program 1 times [2022-04-14 17:25:12,077 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:12,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1577419018] [2022-04-14 17:25:12,078 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:12,078 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:12,103 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:12,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [608219804] [2022-04-14 17:25:12,104 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:12,104 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:12,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:12,119 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 17:25:12,184 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-14 17:25:12,198 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:12,200 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-14 17:25:12,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:12,213 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:12,342 INFO L272 TraceCheckUtils]: 0: Hoare triple {199#true} call ULTIMATE.init(); {199#true} is VALID [2022-04-14 17:25:12,343 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-14 17:25:12,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {207#(<= ~counter~0 0)} assume true; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:12,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {207#(<= ~counter~0 0)} {199#true} #65#return; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:12,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {207#(<= ~counter~0 0)} call #t~ret7 := main(); {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:12,345 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-14 17:25:12,345 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-14 17:25:12,346 INFO L290 TraceCheckUtils]: 7: Hoare triple {207#(<= ~counter~0 0)} ~cond := #in~cond; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:12,346 INFO L290 TraceCheckUtils]: 8: Hoare triple {207#(<= ~counter~0 0)} assume !(0 == ~cond); {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:12,347 INFO L290 TraceCheckUtils]: 9: Hoare triple {207#(<= ~counter~0 0)} assume true; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:12,347 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {207#(<= ~counter~0 0)} {207#(<= ~counter~0 0)} #59#return; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:12,348 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-14 17:25:12,348 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-14 17:25:12,349 INFO L290 TraceCheckUtils]: 13: Hoare triple {241#(<= |main_#t~post6| 0)} assume !(#t~post6 < 50);havoc #t~post6; {200#false} is VALID [2022-04-14 17:25:12,349 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-14 17:25:12,349 INFO L290 TraceCheckUtils]: 15: Hoare triple {200#false} ~cond := #in~cond; {200#false} is VALID [2022-04-14 17:25:12,349 INFO L290 TraceCheckUtils]: 16: Hoare triple {200#false} assume 0 == ~cond; {200#false} is VALID [2022-04-14 17:25:12,349 INFO L290 TraceCheckUtils]: 17: Hoare triple {200#false} assume !false; {200#false} is VALID [2022-04-14 17:25:12,349 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-14 17:25:12,350 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:25:12,350 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:12,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1577419018] [2022-04-14 17:25:12,350 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:12,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [608219804] [2022-04-14 17:25:12,350 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [608219804] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:25:12,350 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:25:12,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-14 17:25:12,351 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1576852982] [2022-04-14 17:25:12,351 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:25:12,352 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-14 17:25:12,352 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:12,352 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-14 17:25:12,365 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-14 17:25:12,366 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-14 17:25:12,366 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:12,366 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-14 17:25:12,366 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-14 17:25:12,366 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-14 17:25:12,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:12,453 INFO L93 Difference]: Finished difference Result 34 states and 37 transitions. [2022-04-14 17:25:12,454 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-14 17:25:12,454 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-14 17:25:12,454 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:12,454 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-14 17:25:12,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-04-14 17:25:12,457 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-14 17:25:12,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-04-14 17:25:12,459 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 37 transitions. [2022-04-14 17:25:12,484 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-14 17:25:12,485 INFO L225 Difference]: With dead ends: 34 [2022-04-14 17:25:12,485 INFO L226 Difference]: Without dead ends: 27 [2022-04-14 17:25:12,486 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-14 17:25:12,486 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-14 17:25:12,487 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-14 17:25:12,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-14 17:25:12,493 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-14 17:25:12,493 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:12,493 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-14 17:25:12,494 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-14 17:25:12,494 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-14 17:25:12,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:12,495 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 17:25:12,495 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 17:25:12,495 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:12,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:12,496 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-14 17:25:12,496 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-14 17:25:12,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:12,497 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 17:25:12,497 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 17:25:12,498 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:12,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:12,498 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:12,498 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:12,498 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-14 17:25:12,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-14 17:25:12,499 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 18 [2022-04-14 17:25:12,499 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:12,500 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-14 17:25:12,500 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-14 17:25:12,500 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 17:25:12,500 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-14 17:25:12,500 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:12,500 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-14 17:25:12,519 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-14 17:25:12,718 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:12,719 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:12,719 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:12,720 INFO L85 PathProgramCache]: Analyzing trace with hash -990171234, now seen corresponding path program 1 times [2022-04-14 17:25:12,720 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:12,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [961505593] [2022-04-14 17:25:12,720 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:12,720 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:12,734 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:12,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1285210394] [2022-04-14 17:25:12,735 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:12,735 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:12,735 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:12,736 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 17:25:12,737 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-14 17:25:12,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:12,769 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 17:25:12,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:12,778 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:12,896 INFO L272 TraceCheckUtils]: 0: Hoare triple {395#true} call ULTIMATE.init(); {395#true} is VALID [2022-04-14 17:25:12,896 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-14 17:25:12,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {395#true} assume true; {395#true} is VALID [2022-04-14 17:25:12,896 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {395#true} {395#true} #65#return; {395#true} is VALID [2022-04-14 17:25:12,897 INFO L272 TraceCheckUtils]: 4: Hoare triple {395#true} call #t~ret7 := main(); {395#true} is VALID [2022-04-14 17:25:12,897 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-14 17:25:12,897 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-14 17:25:12,897 INFO L290 TraceCheckUtils]: 7: Hoare triple {395#true} ~cond := #in~cond; {395#true} is VALID [2022-04-14 17:25:12,897 INFO L290 TraceCheckUtils]: 8: Hoare triple {395#true} assume !(0 == ~cond); {395#true} is VALID [2022-04-14 17:25:12,897 INFO L290 TraceCheckUtils]: 9: Hoare triple {395#true} assume true; {395#true} is VALID [2022-04-14 17:25:12,897 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {395#true} {395#true} #59#return; {395#true} is VALID [2022-04-14 17:25:12,899 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-14 17:25:12,900 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-14 17:25:12,900 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 < 50);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-14 17:25:12,901 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-14 17:25:12,902 INFO L290 TraceCheckUtils]: 15: Hoare triple {443#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {447#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:12,902 INFO L290 TraceCheckUtils]: 16: Hoare triple {447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {396#false} is VALID [2022-04-14 17:25:12,902 INFO L290 TraceCheckUtils]: 17: Hoare triple {396#false} assume !false; {396#false} is VALID [2022-04-14 17:25:12,902 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-14 17:25:12,903 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:25:12,903 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:12,903 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [961505593] [2022-04-14 17:25:12,903 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:12,903 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1285210394] [2022-04-14 17:25:12,903 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1285210394] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:25:12,903 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:25:12,903 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-14 17:25:12,904 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1727578910] [2022-04-14 17:25:12,904 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:25:12,904 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-14 17:25:12,904 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:12,904 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-14 17:25:12,916 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-14 17:25:12,917 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-14 17:25:12,917 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:12,917 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-14 17:25:12,917 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-14 17:25:12,917 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-14 17:25:13,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:13,039 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-14 17:25:13,039 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 17:25:13,039 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-14 17:25:13,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:13,040 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-14 17:25:13,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-14 17:25:13,041 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-14 17:25:13,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-14 17:25:13,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2022-04-14 17:25:13,074 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-14 17:25:13,078 INFO L225 Difference]: With dead ends: 38 [2022-04-14 17:25:13,078 INFO L226 Difference]: Without dead ends: 36 [2022-04-14 17:25:13,079 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-14 17:25:13,080 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-14 17:25:13,081 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-14 17:25:13,082 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-14 17:25:13,091 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 32. [2022-04-14 17:25:13,092 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:13,092 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-14 17:25:13,092 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-14 17:25:13,093 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-14 17:25:13,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:13,096 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-14 17:25:13,096 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-14 17:25:13,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:13,097 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:13,098 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-14 17:25:13,098 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-14 17:25:13,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:13,101 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-14 17:25:13,101 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-14 17:25:13,104 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:13,105 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:13,105 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:13,105 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:13,105 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-14 17:25:13,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 35 transitions. [2022-04-14 17:25:13,109 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 35 transitions. Word has length 18 [2022-04-14 17:25:13,109 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:13,109 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 35 transitions. [2022-04-14 17:25:13,109 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-14 17:25:13,109 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 35 transitions. [2022-04-14 17:25:13,110 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-14 17:25:13,111 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:13,111 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-14 17:25:13,129 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-14 17:25:13,327 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-14 17:25:13,327 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:13,327 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:13,327 INFO L85 PathProgramCache]: Analyzing trace with hash 1094479982, now seen corresponding path program 1 times [2022-04-14 17:25:13,328 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:13,328 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1304760080] [2022-04-14 17:25:13,328 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:13,328 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:13,340 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:13,341 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1356523722] [2022-04-14 17:25:13,341 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:13,341 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:13,341 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:13,352 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 17:25:13,354 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-14 17:25:13,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:13,385 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-14 17:25:13,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:13,393 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:13,482 INFO L272 TraceCheckUtils]: 0: Hoare triple {624#true} call ULTIMATE.init(); {624#true} is VALID [2022-04-14 17:25:13,482 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-14 17:25:13,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {624#true} assume true; {624#true} is VALID [2022-04-14 17:25:13,482 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {624#true} {624#true} #65#return; {624#true} is VALID [2022-04-14 17:25:13,482 INFO L272 TraceCheckUtils]: 4: Hoare triple {624#true} call #t~ret7 := main(); {624#true} is VALID [2022-04-14 17:25:13,482 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-14 17:25:13,483 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-14 17:25:13,483 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-14 17:25:13,483 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-14 17:25:13,484 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-14 17:25:13,484 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-14 17:25:13,485 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-14 17:25:13,485 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-14 17:25:13,485 INFO L290 TraceCheckUtils]: 13: Hoare triple {665#(<= 1 main_~y~0)} assume !!(#t~post6 < 50);havoc #t~post6; {665#(<= 1 main_~y~0)} is VALID [2022-04-14 17:25:13,485 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-14 17:25:13,486 INFO L290 TraceCheckUtils]: 15: Hoare triple {624#true} ~cond := #in~cond; {624#true} is VALID [2022-04-14 17:25:13,486 INFO L290 TraceCheckUtils]: 16: Hoare triple {624#true} assume !(0 == ~cond); {624#true} is VALID [2022-04-14 17:25:13,486 INFO L290 TraceCheckUtils]: 17: Hoare triple {624#true} assume true; {624#true} is VALID [2022-04-14 17:25:13,487 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {624#true} {665#(<= 1 main_~y~0)} #61#return; {665#(<= 1 main_~y~0)} is VALID [2022-04-14 17:25:13,487 INFO L290 TraceCheckUtils]: 19: Hoare triple {665#(<= 1 main_~y~0)} assume !(0 != ~y~0); {625#false} is VALID [2022-04-14 17:25:13,487 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-14 17:25:13,487 INFO L290 TraceCheckUtils]: 21: Hoare triple {625#false} ~cond := #in~cond; {625#false} is VALID [2022-04-14 17:25:13,487 INFO L290 TraceCheckUtils]: 22: Hoare triple {625#false} assume 0 == ~cond; {625#false} is VALID [2022-04-14 17:25:13,487 INFO L290 TraceCheckUtils]: 23: Hoare triple {625#false} assume !false; {625#false} is VALID [2022-04-14 17:25:13,488 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-14 17:25:13,488 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:25:13,488 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:13,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1304760080] [2022-04-14 17:25:13,488 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:13,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1356523722] [2022-04-14 17:25:13,488 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1356523722] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:25:13,488 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:25:13,488 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-14 17:25:13,489 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1589879973] [2022-04-14 17:25:13,489 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:25:13,489 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-14 17:25:13,489 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:13,489 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-14 17:25:13,505 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-14 17:25:13,505 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-14 17:25:13,505 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:13,505 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-14 17:25:13,506 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-14 17:25:13,506 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-14 17:25:13,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:13,623 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-14 17:25:13,623 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-14 17:25:13,623 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-14 17:25:13,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:13,623 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-14 17:25:13,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 43 transitions. [2022-04-14 17:25:13,625 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-14 17:25:13,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 43 transitions. [2022-04-14 17:25:13,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 43 transitions. [2022-04-14 17:25:13,659 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-14 17:25:13,661 INFO L225 Difference]: With dead ends: 42 [2022-04-14 17:25:13,661 INFO L226 Difference]: Without dead ends: 35 [2022-04-14 17:25:13,661 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-14 17:25:13,663 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-14 17:25:13,664 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-14 17:25:13,664 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-14 17:25:13,675 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 33. [2022-04-14 17:25:13,675 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:13,675 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-14 17:25:13,676 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-14 17:25:13,676 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-14 17:25:13,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:13,677 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 17:25:13,677 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-14 17:25:13,677 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:13,677 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:13,677 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-14 17:25:13,678 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-14 17:25:13,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:13,681 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 17:25:13,681 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-14 17:25:13,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:13,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:13,681 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:13,681 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:13,682 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-14 17:25:13,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2022-04-14 17:25:13,682 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 24 [2022-04-14 17:25:13,683 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:13,683 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2022-04-14 17:25:13,683 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-14 17:25:13,683 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-14 17:25:13,683 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-14 17:25:13,683 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:13,683 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-14 17:25:13,701 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-14 17:25:13,904 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:13,904 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:13,904 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:13,904 INFO L85 PathProgramCache]: Analyzing trace with hash 584619061, now seen corresponding path program 1 times [2022-04-14 17:25:13,904 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:13,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [659827398] [2022-04-14 17:25:13,905 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:13,905 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:13,915 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:13,915 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1230842063] [2022-04-14 17:25:13,915 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:13,915 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:13,915 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:13,916 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 17:25:13,945 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-14 17:25:13,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:13,967 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-14 17:25:13,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:13,975 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:14,087 INFO L272 TraceCheckUtils]: 0: Hoare triple {878#true} call ULTIMATE.init(); {878#true} is VALID [2022-04-14 17:25:14,087 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-14 17:25:14,088 INFO L290 TraceCheckUtils]: 2: Hoare triple {886#(<= ~counter~0 0)} assume true; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:14,088 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {886#(<= ~counter~0 0)} {878#true} #65#return; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:14,088 INFO L272 TraceCheckUtils]: 4: Hoare triple {886#(<= ~counter~0 0)} call #t~ret7 := main(); {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:14,089 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-14 17:25:14,089 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-14 17:25:14,089 INFO L290 TraceCheckUtils]: 7: Hoare triple {886#(<= ~counter~0 0)} ~cond := #in~cond; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:14,090 INFO L290 TraceCheckUtils]: 8: Hoare triple {886#(<= ~counter~0 0)} assume !(0 == ~cond); {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:14,090 INFO L290 TraceCheckUtils]: 9: Hoare triple {886#(<= ~counter~0 0)} assume true; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:14,091 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {886#(<= ~counter~0 0)} {886#(<= ~counter~0 0)} #59#return; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:14,091 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-14 17:25:14,091 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-14 17:25:14,092 INFO L290 TraceCheckUtils]: 13: Hoare triple {920#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:14,092 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-14 17:25:14,093 INFO L290 TraceCheckUtils]: 15: Hoare triple {920#(<= ~counter~0 1)} ~cond := #in~cond; {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:14,093 INFO L290 TraceCheckUtils]: 16: Hoare triple {920#(<= ~counter~0 1)} assume !(0 == ~cond); {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:14,093 INFO L290 TraceCheckUtils]: 17: Hoare triple {920#(<= ~counter~0 1)} assume true; {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:14,094 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {920#(<= ~counter~0 1)} {920#(<= ~counter~0 1)} #61#return; {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:14,094 INFO L290 TraceCheckUtils]: 19: Hoare triple {920#(<= ~counter~0 1)} assume !!(0 != ~y~0); {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:14,095 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-14 17:25:14,095 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-14 17:25:14,095 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-14 17:25:14,096 INFO L290 TraceCheckUtils]: 23: Hoare triple {951#(<= |main_#t~post6| 1)} assume !(#t~post6 < 50);havoc #t~post6; {879#false} is VALID [2022-04-14 17:25:14,096 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-14 17:25:14,096 INFO L290 TraceCheckUtils]: 25: Hoare triple {879#false} ~cond := #in~cond; {879#false} is VALID [2022-04-14 17:25:14,096 INFO L290 TraceCheckUtils]: 26: Hoare triple {879#false} assume 0 == ~cond; {879#false} is VALID [2022-04-14 17:25:14,096 INFO L290 TraceCheckUtils]: 27: Hoare triple {879#false} assume !false; {879#false} is VALID [2022-04-14 17:25:14,096 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-14 17:25:14,097 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:25:14,249 INFO L290 TraceCheckUtils]: 27: Hoare triple {879#false} assume !false; {879#false} is VALID [2022-04-14 17:25:14,249 INFO L290 TraceCheckUtils]: 26: Hoare triple {879#false} assume 0 == ~cond; {879#false} is VALID [2022-04-14 17:25:14,249 INFO L290 TraceCheckUtils]: 25: Hoare triple {879#false} ~cond := #in~cond; {879#false} is VALID [2022-04-14 17:25:14,249 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-14 17:25:14,250 INFO L290 TraceCheckUtils]: 23: Hoare triple {979#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {879#false} is VALID [2022-04-14 17:25:14,250 INFO L290 TraceCheckUtils]: 22: Hoare triple {983#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {979#(< |main_#t~post6| 50)} is VALID [2022-04-14 17:25:14,250 INFO L290 TraceCheckUtils]: 21: Hoare triple {983#(< ~counter~0 50)} ~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 50)} is VALID [2022-04-14 17:25:14,251 INFO L290 TraceCheckUtils]: 20: Hoare triple {983#(< ~counter~0 50)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {983#(< ~counter~0 50)} is VALID [2022-04-14 17:25:14,251 INFO L290 TraceCheckUtils]: 19: Hoare triple {983#(< ~counter~0 50)} assume !!(0 != ~y~0); {983#(< ~counter~0 50)} is VALID [2022-04-14 17:25:14,252 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {878#true} {983#(< ~counter~0 50)} #61#return; {983#(< ~counter~0 50)} is VALID [2022-04-14 17:25:14,252 INFO L290 TraceCheckUtils]: 17: Hoare triple {878#true} assume true; {878#true} is VALID [2022-04-14 17:25:14,252 INFO L290 TraceCheckUtils]: 16: Hoare triple {878#true} assume !(0 == ~cond); {878#true} is VALID [2022-04-14 17:25:14,252 INFO L290 TraceCheckUtils]: 15: Hoare triple {878#true} ~cond := #in~cond; {878#true} is VALID [2022-04-14 17:25:14,252 INFO L272 TraceCheckUtils]: 14: Hoare triple {983#(< ~counter~0 50)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {878#true} is VALID [2022-04-14 17:25:14,253 INFO L290 TraceCheckUtils]: 13: Hoare triple {983#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {983#(< ~counter~0 50)} is VALID [2022-04-14 17:25:14,253 INFO L290 TraceCheckUtils]: 12: Hoare triple {1014#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {983#(< ~counter~0 50)} is VALID [2022-04-14 17:25:14,253 INFO L290 TraceCheckUtils]: 11: Hoare triple {1014#(< ~counter~0 49)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1014#(< ~counter~0 49)} is VALID [2022-04-14 17:25:14,254 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {878#true} {1014#(< ~counter~0 49)} #59#return; {1014#(< ~counter~0 49)} is VALID [2022-04-14 17:25:14,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {878#true} assume true; {878#true} is VALID [2022-04-14 17:25:14,254 INFO L290 TraceCheckUtils]: 8: Hoare triple {878#true} assume !(0 == ~cond); {878#true} is VALID [2022-04-14 17:25:14,254 INFO L290 TraceCheckUtils]: 7: Hoare triple {878#true} ~cond := #in~cond; {878#true} is VALID [2022-04-14 17:25:14,254 INFO L272 TraceCheckUtils]: 6: Hoare triple {1014#(< ~counter~0 49)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {878#true} is VALID [2022-04-14 17:25:14,254 INFO L290 TraceCheckUtils]: 5: Hoare triple {1014#(< ~counter~0 49)} 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 49)} is VALID [2022-04-14 17:25:14,255 INFO L272 TraceCheckUtils]: 4: Hoare triple {1014#(< ~counter~0 49)} call #t~ret7 := main(); {1014#(< ~counter~0 49)} is VALID [2022-04-14 17:25:14,255 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1014#(< ~counter~0 49)} {878#true} #65#return; {1014#(< ~counter~0 49)} is VALID [2022-04-14 17:25:14,255 INFO L290 TraceCheckUtils]: 2: Hoare triple {1014#(< ~counter~0 49)} assume true; {1014#(< ~counter~0 49)} is VALID [2022-04-14 17:25:14,256 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 49)} is VALID [2022-04-14 17:25:14,256 INFO L272 TraceCheckUtils]: 0: Hoare triple {878#true} call ULTIMATE.init(); {878#true} is VALID [2022-04-14 17:25:14,256 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-14 17:25:14,256 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:14,257 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [659827398] [2022-04-14 17:25:14,257 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:14,257 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1230842063] [2022-04-14 17:25:14,257 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1230842063] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:25:14,257 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:25:14,257 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-14 17:25:14,257 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2089138920] [2022-04-14 17:25:14,257 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:25:14,258 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-14 17:25:14,258 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:14,258 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-14 17:25:14,290 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-14 17:25:14,290 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-14 17:25:14,290 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:14,290 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-14 17:25:14,290 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-14 17:25:14,291 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-14 17:25:14,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:14,453 INFO L93 Difference]: Finished difference Result 70 states and 80 transitions. [2022-04-14 17:25:14,453 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-14 17:25:14,454 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-14 17:25:14,454 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:14,454 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-14 17:25:14,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-14 17:25:14,456 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-14 17:25:14,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-14 17:25:14,458 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 80 transitions. [2022-04-14 17:25:14,514 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-14 17:25:14,515 INFO L225 Difference]: With dead ends: 70 [2022-04-14 17:25:14,516 INFO L226 Difference]: Without dead ends: 63 [2022-04-14 17:25:14,516 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-14 17:25:14,516 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-14 17:25:14,517 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-14 17:25:14,517 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-14 17:25:14,535 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-14 17:25:14,535 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:14,536 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-14 17:25:14,536 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-14 17:25:14,536 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-14 17:25:14,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:14,538 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-14 17:25:14,538 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2022-04-14 17:25:14,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:14,538 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:14,539 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-14 17:25:14,539 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-14 17:25:14,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:14,540 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-14 17:25:14,540 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2022-04-14 17:25:14,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:14,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:14,541 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:14,541 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:14,541 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-14 17:25:14,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 69 transitions. [2022-04-14 17:25:14,542 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 69 transitions. Word has length 28 [2022-04-14 17:25:14,542 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:14,543 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 69 transitions. [2022-04-14 17:25:14,543 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-14 17:25:14,543 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-04-14 17:25:14,543 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-14 17:25:14,543 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:14,543 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-14 17:25:14,560 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-14 17:25:14,759 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:14,759 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:14,759 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:14,759 INFO L85 PathProgramCache]: Analyzing trace with hash 586406521, now seen corresponding path program 1 times [2022-04-14 17:25:14,760 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:14,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [699413062] [2022-04-14 17:25:14,760 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:14,760 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:14,769 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:14,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1904444599] [2022-04-14 17:25:14,769 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:14,769 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:14,770 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:14,770 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 17:25:14,802 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-14 17:25:14,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:14,809 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-14 17:25:14,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:14,922 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:16,129 INFO L272 TraceCheckUtils]: 0: Hoare triple {1360#true} call ULTIMATE.init(); {1360#true} is VALID [2022-04-14 17:25:16,130 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-14 17:25:16,130 INFO L290 TraceCheckUtils]: 2: Hoare triple {1360#true} assume true; {1360#true} is VALID [2022-04-14 17:25:16,130 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1360#true} {1360#true} #65#return; {1360#true} is VALID [2022-04-14 17:25:16,130 INFO L272 TraceCheckUtils]: 4: Hoare triple {1360#true} call #t~ret7 := main(); {1360#true} is VALID [2022-04-14 17:25:16,130 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-14 17:25:16,130 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-14 17:25:16,131 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-14 17:25:16,131 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-14 17:25:16,131 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-14 17:25:16,132 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-14 17:25:16,132 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-14 17:25:16,133 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-14 17:25:16,133 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 < 50);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-14 17:25:16,133 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-14 17:25:16,133 INFO L290 TraceCheckUtils]: 15: Hoare triple {1360#true} ~cond := #in~cond; {1414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:16,134 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-14 17:25:16,134 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-14 17:25:16,135 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-14 17:25:16,135 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-14 17:25:16,136 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-14 17:25:16,137 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-14 17:25:16,137 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-14 17:25:16,138 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 < 50);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-14 17:25:16,139 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-14 17:25:16,147 INFO L290 TraceCheckUtils]: 25: Hoare triple {1446#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1450#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:16,148 INFO L290 TraceCheckUtils]: 26: Hoare triple {1450#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1361#false} is VALID [2022-04-14 17:25:16,148 INFO L290 TraceCheckUtils]: 27: Hoare triple {1361#false} assume !false; {1361#false} is VALID [2022-04-14 17:25:16,148 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-14 17:25:16,148 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:25:46,248 INFO L290 TraceCheckUtils]: 27: Hoare triple {1361#false} assume !false; {1361#false} is VALID [2022-04-14 17:25:46,249 INFO L290 TraceCheckUtils]: 26: Hoare triple {1450#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1361#false} is VALID [2022-04-14 17:25:46,249 INFO L290 TraceCheckUtils]: 25: Hoare triple {1446#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1450#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:46,250 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-14 17:25:46,250 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 < 50);havoc #t~post6; {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:25:46,251 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-14 17:25:46,256 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-14 17:25:46,257 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-14 17:25:46,258 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-14 17:25:46,261 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-14 17:25:46,261 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-14 17:25:46,264 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-14 17:25:46,264 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-14 17:25:46,264 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-14 17:25:46,265 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 < 50);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-14 17:25:46,266 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-14 17:25:46,266 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-14 17:25:46,267 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-14 17:25:46,267 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-14 17:25:46,268 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-14 17:25:46,268 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-14 17:25:46,268 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-14 17:25:46,268 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-14 17:25:46,268 INFO L272 TraceCheckUtils]: 4: Hoare triple {1360#true} call #t~ret7 := main(); {1360#true} is VALID [2022-04-14 17:25:46,268 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1360#true} {1360#true} #65#return; {1360#true} is VALID [2022-04-14 17:25:46,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {1360#true} assume true; {1360#true} is VALID [2022-04-14 17:25:46,269 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-14 17:25:46,269 INFO L272 TraceCheckUtils]: 0: Hoare triple {1360#true} call ULTIMATE.init(); {1360#true} is VALID [2022-04-14 17:25:46,269 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-14 17:25:46,269 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:46,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [699413062] [2022-04-14 17:25:46,269 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:46,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1904444599] [2022-04-14 17:25:46,269 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1904444599] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:25:46,269 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:25:46,269 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 20 [2022-04-14 17:25:46,270 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1495689359] [2022-04-14 17:25:46,270 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:25:46,270 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-14 17:25:46,270 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:46,271 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-14 17:25:46,309 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-14 17:25:46,309 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-14 17:25:46,309 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:46,309 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-14 17:25:46,310 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=313, Unknown=0, NotChecked=0, Total=380 [2022-04-14 17:25:46,310 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-14 17:25:48,289 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:48,289 INFO L93 Difference]: Finished difference Result 103 states and 121 transitions. [2022-04-14 17:25:48,289 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-14 17:25:48,289 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-14 17:25:48,290 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:48,290 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-14 17:25:48,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 71 transitions. [2022-04-14 17:25:48,291 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-14 17:25:48,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 71 transitions. [2022-04-14 17:25:48,293 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 71 transitions. [2022-04-14 17:25:48,361 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-14 17:25:48,363 INFO L225 Difference]: With dead ends: 103 [2022-04-14 17:25:48,363 INFO L226 Difference]: Without dead ends: 94 [2022-04-14 17:25:48,364 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 36 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=127, Invalid=575, Unknown=0, NotChecked=0, Total=702 [2022-04-14 17:25:48,364 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 63 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 260 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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, 0.7s IncrementalHoareTripleChecker+Time [2022-04-14 17:25:48,364 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [65 Valid, 184 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 260 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-14 17:25:48,365 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-14 17:25:48,394 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 92. [2022-04-14 17:25:48,394 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:48,394 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-14 17:25:48,394 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-14 17:25:48,395 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-14 17:25:48,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:48,397 INFO L93 Difference]: Finished difference Result 94 states and 109 transitions. [2022-04-14 17:25:48,397 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 109 transitions. [2022-04-14 17:25:48,397 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:48,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:48,398 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-14 17:25:48,398 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-14 17:25:48,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:48,400 INFO L93 Difference]: Finished difference Result 94 states and 109 transitions. [2022-04-14 17:25:48,400 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 109 transitions. [2022-04-14 17:25:48,400 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:48,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:48,401 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:48,401 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:48,401 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-14 17:25:48,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 107 transitions. [2022-04-14 17:25:48,403 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 107 transitions. Word has length 28 [2022-04-14 17:25:48,403 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:48,403 INFO L478 AbstractCegarLoop]: Abstraction has 92 states and 107 transitions. [2022-04-14 17:25:48,403 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-14 17:25:48,403 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 107 transitions. [2022-04-14 17:25:48,404 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-14 17:25:48,404 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:48,404 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-14 17:25:48,425 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-14 17:25:48,625 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:48,626 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:48,626 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:48,626 INFO L85 PathProgramCache]: Analyzing trace with hash -1513703477, now seen corresponding path program 1 times [2022-04-14 17:25:48,626 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:48,626 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [801962302] [2022-04-14 17:25:48,627 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:48,627 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:48,681 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:48,681 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2031958620] [2022-04-14 17:25:48,681 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:48,681 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:48,681 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:48,700 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 17:25:48,701 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-14 17:25:48,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:48,760 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-14 17:25:48,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:48,770 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:53,144 INFO L272 TraceCheckUtils]: 0: Hoare triple {2016#true} call ULTIMATE.init(); {2016#true} is VALID [2022-04-14 17:25:53,144 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-14 17:25:53,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:53,144 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2016#true} {2016#true} #65#return; {2016#true} is VALID [2022-04-14 17:25:53,145 INFO L272 TraceCheckUtils]: 4: Hoare triple {2016#true} call #t~ret7 := main(); {2016#true} is VALID [2022-04-14 17:25:53,145 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-14 17:25:53,145 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-14 17:25:53,145 INFO L290 TraceCheckUtils]: 7: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-14 17:25:53,145 INFO L290 TraceCheckUtils]: 8: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-14 17:25:53,145 INFO L290 TraceCheckUtils]: 9: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:53,145 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2016#true} {2016#true} #59#return; {2016#true} is VALID [2022-04-14 17:25:53,145 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-14 17:25:53,145 INFO L290 TraceCheckUtils]: 12: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-14 17:25:53,145 INFO L290 TraceCheckUtils]: 13: Hoare triple {2016#true} assume !!(#t~post6 < 50);havoc #t~post6; {2016#true} is VALID [2022-04-14 17:25:53,145 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-14 17:25:53,145 INFO L290 TraceCheckUtils]: 15: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-14 17:25:53,146 INFO L290 TraceCheckUtils]: 16: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-14 17:25:53,146 INFO L290 TraceCheckUtils]: 17: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:53,146 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2016#true} {2016#true} #61#return; {2016#true} is VALID [2022-04-14 17:25:53,146 INFO L290 TraceCheckUtils]: 19: Hoare triple {2016#true} assume !!(0 != ~y~0); {2016#true} is VALID [2022-04-14 17:25:53,146 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-14 17:25:53,146 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-14 17:25:53,146 INFO L290 TraceCheckUtils]: 22: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-14 17:25:53,146 INFO L290 TraceCheckUtils]: 23: Hoare triple {2016#true} assume !!(#t~post6 < 50);havoc #t~post6; {2016#true} is VALID [2022-04-14 17:25:53,146 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-14 17:25:53,150 INFO L290 TraceCheckUtils]: 25: Hoare triple {2016#true} ~cond := #in~cond; {2096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:53,150 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-14 17:25:53,150 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-14 17:25:55,159 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-14 17:25:55,160 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-14 17:25:55,170 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-14 17:25:55,171 INFO L290 TraceCheckUtils]: 31: Hoare triple {2115#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2119#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:25:55,171 INFO L290 TraceCheckUtils]: 32: Hoare triple {2119#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2017#false} is VALID [2022-04-14 17:25:55,172 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#false} assume !false; {2017#false} is VALID [2022-04-14 17:25:55,172 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-14 17:25:55,172 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:26:11,720 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#false} assume !false; {2017#false} is VALID [2022-04-14 17:26:11,720 INFO L290 TraceCheckUtils]: 32: Hoare triple {2119#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2017#false} is VALID [2022-04-14 17:26:11,721 INFO L290 TraceCheckUtils]: 31: Hoare triple {2115#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2119#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:26:11,721 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-14 17:26:11,722 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-14 17:26:11,722 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-14 17:26:11,723 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-14 17:26:11,728 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-14 17:26:11,728 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-14 17:26:11,728 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-14 17:26:11,728 INFO L290 TraceCheckUtils]: 23: Hoare triple {2016#true} assume !!(#t~post6 < 50);havoc #t~post6; {2016#true} is VALID [2022-04-14 17:26:11,728 INFO L290 TraceCheckUtils]: 22: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-14 17:26:11,728 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-14 17:26:11,728 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-14 17:26:11,728 INFO L290 TraceCheckUtils]: 19: Hoare triple {2016#true} assume !!(0 != ~y~0); {2016#true} is VALID [2022-04-14 17:26:11,728 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2016#true} {2016#true} #61#return; {2016#true} is VALID [2022-04-14 17:26:11,729 INFO L290 TraceCheckUtils]: 17: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:26:11,729 INFO L290 TraceCheckUtils]: 16: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-14 17:26:11,729 INFO L290 TraceCheckUtils]: 15: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-14 17:26:11,729 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-14 17:26:11,729 INFO L290 TraceCheckUtils]: 13: Hoare triple {2016#true} assume !!(#t~post6 < 50);havoc #t~post6; {2016#true} is VALID [2022-04-14 17:26:11,729 INFO L290 TraceCheckUtils]: 12: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-14 17:26:11,729 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-14 17:26:11,729 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2016#true} {2016#true} #59#return; {2016#true} is VALID [2022-04-14 17:26:11,729 INFO L290 TraceCheckUtils]: 9: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:26:11,729 INFO L290 TraceCheckUtils]: 8: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-14 17:26:11,729 INFO L290 TraceCheckUtils]: 7: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-14 17:26:11,729 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-14 17:26:11,729 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-14 17:26:11,730 INFO L272 TraceCheckUtils]: 4: Hoare triple {2016#true} call #t~ret7 := main(); {2016#true} is VALID [2022-04-14 17:26:11,730 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2016#true} {2016#true} #65#return; {2016#true} is VALID [2022-04-14 17:26:11,730 INFO L290 TraceCheckUtils]: 2: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:26:11,730 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-14 17:26:11,730 INFO L272 TraceCheckUtils]: 0: Hoare triple {2016#true} call ULTIMATE.init(); {2016#true} is VALID [2022-04-14 17:26:11,730 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-14 17:26:11,730 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:26:11,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [801962302] [2022-04-14 17:26:11,730 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:26:11,730 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2031958620] [2022-04-14 17:26:11,730 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2031958620] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:26:11,730 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:26:11,731 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-14 17:26:11,731 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1124615771] [2022-04-14 17:26:11,731 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:26:11,731 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-14 17:26:11,731 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:26:11,731 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-14 17:26:13,755 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-14 17:26:13,755 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-14 17:26:13,755 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:26:13,756 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-14 17:26:13,756 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-14 17:26:13,756 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-14 17:26:15,787 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:26:16,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:26:16,337 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2022-04-14 17:26:16,337 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-14 17:26:16,337 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-14 17:26:16,338 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:26:16,338 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-14 17:26:16,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-14 17:26:16,338 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-14 17:26:16,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-14 17:26:16,339 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 35 transitions. [2022-04-14 17:26:18,364 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-14 17:26:18,366 INFO L225 Difference]: With dead ends: 104 [2022-04-14 17:26:18,366 INFO L226 Difference]: Without dead ends: 89 [2022-04-14 17:26:18,366 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-14 17:26:18,366 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 17 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-14 17:26:18,366 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.3s Time] [2022-04-14 17:26:18,367 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-14 17:26:18,412 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 88. [2022-04-14 17:26:18,412 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:26:18,412 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-14 17:26:18,412 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-14 17:26:18,413 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-14 17:26:18,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:26:18,415 INFO L93 Difference]: Finished difference Result 89 states and 100 transitions. [2022-04-14 17:26:18,415 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 100 transitions. [2022-04-14 17:26:18,415 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:26:18,415 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:26:18,415 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-14 17:26:18,415 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-14 17:26:18,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:26:18,417 INFO L93 Difference]: Finished difference Result 89 states and 100 transitions. [2022-04-14 17:26:18,417 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 100 transitions. [2022-04-14 17:26:18,417 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:26:18,417 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:26:18,417 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:26:18,417 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:26:18,418 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-14 17:26:18,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 99 transitions. [2022-04-14 17:26:18,420 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 99 transitions. Word has length 34 [2022-04-14 17:26:18,420 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:26:18,420 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 99 transitions. [2022-04-14 17:26:18,420 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-14 17:26:18,420 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 99 transitions. [2022-04-14 17:26:18,421 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-14 17:26:18,421 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:26:18,421 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-14 17:26:18,459 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-14 17:26:18,621 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:26:18,622 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:26:18,622 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:26:18,622 INFO L85 PathProgramCache]: Analyzing trace with hash 539044694, now seen corresponding path program 1 times [2022-04-14 17:26:18,622 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:26:18,622 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [101089829] [2022-04-14 17:26:18,622 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:26:18,622 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:26:18,632 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:26:18,632 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [308038773] [2022-04-14 17:26:18,632 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:26:18,632 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:26:18,632 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:26:18,639 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-14 17:26:18,640 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-14 17:26:18,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:26:18,690 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-14 17:26:18,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:26:18,798 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:26:30,339 INFO L272 TraceCheckUtils]: 0: Hoare triple {2671#true} call ULTIMATE.init(); {2671#true} is VALID [2022-04-14 17:26:30,340 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-14 17:26:30,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:26:30,340 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2671#true} {2671#true} #65#return; {2671#true} is VALID [2022-04-14 17:26:30,340 INFO L272 TraceCheckUtils]: 4: Hoare triple {2671#true} call #t~ret7 := main(); {2671#true} is VALID [2022-04-14 17:26:30,340 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-14 17:26:30,340 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-14 17:26:30,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-14 17:26:30,340 INFO L290 TraceCheckUtils]: 8: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-14 17:26:30,340 INFO L290 TraceCheckUtils]: 9: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:26:30,340 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2671#true} {2671#true} #59#return; {2671#true} is VALID [2022-04-14 17:26:30,342 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-14 17:26:30,342 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-14 17:26:30,342 INFO L290 TraceCheckUtils]: 13: Hoare triple {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:26:30,342 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-14 17:26:30,343 INFO L290 TraceCheckUtils]: 15: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-14 17:26:30,343 INFO L290 TraceCheckUtils]: 16: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-14 17:26:30,343 INFO L290 TraceCheckUtils]: 17: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:26:30,343 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-14 17:26:30,344 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-14 17:26:30,354 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-14 17:26:30,357 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-14 17:26:30,358 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-14 17:26:30,358 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 < 50);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-14 17:26:30,358 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-14 17:26:30,359 INFO L290 TraceCheckUtils]: 25: Hoare triple {2671#true} ~cond := #in~cond; {2755#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:26:30,359 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-14 17:26:30,359 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-14 17:26:30,360 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-14 17:26:30,362 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-14 17:26:30,362 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-14 17:26:30,366 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-14 17:26:30,366 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-14 17:26:30,367 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 < 50);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-14 17:26:30,382 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-14 17:26:30,382 INFO L290 TraceCheckUtils]: 35: Hoare triple {2787#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2791#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:26:30,383 INFO L290 TraceCheckUtils]: 36: Hoare triple {2791#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2672#false} is VALID [2022-04-14 17:26:30,383 INFO L290 TraceCheckUtils]: 37: Hoare triple {2672#false} assume !false; {2672#false} is VALID [2022-04-14 17:26:30,383 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-14 17:26:30,383 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:28:16,955 INFO L290 TraceCheckUtils]: 37: Hoare triple {2672#false} assume !false; {2672#false} is VALID [2022-04-14 17:28:16,955 INFO L290 TraceCheckUtils]: 36: Hoare triple {2791#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2672#false} is VALID [2022-04-14 17:28:16,955 INFO L290 TraceCheckUtils]: 35: Hoare triple {2787#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2791#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:28:16,956 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-14 17:28:16,956 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 < 50);havoc #t~post6; {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:28:16,957 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-14 17:28:16,961 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-14 17:28:16,962 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-14 17:28:16,963 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-14 17:28:16,965 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-14 17:28:16,965 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-14 17:28:16,966 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-14 17:28:16,966 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-14 17:28:16,966 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-14 17:28:16,967 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 < 50);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-14 17:28:16,967 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-14 17:28:16,989 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-14 17:28:16,991 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-14 17:28:16,991 INFO L290 TraceCheckUtils]: 19: Hoare triple {2671#true} assume !!(0 != ~y~0); {2671#true} is VALID [2022-04-14 17:28:16,991 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2671#true} {2671#true} #61#return; {2671#true} is VALID [2022-04-14 17:28:16,991 INFO L290 TraceCheckUtils]: 17: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:28:16,991 INFO L290 TraceCheckUtils]: 16: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-14 17:28:16,991 INFO L290 TraceCheckUtils]: 15: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-14 17:28:16,991 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-14 17:28:16,991 INFO L290 TraceCheckUtils]: 13: Hoare triple {2671#true} assume !!(#t~post6 < 50);havoc #t~post6; {2671#true} is VALID [2022-04-14 17:28:16,991 INFO L290 TraceCheckUtils]: 12: Hoare triple {2671#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2671#true} is VALID [2022-04-14 17:28:16,991 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-14 17:28:16,991 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2671#true} {2671#true} #59#return; {2671#true} is VALID [2022-04-14 17:28:16,991 INFO L290 TraceCheckUtils]: 9: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:28:16,992 INFO L290 TraceCheckUtils]: 8: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-14 17:28:16,992 INFO L290 TraceCheckUtils]: 7: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-14 17:28:16,992 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-14 17:28:16,992 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-14 17:28:16,992 INFO L272 TraceCheckUtils]: 4: Hoare triple {2671#true} call #t~ret7 := main(); {2671#true} is VALID [2022-04-14 17:28:16,992 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2671#true} {2671#true} #65#return; {2671#true} is VALID [2022-04-14 17:28:16,992 INFO L290 TraceCheckUtils]: 2: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:28:16,992 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-14 17:28:16,992 INFO L272 TraceCheckUtils]: 0: Hoare triple {2671#true} call ULTIMATE.init(); {2671#true} is VALID [2022-04-14 17:28:16,992 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-14 17:28:16,993 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:28:16,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [101089829] [2022-04-14 17:28:16,993 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:28:16,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [308038773] [2022-04-14 17:28:16,993 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [308038773] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:28:16,993 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:28:16,994 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-14 17:28:16,994 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1573543904] [2022-04-14 17:28:16,994 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:28:16,994 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-14 17:28:16,994 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:28:16,995 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-14 17:28:17,086 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-14 17:28:17,086 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-14 17:28:17,086 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:28:17,086 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-14 17:28:17,087 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-04-14 17:28:17,087 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-14 17:28:20,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:28:20,370 INFO L93 Difference]: Finished difference Result 124 states and 137 transitions. [2022-04-14 17:28:20,370 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-14 17:28:20,370 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-14 17:28:20,370 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:28:20,370 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-14 17:28:20,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 74 transitions. [2022-04-14 17:28:20,372 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-14 17:28:20,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 74 transitions. [2022-04-14 17:28:20,373 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 74 transitions. [2022-04-14 17:28:20,623 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-14 17:28:20,625 INFO L225 Difference]: With dead ends: 124 [2022-04-14 17:28:20,625 INFO L226 Difference]: Without dead ends: 122 [2022-04-14 17:28:20,625 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 150 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=132, Invalid=624, Unknown=0, NotChecked=0, Total=756 [2022-04-14 17:28:20,626 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 43 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 253 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s 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, 1.1s IncrementalHoareTripleChecker+Time [2022-04-14 17:28:20,626 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 216 Invalid, 303 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 253 Invalid, 0 Unknown, 27 Unchecked, 1.1s Time] [2022-04-14 17:28:20,626 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2022-04-14 17:28:20,674 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 120. [2022-04-14 17:28:20,674 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:28:20,675 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-14 17:28:20,679 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-14 17:28:20,680 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-14 17:28:20,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:28:20,684 INFO L93 Difference]: Finished difference Result 122 states and 134 transitions. [2022-04-14 17:28:20,684 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 134 transitions. [2022-04-14 17:28:20,684 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:28:20,684 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:28:20,685 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-14 17:28:20,686 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-14 17:28:20,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:28:20,688 INFO L93 Difference]: Finished difference Result 122 states and 134 transitions. [2022-04-14 17:28:20,688 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 134 transitions. [2022-04-14 17:28:20,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:28:20,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:28:20,688 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:28:20,688 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:28:20,689 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-14 17:28:20,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 132 transitions. [2022-04-14 17:28:20,691 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 132 transitions. Word has length 38 [2022-04-14 17:28:20,691 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:28:20,691 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 132 transitions. [2022-04-14 17:28:20,691 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-14 17:28:20,691 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-04-14 17:28:20,692 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-14 17:28:20,692 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:28:20,692 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-14 17:28:20,708 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-14 17:28:20,907 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-14 17:28:20,908 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:28:20,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:28:20,908 INFO L85 PathProgramCache]: Analyzing trace with hash -921054650, now seen corresponding path program 2 times [2022-04-14 17:28:20,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:28:20,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [393106118] [2022-04-14 17:28:20,908 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:28:20,908 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:28:20,921 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:28:20,921 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1098976185] [2022-04-14 17:28:20,921 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 17:28:20,921 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:28:20,921 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:28:20,922 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-14 17:28:20,923 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-14 17:28:20,964 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 17:28:20,964 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 17:28:20,965 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 17:28:20,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:28:20,976 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:28:21,261 INFO L272 TraceCheckUtils]: 0: Hoare triple {3510#true} call ULTIMATE.init(); {3510#true} is VALID [2022-04-14 17:28:21,262 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-14 17:28:21,262 INFO L290 TraceCheckUtils]: 2: Hoare triple {3518#(<= ~counter~0 0)} assume true; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:28:21,262 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3518#(<= ~counter~0 0)} {3510#true} #65#return; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:28:21,263 INFO L272 TraceCheckUtils]: 4: Hoare triple {3518#(<= ~counter~0 0)} call #t~ret7 := main(); {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:28:21,263 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-14 17:28:21,264 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-14 17:28:21,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {3518#(<= ~counter~0 0)} ~cond := #in~cond; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:28:21,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {3518#(<= ~counter~0 0)} assume !(0 == ~cond); {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:28:21,264 INFO L290 TraceCheckUtils]: 9: Hoare triple {3518#(<= ~counter~0 0)} assume true; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:28:21,265 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3518#(<= ~counter~0 0)} {3518#(<= ~counter~0 0)} #59#return; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:28:21,265 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-14 17:28:21,266 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-14 17:28:21,266 INFO L290 TraceCheckUtils]: 13: Hoare triple {3552#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:28:21,267 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-14 17:28:21,267 INFO L290 TraceCheckUtils]: 15: Hoare triple {3552#(<= ~counter~0 1)} ~cond := #in~cond; {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:28:21,267 INFO L290 TraceCheckUtils]: 16: Hoare triple {3552#(<= ~counter~0 1)} assume !(0 == ~cond); {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:28:21,267 INFO L290 TraceCheckUtils]: 17: Hoare triple {3552#(<= ~counter~0 1)} assume true; {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:28:21,268 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3552#(<= ~counter~0 1)} {3552#(<= ~counter~0 1)} #61#return; {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:28:21,268 INFO L290 TraceCheckUtils]: 19: Hoare triple {3552#(<= ~counter~0 1)} assume !!(0 != ~y~0); {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:28:21,269 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-14 17:28:21,269 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-14 17:28:21,269 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-14 17:28:21,270 INFO L290 TraceCheckUtils]: 23: Hoare triple {3583#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:28:21,270 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-14 17:28:21,271 INFO L290 TraceCheckUtils]: 25: Hoare triple {3583#(<= ~counter~0 2)} ~cond := #in~cond; {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:28:21,271 INFO L290 TraceCheckUtils]: 26: Hoare triple {3583#(<= ~counter~0 2)} assume !(0 == ~cond); {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:28:21,271 INFO L290 TraceCheckUtils]: 27: Hoare triple {3583#(<= ~counter~0 2)} assume true; {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:28:21,272 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3583#(<= ~counter~0 2)} {3583#(<= ~counter~0 2)} #61#return; {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:28:21,272 INFO L290 TraceCheckUtils]: 29: Hoare triple {3583#(<= ~counter~0 2)} assume !!(0 != ~y~0); {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:28:21,272 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-14 17:28:21,273 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-14 17:28:21,273 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-14 17:28:21,273 INFO L290 TraceCheckUtils]: 33: Hoare triple {3614#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:28:21,274 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-14 17:28:21,274 INFO L290 TraceCheckUtils]: 35: Hoare triple {3614#(<= ~counter~0 3)} ~cond := #in~cond; {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:28:21,275 INFO L290 TraceCheckUtils]: 36: Hoare triple {3614#(<= ~counter~0 3)} assume !(0 == ~cond); {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:28:21,275 INFO L290 TraceCheckUtils]: 37: Hoare triple {3614#(<= ~counter~0 3)} assume true; {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:28:21,276 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3614#(<= ~counter~0 3)} {3614#(<= ~counter~0 3)} #61#return; {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:28:21,276 INFO L290 TraceCheckUtils]: 39: Hoare triple {3614#(<= ~counter~0 3)} assume !!(0 != ~y~0); {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:28:21,276 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-14 17:28:21,276 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-14 17:28:21,277 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-14 17:28:21,277 INFO L290 TraceCheckUtils]: 43: Hoare triple {3645#(<= ~counter~0 4)} assume !!(#t~post6 < 50);havoc #t~post6; {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:28:21,278 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-14 17:28:21,278 INFO L290 TraceCheckUtils]: 45: Hoare triple {3645#(<= ~counter~0 4)} ~cond := #in~cond; {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:28:21,278 INFO L290 TraceCheckUtils]: 46: Hoare triple {3645#(<= ~counter~0 4)} assume !(0 == ~cond); {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:28:21,279 INFO L290 TraceCheckUtils]: 47: Hoare triple {3645#(<= ~counter~0 4)} assume true; {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:28:21,279 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3645#(<= ~counter~0 4)} {3645#(<= ~counter~0 4)} #61#return; {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:28:21,280 INFO L290 TraceCheckUtils]: 49: Hoare triple {3645#(<= ~counter~0 4)} assume !!(0 != ~y~0); {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:28:21,280 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-14 17:28:21,280 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-14 17:28:21,281 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-14 17:28:21,281 INFO L290 TraceCheckUtils]: 53: Hoare triple {3676#(<= |main_#t~post6| 4)} assume !(#t~post6 < 50);havoc #t~post6; {3511#false} is VALID [2022-04-14 17:28:21,281 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-14 17:28:21,281 INFO L290 TraceCheckUtils]: 55: Hoare triple {3511#false} ~cond := #in~cond; {3511#false} is VALID [2022-04-14 17:28:21,281 INFO L290 TraceCheckUtils]: 56: Hoare triple {3511#false} assume 0 == ~cond; {3511#false} is VALID [2022-04-14 17:28:21,281 INFO L290 TraceCheckUtils]: 57: Hoare triple {3511#false} assume !false; {3511#false} is VALID [2022-04-14 17:28:21,281 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-14 17:28:21,282 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:28:21,593 INFO L290 TraceCheckUtils]: 57: Hoare triple {3511#false} assume !false; {3511#false} is VALID [2022-04-14 17:28:21,593 INFO L290 TraceCheckUtils]: 56: Hoare triple {3511#false} assume 0 == ~cond; {3511#false} is VALID [2022-04-14 17:28:21,593 INFO L290 TraceCheckUtils]: 55: Hoare triple {3511#false} ~cond := #in~cond; {3511#false} is VALID [2022-04-14 17:28:21,593 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-14 17:28:21,593 INFO L290 TraceCheckUtils]: 53: Hoare triple {3704#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {3511#false} is VALID [2022-04-14 17:28:21,594 INFO L290 TraceCheckUtils]: 52: Hoare triple {3708#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3704#(< |main_#t~post6| 50)} is VALID [2022-04-14 17:28:21,597 INFO L290 TraceCheckUtils]: 51: Hoare triple {3708#(< ~counter~0 50)} ~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 50)} is VALID [2022-04-14 17:28:21,597 INFO L290 TraceCheckUtils]: 50: Hoare triple {3708#(< ~counter~0 50)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3708#(< ~counter~0 50)} is VALID [2022-04-14 17:28:21,598 INFO L290 TraceCheckUtils]: 49: Hoare triple {3708#(< ~counter~0 50)} assume !!(0 != ~y~0); {3708#(< ~counter~0 50)} is VALID [2022-04-14 17:28:21,598 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3510#true} {3708#(< ~counter~0 50)} #61#return; {3708#(< ~counter~0 50)} is VALID [2022-04-14 17:28:21,598 INFO L290 TraceCheckUtils]: 47: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:28:21,598 INFO L290 TraceCheckUtils]: 46: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:28:21,598 INFO L290 TraceCheckUtils]: 45: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:28:21,599 INFO L272 TraceCheckUtils]: 44: Hoare triple {3708#(< ~counter~0 50)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-14 17:28:21,599 INFO L290 TraceCheckUtils]: 43: Hoare triple {3708#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {3708#(< ~counter~0 50)} is VALID [2022-04-14 17:28:21,599 INFO L290 TraceCheckUtils]: 42: Hoare triple {3739#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3708#(< ~counter~0 50)} is VALID [2022-04-14 17:28:21,600 INFO L290 TraceCheckUtils]: 41: Hoare triple {3739#(< ~counter~0 49)} ~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 49)} is VALID [2022-04-14 17:28:21,600 INFO L290 TraceCheckUtils]: 40: Hoare triple {3739#(< ~counter~0 49)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3739#(< ~counter~0 49)} is VALID [2022-04-14 17:28:21,600 INFO L290 TraceCheckUtils]: 39: Hoare triple {3739#(< ~counter~0 49)} assume !!(0 != ~y~0); {3739#(< ~counter~0 49)} is VALID [2022-04-14 17:28:21,601 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3510#true} {3739#(< ~counter~0 49)} #61#return; {3739#(< ~counter~0 49)} is VALID [2022-04-14 17:28:21,601 INFO L290 TraceCheckUtils]: 37: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:28:21,601 INFO L290 TraceCheckUtils]: 36: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:28:21,601 INFO L290 TraceCheckUtils]: 35: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:28:21,601 INFO L272 TraceCheckUtils]: 34: Hoare triple {3739#(< ~counter~0 49)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-14 17:28:21,602 INFO L290 TraceCheckUtils]: 33: Hoare triple {3739#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {3739#(< ~counter~0 49)} is VALID [2022-04-14 17:28:21,602 INFO L290 TraceCheckUtils]: 32: Hoare triple {3770#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3739#(< ~counter~0 49)} is VALID [2022-04-14 17:28:21,603 INFO L290 TraceCheckUtils]: 31: Hoare triple {3770#(< ~counter~0 48)} ~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 48)} is VALID [2022-04-14 17:28:21,603 INFO L290 TraceCheckUtils]: 30: Hoare triple {3770#(< ~counter~0 48)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3770#(< ~counter~0 48)} is VALID [2022-04-14 17:28:21,603 INFO L290 TraceCheckUtils]: 29: Hoare triple {3770#(< ~counter~0 48)} assume !!(0 != ~y~0); {3770#(< ~counter~0 48)} is VALID [2022-04-14 17:28:21,604 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3510#true} {3770#(< ~counter~0 48)} #61#return; {3770#(< ~counter~0 48)} is VALID [2022-04-14 17:28:21,604 INFO L290 TraceCheckUtils]: 27: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:28:21,604 INFO L290 TraceCheckUtils]: 26: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:28:21,604 INFO L290 TraceCheckUtils]: 25: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:28:21,604 INFO L272 TraceCheckUtils]: 24: Hoare triple {3770#(< ~counter~0 48)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-14 17:28:21,604 INFO L290 TraceCheckUtils]: 23: Hoare triple {3770#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {3770#(< ~counter~0 48)} is VALID [2022-04-14 17:28:21,605 INFO L290 TraceCheckUtils]: 22: Hoare triple {3801#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3770#(< ~counter~0 48)} is VALID [2022-04-14 17:28:21,606 INFO L290 TraceCheckUtils]: 21: Hoare triple {3801#(< ~counter~0 47)} ~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 47)} is VALID [2022-04-14 17:28:21,607 INFO L290 TraceCheckUtils]: 20: Hoare triple {3801#(< ~counter~0 47)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3801#(< ~counter~0 47)} is VALID [2022-04-14 17:28:21,607 INFO L290 TraceCheckUtils]: 19: Hoare triple {3801#(< ~counter~0 47)} assume !!(0 != ~y~0); {3801#(< ~counter~0 47)} is VALID [2022-04-14 17:28:21,607 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3510#true} {3801#(< ~counter~0 47)} #61#return; {3801#(< ~counter~0 47)} is VALID [2022-04-14 17:28:21,608 INFO L290 TraceCheckUtils]: 17: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:28:21,608 INFO L290 TraceCheckUtils]: 16: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:28:21,608 INFO L290 TraceCheckUtils]: 15: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:28:21,608 INFO L272 TraceCheckUtils]: 14: Hoare triple {3801#(< ~counter~0 47)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-14 17:28:21,608 INFO L290 TraceCheckUtils]: 13: Hoare triple {3801#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {3801#(< ~counter~0 47)} is VALID [2022-04-14 17:28:21,608 INFO L290 TraceCheckUtils]: 12: Hoare triple {3832#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3801#(< ~counter~0 47)} is VALID [2022-04-14 17:28:21,609 INFO L290 TraceCheckUtils]: 11: Hoare triple {3832#(< ~counter~0 46)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3832#(< ~counter~0 46)} is VALID [2022-04-14 17:28:21,609 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3510#true} {3832#(< ~counter~0 46)} #59#return; {3832#(< ~counter~0 46)} is VALID [2022-04-14 17:28:21,609 INFO L290 TraceCheckUtils]: 9: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:28:21,609 INFO L290 TraceCheckUtils]: 8: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:28:21,609 INFO L290 TraceCheckUtils]: 7: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:28:21,609 INFO L272 TraceCheckUtils]: 6: Hoare triple {3832#(< ~counter~0 46)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3510#true} is VALID [2022-04-14 17:28:21,610 INFO L290 TraceCheckUtils]: 5: Hoare triple {3832#(< ~counter~0 46)} 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 46)} is VALID [2022-04-14 17:28:21,610 INFO L272 TraceCheckUtils]: 4: Hoare triple {3832#(< ~counter~0 46)} call #t~ret7 := main(); {3832#(< ~counter~0 46)} is VALID [2022-04-14 17:28:21,610 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3832#(< ~counter~0 46)} {3510#true} #65#return; {3832#(< ~counter~0 46)} is VALID [2022-04-14 17:28:21,611 INFO L290 TraceCheckUtils]: 2: Hoare triple {3832#(< ~counter~0 46)} assume true; {3832#(< ~counter~0 46)} is VALID [2022-04-14 17:28:21,611 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 46)} is VALID [2022-04-14 17:28:21,611 INFO L272 TraceCheckUtils]: 0: Hoare triple {3510#true} call ULTIMATE.init(); {3510#true} is VALID [2022-04-14 17:28:21,611 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-14 17:28:21,611 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:28:21,612 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [393106118] [2022-04-14 17:28:21,612 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:28:21,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1098976185] [2022-04-14 17:28:21,613 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1098976185] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:28:21,613 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:28:21,613 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-14 17:28:21,613 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1137598571] [2022-04-14 17:28:21,613 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:28:21,613 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-14 17:28:21,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:28:21,614 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-14 17:28:21,714 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-14 17:28:21,714 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-14 17:28:21,714 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:28:21,714 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-14 17:28:21,715 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-14 17:28:21,715 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-14 17:28:22,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:28:22,186 INFO L93 Difference]: Finished difference Result 300 states and 341 transitions. [2022-04-14 17:28:22,186 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-14 17:28:22,186 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-14 17:28:22,186 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:28:22,186 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-14 17:28:22,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 150 transitions. [2022-04-14 17:28:22,189 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-14 17:28:22,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 150 transitions. [2022-04-14 17:28:22,191 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 150 transitions. [2022-04-14 17:28:22,281 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-14 17:28:22,288 INFO L225 Difference]: With dead ends: 300 [2022-04-14 17:28:22,288 INFO L226 Difference]: Without dead ends: 293 [2022-04-14 17:28:22,289 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-14 17:28:22,289 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-14 17:28:22,289 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-14 17:28:22,290 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 293 states. [2022-04-14 17:28:22,411 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 293 to 283. [2022-04-14 17:28:22,411 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:28:22,412 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-14 17:28:22,412 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-14 17:28:22,413 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-14 17:28:22,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:28:22,421 INFO L93 Difference]: Finished difference Result 293 states and 317 transitions. [2022-04-14 17:28:22,421 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 317 transitions. [2022-04-14 17:28:22,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:28:22,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:28:22,422 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-14 17:28:22,422 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-14 17:28:22,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:28:22,428 INFO L93 Difference]: Finished difference Result 293 states and 317 transitions. [2022-04-14 17:28:22,428 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 317 transitions. [2022-04-14 17:28:22,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:28:22,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:28:22,429 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:28:22,429 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:28:22,429 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-14 17:28:22,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 283 states to 283 states and 312 transitions. [2022-04-14 17:28:22,434 INFO L78 Accepts]: Start accepts. Automaton has 283 states and 312 transitions. Word has length 58 [2022-04-14 17:28:22,434 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:28:22,435 INFO L478 AbstractCegarLoop]: Abstraction has 283 states and 312 transitions. [2022-04-14 17:28:22,436 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-14 17:28:22,436 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 312 transitions. [2022-04-14 17:28:22,436 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-14 17:28:22,436 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:28:22,436 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-14 17:28:22,452 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-14 17:28:22,651 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-14 17:28:22,651 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:28:22,652 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:28:22,652 INFO L85 PathProgramCache]: Analyzing trace with hash -919267190, now seen corresponding path program 2 times [2022-04-14 17:28:22,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:28:22,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [535362569] [2022-04-14 17:28:22,652 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:28:22,652 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:28:22,663 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:28:22,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1790396541] [2022-04-14 17:28:22,663 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 17:28:22,663 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:28:22,663 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:28:22,665 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-14 17:28:22,666 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-14 17:28:22,706 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 17:28:22,706 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 17:28:22,707 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-14 17:28:22,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:28:22,723 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:30:03,021 INFO L272 TraceCheckUtils]: 0: Hoare triple {5246#true} call ULTIMATE.init(); {5246#true} is VALID [2022-04-14 17:30:03,021 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-14 17:30:03,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:30:03,022 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5246#true} {5246#true} #65#return; {5246#true} is VALID [2022-04-14 17:30:03,022 INFO L272 TraceCheckUtils]: 4: Hoare triple {5246#true} call #t~ret7 := main(); {5246#true} is VALID [2022-04-14 17:30:03,022 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-14 17:30:03,022 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-14 17:30:03,022 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-14 17:30:03,022 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-14 17:30:03,023 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-14 17:30:03,023 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-14 17:30:03,023 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_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:30:03,024 INFO L290 TraceCheckUtils]: 12: Hoare triple {5287#(and (= main_~z~0 0) (= 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_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:30:03,024 INFO L290 TraceCheckUtils]: 13: Hoare triple {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:30:03,024 INFO L272 TraceCheckUtils]: 14: Hoare triple {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-14 17:30:03,024 INFO L290 TraceCheckUtils]: 15: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-14 17:30:03,024 INFO L290 TraceCheckUtils]: 16: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-14 17:30:03,024 INFO L290 TraceCheckUtils]: 17: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:30:03,024 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5246#true} {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:30:03,025 INFO L290 TraceCheckUtils]: 19: Hoare triple {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:30:03,025 INFO L290 TraceCheckUtils]: 20: Hoare triple {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5315#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:30:03,026 INFO L290 TraceCheckUtils]: 21: Hoare triple {5315#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:30:03,026 INFO L290 TraceCheckUtils]: 22: Hoare triple {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:30:03,027 INFO L290 TraceCheckUtils]: 23: Hoare triple {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 50);havoc #t~post6; {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:30:03,027 INFO L272 TraceCheckUtils]: 24: Hoare triple {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-14 17:30:03,027 INFO L290 TraceCheckUtils]: 25: Hoare triple {5246#true} ~cond := #in~cond; {5332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:30:03,027 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-14 17:30:03,027 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-14 17:30:03,028 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:30:03,028 INFO L290 TraceCheckUtils]: 29: Hoare triple {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:30:03,029 INFO L290 TraceCheckUtils]: 30: Hoare triple {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5349#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (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-14 17:30:03,030 INFO L290 TraceCheckUtils]: 31: Hoare triple {5349#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (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); {5353#(and (= main_~z~0 0) (= (* 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)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:30:03,030 INFO L290 TraceCheckUtils]: 32: Hoare triple {5353#(and (= main_~z~0 0) (= (* 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)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5353#(and (= main_~z~0 0) (= (* 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)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:30:03,030 INFO L290 TraceCheckUtils]: 33: Hoare triple {5353#(and (= main_~z~0 0) (= (* 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)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 50);havoc #t~post6; {5353#(and (= main_~z~0 0) (= (* 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)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:30:03,031 INFO L272 TraceCheckUtils]: 34: Hoare triple {5353#(and (= main_~z~0 0) (= (* 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)) (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-14 17:30:03,031 INFO L290 TraceCheckUtils]: 35: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-14 17:30:03,031 INFO L290 TraceCheckUtils]: 36: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-14 17:30:03,031 INFO L290 TraceCheckUtils]: 37: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:30:03,031 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5246#true} {5353#(and (= main_~z~0 0) (= (* 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)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {5353#(and (= main_~z~0 0) (= (* 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)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:30:03,031 INFO L290 TraceCheckUtils]: 39: Hoare triple {5353#(and (= main_~z~0 0) (= (* 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)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {5353#(and (= main_~z~0 0) (= (* 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)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-14 17:30:03,032 INFO L290 TraceCheckUtils]: 40: Hoare triple {5353#(and (= main_~z~0 0) (= (* 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)) (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)); {5381#(and (= main_~z~0 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-14 17:30:03,035 INFO L290 TraceCheckUtils]: 41: Hoare triple {5381#(and (= main_~z~0 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); {5385#(and (= main_~z~0 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-14 17:30:03,035 INFO L290 TraceCheckUtils]: 42: Hoare triple {5385#(and (= main_~z~0 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; {5385#(and (= main_~z~0 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-14 17:30:03,036 INFO L290 TraceCheckUtils]: 43: Hoare triple {5385#(and (= main_~z~0 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 < 50);havoc #t~post6; {5385#(and (= main_~z~0 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-14 17:30:03,036 INFO L272 TraceCheckUtils]: 44: Hoare triple {5385#(and (= main_~z~0 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-14 17:30:03,036 INFO L290 TraceCheckUtils]: 45: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-14 17:30:03,036 INFO L290 TraceCheckUtils]: 46: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-14 17:30:03,036 INFO L290 TraceCheckUtils]: 47: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:30:03,036 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5246#true} {5385#(and (= main_~z~0 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; {5385#(and (= main_~z~0 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-14 17:30:03,037 INFO L290 TraceCheckUtils]: 49: Hoare triple {5385#(and (= main_~z~0 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); {5385#(and (= main_~z~0 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-14 17:30:03,038 INFO L290 TraceCheckUtils]: 50: Hoare triple {5385#(and (= main_~z~0 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)); {5413#(and (= main_~z~0 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-14 17:30:03,039 INFO L290 TraceCheckUtils]: 51: Hoare triple {5413#(and (= main_~z~0 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); {5417#(and (= main_~z~0 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-14 17:30:03,040 INFO L290 TraceCheckUtils]: 52: Hoare triple {5417#(and (= main_~z~0 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; {5417#(and (= main_~z~0 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-14 17:30:03,040 INFO L290 TraceCheckUtils]: 53: Hoare triple {5417#(and (= main_~z~0 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 < 50);havoc #t~post6; {5417#(and (= main_~z~0 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-14 17:30:03,043 INFO L272 TraceCheckUtils]: 54: Hoare triple {5417#(and (= main_~z~0 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)); {5427#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:30:03,044 INFO L290 TraceCheckUtils]: 55: Hoare triple {5427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:30:03,044 INFO L290 TraceCheckUtils]: 56: Hoare triple {5431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5247#false} is VALID [2022-04-14 17:30:03,044 INFO L290 TraceCheckUtils]: 57: Hoare triple {5247#false} assume !false; {5247#false} is VALID [2022-04-14 17:30:03,045 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-14 17:30:03,045 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:30:57,068 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 17:31:04,701 INFO L290 TraceCheckUtils]: 57: Hoare triple {5247#false} assume !false; {5247#false} is VALID [2022-04-14 17:31:04,701 INFO L290 TraceCheckUtils]: 56: Hoare triple {5431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5247#false} is VALID [2022-04-14 17:31:04,702 INFO L290 TraceCheckUtils]: 55: Hoare triple {5427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:31:04,702 INFO L272 TraceCheckUtils]: 54: Hoare triple {5447#(= (+ 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)); {5427#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:31:04,703 INFO L290 TraceCheckUtils]: 53: Hoare triple {5447#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 50);havoc #t~post6; {5447#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:31:04,703 INFO L290 TraceCheckUtils]: 52: Hoare triple {5447#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5447#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:31:04,707 INFO L290 TraceCheckUtils]: 51: Hoare triple {5457#(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); {5447#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:31:04,708 INFO L290 TraceCheckUtils]: 50: Hoare triple {5461#(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)); {5457#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-14 17:31:04,709 INFO L290 TraceCheckUtils]: 49: Hoare triple {5461#(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); {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:31:04,709 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5246#true} {5461#(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; {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:31:04,709 INFO L290 TraceCheckUtils]: 47: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:31:04,709 INFO L290 TraceCheckUtils]: 46: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-14 17:31:04,709 INFO L290 TraceCheckUtils]: 45: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-14 17:31:04,709 INFO L272 TraceCheckUtils]: 44: Hoare triple {5461#(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-14 17:31:04,710 INFO L290 TraceCheckUtils]: 43: Hoare triple {5461#(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 < 50);havoc #t~post6; {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:31:04,711 INFO L290 TraceCheckUtils]: 42: Hoare triple {5461#(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; {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:31:04,726 INFO L290 TraceCheckUtils]: 41: Hoare triple {5489#(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); {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:31:04,727 INFO L290 TraceCheckUtils]: 40: Hoare triple {5493#(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)); {5489#(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-14 17:31:04,728 INFO L290 TraceCheckUtils]: 39: Hoare triple {5493#(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); {5493#(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-14 17:31:04,728 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5246#true} {5493#(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; {5493#(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-14 17:31:04,729 INFO L290 TraceCheckUtils]: 37: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:31:04,729 INFO L290 TraceCheckUtils]: 36: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-14 17:31:04,729 INFO L290 TraceCheckUtils]: 35: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-14 17:31:04,729 INFO L272 TraceCheckUtils]: 34: Hoare triple {5493#(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-14 17:31:04,730 INFO L290 TraceCheckUtils]: 33: Hoare triple {5493#(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 < 50);havoc #t~post6; {5493#(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-14 17:31:04,731 INFO L290 TraceCheckUtils]: 32: Hoare triple {5493#(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; {5493#(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-14 17:31:04,760 INFO L290 TraceCheckUtils]: 31: Hoare triple {5521#(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); {5493#(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-14 17:31:04,762 INFO L290 TraceCheckUtils]: 30: Hoare triple {5525#(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)); {5521#(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-14 17:31:04,765 INFO L290 TraceCheckUtils]: 29: Hoare triple {5525#(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); {5525#(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-14 17:31:04,778 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} {5532#(or (and (or (= (+ (* (+ 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)) (= (mod main_~y~0 2) 0)) (or (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod (div main_~y~0 2) 2) 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)))) (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))))} #61#return; {5525#(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-14 17:31:04,778 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-14 17:31:04,778 INFO L290 TraceCheckUtils]: 26: Hoare triple {5542#(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-14 17:31:04,778 INFO L290 TraceCheckUtils]: 25: Hoare triple {5246#true} ~cond := #in~cond; {5542#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 17:31:04,778 INFO L272 TraceCheckUtils]: 24: Hoare triple {5532#(or (and (or (= (+ (* (+ 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)) (= (mod main_~y~0 2) 0)) (or (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod (div main_~y~0 2) 2) 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)))) (<= 0 main_~y~0) (not (= (+ 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)); {5246#true} is VALID [2022-04-14 17:31:04,779 INFO L290 TraceCheckUtils]: 23: Hoare triple {5532#(or (and (or (= (+ (* (+ 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)) (= (mod main_~y~0 2) 0)) (or (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod (div main_~y~0 2) 2) 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)))) (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {5532#(or (and (or (= (+ (* (+ 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)) (= (mod main_~y~0 2) 0)) (or (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod (div main_~y~0 2) 2) 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)))) (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))))} is VALID [2022-04-14 17:31:04,781 INFO L290 TraceCheckUtils]: 22: Hoare triple {5532#(or (and (or (= (+ (* (+ 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)) (= (mod main_~y~0 2) 0)) (or (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod (div main_~y~0 2) 2) 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)))) (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5532#(or (and (or (= (+ (* (+ 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)) (= (mod main_~y~0 2) 0)) (or (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod (div main_~y~0 2) 2) 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)))) (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))))} is VALID [2022-04-14 17:31:06,783 WARN L290 TraceCheckUtils]: 21: Hoare triple {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (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); {5532#(or (and (or (= (+ (* (+ 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)) (= (mod main_~y~0 2) 0)) (or (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod (div main_~y~0 2) 2) 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)))) (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))))} is UNKNOWN [2022-04-14 17:31:06,785 INFO L290 TraceCheckUtils]: 20: Hoare triple {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (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)); {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:31:06,786 INFO L290 TraceCheckUtils]: 19: Hoare triple {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:31:06,787 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5246#true} {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} #61#return; {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:31:06,787 INFO L290 TraceCheckUtils]: 17: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:31:06,787 INFO L290 TraceCheckUtils]: 16: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-14 17:31:06,787 INFO L290 TraceCheckUtils]: 15: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-14 17:31:06,787 INFO L272 TraceCheckUtils]: 14: Hoare triple {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (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-14 17:31:06,788 INFO L290 TraceCheckUtils]: 13: Hoare triple {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:31:06,789 INFO L290 TraceCheckUtils]: 12: Hoare triple {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:31:06,790 INFO L290 TraceCheckUtils]: 11: Hoare triple {5586#(or (= main_~a~0 0) (not (= (mod (* (- 1) main_~b~0 main_~a~0) 2) 0)) (and (= 0 (mod (div (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0) 2) 2)) (= (mod (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0) 2) 0) (= (mod (div (div (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0) 2) 2) 2) 0)) (<= 0 (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0)) (not (= (mod (div (* (- 1) (* main_~b~0 main_~a~0)) (- 2)) main_~a~0) 0)))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-14 17:31:06,793 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5276#(not (= |assume_abort_if_not_#in~cond| 0))} {5246#true} #59#return; {5586#(or (= main_~a~0 0) (not (= (mod (* (- 1) main_~b~0 main_~a~0) 2) 0)) (and (= 0 (mod (div (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0) 2) 2)) (= (mod (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0) 2) 0) (= (mod (div (div (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0) 2) 2) 2) 0)) (<= 0 (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0)) (not (= (mod (div (* (- 1) (* main_~b~0 main_~a~0)) (- 2)) main_~a~0) 0)))} is VALID [2022-04-14 17:31:06,793 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-14 17:31:06,793 INFO L290 TraceCheckUtils]: 8: Hoare triple {5599#(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-14 17:31:06,794 INFO L290 TraceCheckUtils]: 7: Hoare triple {5246#true} ~cond := #in~cond; {5599#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-14 17:31:06,794 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-14 17:31:06,794 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-14 17:31:06,794 INFO L272 TraceCheckUtils]: 4: Hoare triple {5246#true} call #t~ret7 := main(); {5246#true} is VALID [2022-04-14 17:31:06,794 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5246#true} {5246#true} #65#return; {5246#true} is VALID [2022-04-14 17:31:06,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-14 17:31:06,794 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-14 17:31:06,794 INFO L272 TraceCheckUtils]: 0: Hoare triple {5246#true} call ULTIMATE.init(); {5246#true} is VALID [2022-04-14 17:31:06,795 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-14 17:31:06,795 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:31:06,795 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [535362569] [2022-04-14 17:31:06,795 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:31:06,795 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1790396541] [2022-04-14 17:31:06,795 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1790396541] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:31:06,795 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:31:06,795 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 30 [2022-04-14 17:31:06,795 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1743402416] [2022-04-14 17:31:06,795 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:31:06,796 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 2.1666666666666665) internal successors, (65), 27 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-14 17:31:06,796 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:31:06,797 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 30 states, 30 states have (on average 2.1666666666666665) internal successors, (65), 27 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-14 17:31:08,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 88 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 17:31:08,981 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-14 17:31:08,981 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:31:08,981 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-14 17:31:08,982 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=157, Invalid=713, Unknown=0, NotChecked=0, Total=870 [2022-04-14 17:31:08,982 INFO L87 Difference]: Start difference. First operand 283 states and 312 transitions. Second operand has 30 states, 30 states have (on average 2.1666666666666665) internal successors, (65), 27 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-14 17:31:52,395 WARN L232 SmtUtils]: Spent 36.37s on a formula simplification. DAG size of input: 169 DAG size of output: 63 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-14 17:31:54,556 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:31:56,561 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:32:22,203 WARN L232 SmtUtils]: Spent 8.30s on a formula simplification. DAG size of input: 175 DAG size of output: 43 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-14 17:32:25,735 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.92s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:32:28,863 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.06s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:32:29,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:32:29,926 INFO L93 Difference]: Finished difference Result 409 states and 471 transitions. [2022-04-14 17:32:29,926 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-14 17:32:29,926 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 30 states have (on average 2.1666666666666665) internal successors, (65), 27 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-14 17:32:29,927 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:32:29,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 2.1666666666666665) internal successors, (65), 27 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-14 17:32:29,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 116 transitions. [2022-04-14 17:32:29,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 30 states have (on average 2.1666666666666665) internal successors, (65), 27 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-14 17:32:29,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 116 transitions. [2022-04-14 17:32:29,935 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 116 transitions. [2022-04-14 17:32:34,431 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-14 17:32:34,440 INFO L225 Difference]: With dead ends: 409 [2022-04-14 17:32:34,440 INFO L226 Difference]: Without dead ends: 407 [2022-04-14 17:32:34,441 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 85 SyntacticMatches, 3 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 432 ImplicationChecksByTransitivity, 62.2s TimeCoverageRelationStatistics Valid=367, Invalid=1437, Unknown=2, NotChecked=0, Total=1806 [2022-04-14 17:32:34,442 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 88 mSDsluCounter, 332 mSDsCounter, 0 mSdLazyCounter, 690 mSolverCounterSat, 99 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 13.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 362 SdHoareTripleChecker+Invalid, 791 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 99 IncrementalHoareTripleChecker+Valid, 690 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 13.5s IncrementalHoareTripleChecker+Time [2022-04-14 17:32:34,442 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [90 Valid, 362 Invalid, 791 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [99 Valid, 690 Invalid, 2 Unknown, 0 Unchecked, 13.5s Time] [2022-04-14 17:32:34,443 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 407 states. [2022-04-14 17:32:34,627 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 407 to 403. [2022-04-14 17:32:34,627 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:32:34,628 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-14 17:32:34,628 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-14 17:32:34,629 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-14 17:32:34,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:32:34,637 INFO L93 Difference]: Finished difference Result 407 states and 464 transitions. [2022-04-14 17:32:34,637 INFO L276 IsEmpty]: Start isEmpty. Operand 407 states and 464 transitions. [2022-04-14 17:32:34,637 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:32:34,637 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:32:34,638 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-14 17:32:34,638 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-14 17:32:34,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:32:34,647 INFO L93 Difference]: Finished difference Result 407 states and 464 transitions. [2022-04-14 17:32:34,647 INFO L276 IsEmpty]: Start isEmpty. Operand 407 states and 464 transitions. [2022-04-14 17:32:34,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:32:34,648 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:32:34,648 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:32:34,648 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:32:34,649 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-14 17:32:34,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 403 states to 403 states and 460 transitions. [2022-04-14 17:32:34,658 INFO L78 Accepts]: Start accepts. Automaton has 403 states and 460 transitions. Word has length 58 [2022-04-14 17:32:34,658 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:32:34,658 INFO L478 AbstractCegarLoop]: Abstraction has 403 states and 460 transitions. [2022-04-14 17:32:34,658 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 30 states have (on average 2.1666666666666665) internal successors, (65), 27 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-14 17:32:34,658 INFO L276 IsEmpty]: Start isEmpty. Operand 403 states and 460 transitions. [2022-04-14 17:32:34,659 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-14 17:32:34,659 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:32:34,659 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-14 17:32:34,675 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-14 17:32:34,875 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-14 17:32:34,875 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:32:34,876 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:32:34,876 INFO L85 PathProgramCache]: Analyzing trace with hash 86722727, now seen corresponding path program 2 times [2022-04-14 17:32:34,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:32:34,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [430180110] [2022-04-14 17:32:34,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:32:34,876 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:32:34,887 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:32:34,887 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [22814473] [2022-04-14 17:32:34,887 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 17:32:34,887 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:32:34,888 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:32:34,892 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-14 17:32:34,893 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-14 17:32:34,949 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 17:32:34,949 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 17:32:34,950 INFO L263 TraceCheckSpWp]: Trace formula consists of 189 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-14 17:32:34,984 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:32:34,986 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:32:55,043 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful