/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_unwindbound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-14 17:24:57,108 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-14 17:24:57,110 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-14 17:24:57,147 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-14 17:24:57,148 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-14 17:24:57,149 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-14 17:24:57,151 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-14 17:24:57,156 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-14 17:24:57,158 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-14 17:24:57,161 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-14 17:24:57,161 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-14 17:24:57,162 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-14 17:24:57,162 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-14 17:24:57,164 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-14 17:24:57,165 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-14 17:24:57,165 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-14 17:24:57,167 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-14 17:24:57,168 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-14 17:24:57,171 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-14 17:24:57,172 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-14 17:24:57,173 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-14 17:24:57,174 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-14 17:24:57,174 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-14 17:24:57,175 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-14 17:24:57,176 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-14 17:24:57,181 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-14 17:24:57,181 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-14 17:24:57,182 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-14 17:24:57,182 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-14 17:24:57,182 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-14 17:24:57,183 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-14 17:24:57,183 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-14 17:24:57,183 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-14 17:24:57,184 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-14 17:24:57,184 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-14 17:24:57,184 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-14 17:24:57,185 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-14 17:24:57,185 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-14 17:24:57,185 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-14 17:24:57,185 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-14 17:24:57,186 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-14 17:24:57,190 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-14 17:24:57,190 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:24:57,209 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-14 17:24:57,210 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-14 17:24:57,210 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-14 17:24:57,210 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-14 17:24:57,210 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-14 17:24:57,210 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-14 17:24:57,211 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-14 17:24:57,211 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-14 17:24:57,211 INFO L138 SettingsManager]: * Use SBE=true [2022-04-14 17:24:57,211 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-14 17:24:57,211 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-14 17:24:57,211 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-14 17:24:57,211 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-14 17:24:57,211 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-14 17:24:57,211 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-14 17:24:57,211 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-14 17:24:57,211 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-14 17:24:57,212 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-14 17:24:57,212 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-14 17:24:57,212 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-14 17:24:57,212 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-14 17:24:57,212 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-14 17:24:57,212 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-14 17:24:57,212 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-14 17:24:57,212 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 17:24:57,212 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-14 17:24:57,212 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-14 17:24:57,212 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-14 17:24:57,212 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-14 17:24:57,213 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-14 17:24:57,213 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-14 17:24:57,213 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-14 17:24:57,213 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-14 17:24:57,213 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:24:57,383 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-14 17:24:57,408 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-14 17:24:57,409 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-14 17:24:57,410 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-14 17:24:57,412 INFO L275 PluginConnector]: CDTParser initialized [2022-04-14 17:24:57,412 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound5.c [2022-04-14 17:24:57,448 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eabf94df8/141e3ca8c75d424f84933bdea6fb4dac/FLAGcf0fc8108 [2022-04-14 17:24:57,811 INFO L306 CDTParser]: Found 1 translation units. [2022-04-14 17:24:57,811 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound5.c [2022-04-14 17:24:57,818 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eabf94df8/141e3ca8c75d424f84933bdea6fb4dac/FLAGcf0fc8108 [2022-04-14 17:24:57,828 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/eabf94df8/141e3ca8c75d424f84933bdea6fb4dac [2022-04-14 17:24:57,830 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-14 17:24:57,831 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-14 17:24:57,833 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-14 17:24:57,833 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-14 17:24:57,835 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-14 17:24:57,838 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 05:24:57" (1/1) ... [2022-04-14 17:24:57,838 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@321c6b7f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:57, skipping insertion in model container [2022-04-14 17:24:57,838 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.04 05:24:57" (1/1) ... [2022-04-14 17:24:57,843 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-14 17:24:57,851 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-14 17:24:57,992 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_unwindbound5.c[537,550] [2022-04-14 17:24:58,010 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 17:24:58,015 INFO L203 MainTranslator]: Completed pre-run [2022-04-14 17:24:58,024 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_unwindbound5.c[537,550] [2022-04-14 17:24:58,036 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-14 17:24:58,045 INFO L208 MainTranslator]: Completed translation [2022-04-14 17:24:58,046 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:58 WrapperNode [2022-04-14 17:24:58,046 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-14 17:24:58,046 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-14 17:24:58,047 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-14 17:24:58,047 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-14 17:24:58,054 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:58" (1/1) ... [2022-04-14 17:24:58,054 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:58" (1/1) ... [2022-04-14 17:24:58,058 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:58" (1/1) ... [2022-04-14 17:24:58,058 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:58" (1/1) ... [2022-04-14 17:24:58,072 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:58" (1/1) ... [2022-04-14 17:24:58,076 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:58" (1/1) ... [2022-04-14 17:24:58,079 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:58" (1/1) ... [2022-04-14 17:24:58,080 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-14 17:24:58,080 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-14 17:24:58,080 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-14 17:24:58,080 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-14 17:24:58,081 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:58" (1/1) ... [2022-04-14 17:24:58,086 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-14 17:24:58,093 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:24:58,101 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:24:58,103 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:24:58,131 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-14 17:24:58,131 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-14 17:24:58,132 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-14 17:24:58,132 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-14 17:24:58,132 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-14 17:24:58,132 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-14 17:24:58,132 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-14 17:24:58,132 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-14 17:24:58,132 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-14 17:24:58,132 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-14 17:24:58,132 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-14 17:24:58,132 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-14 17:24:58,132 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-14 17:24:58,132 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-14 17:24:58,133 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-14 17:24:58,133 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-14 17:24:58,133 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-14 17:24:58,133 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-14 17:24:58,133 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-14 17:24:58,133 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-14 17:24:58,172 INFO L234 CfgBuilder]: Building ICFG [2022-04-14 17:24:58,173 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-14 17:24:58,282 INFO L275 CfgBuilder]: Performing block encoding [2022-04-14 17:24:58,287 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-14 17:24:58,287 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-14 17:24:58,289 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 05:24:58 BoogieIcfgContainer [2022-04-14 17:24:58,289 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-14 17:24:58,290 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-14 17:24:58,290 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-14 17:24:58,293 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-14 17:24:58,293 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.04 05:24:57" (1/3) ... [2022-04-14 17:24:58,293 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@20725c99 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 05:24:58, skipping insertion in model container [2022-04-14 17:24:58,293 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.04 05:24:58" (2/3) ... [2022-04-14 17:24:58,294 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@20725c99 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.04 05:24:58, skipping insertion in model container [2022-04-14 17:24:58,294 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.04 05:24:58" (3/3) ... [2022-04-14 17:24:58,294 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_unwindbound5.c [2022-04-14 17:24:58,297 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-14 17:24:58,297 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-14 17:24:58,351 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-14 17:24:58,355 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:24:58,356 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-14 17:24:58,392 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:24:58,395 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-14 17:24:58,395 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:24:58,396 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:24:58,396 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:24:58,399 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:24:58,400 INFO L85 PathProgramCache]: Analyzing trace with hash -1523633710, now seen corresponding path program 1 times [2022-04-14 17:24:58,416 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:24:58,417 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1579416323] [2022-04-14 17:24:58,417 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:58,417 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:24:58,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:58,577 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-14 17:24:58,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:58,603 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:24:58,603 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-14 17:24:58,604 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2022-04-14 17:24:58,604 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-14 17:24:58,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:58,615 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-14 17:24:58,616 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-14 17:24:58,617 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-14 17:24:58,617 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-14 17:24:58,618 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:24:58,618 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:24:58,618 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-14 17:24:58,618 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2022-04-14 17:24:58,619 INFO L272 TraceCheckUtils]: 4: Hoare triple {33#true} call #t~ret7 := main(); {33#true} is VALID [2022-04-14 17:24:58,619 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:24:58,619 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:24:58,619 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-14 17:24:58,620 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-14 17:24:58,620 INFO L290 TraceCheckUtils]: 9: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-14 17:24:58,620 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-14 17:24:58,620 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:24:58,621 INFO L290 TraceCheckUtils]: 12: Hoare triple {34#false} assume !true; {34#false} is VALID [2022-04-14 17:24:58,621 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:24:58,622 INFO L290 TraceCheckUtils]: 14: Hoare triple {34#false} ~cond := #in~cond; {34#false} is VALID [2022-04-14 17:24:58,622 INFO L290 TraceCheckUtils]: 15: Hoare triple {34#false} assume 0 == ~cond; {34#false} is VALID [2022-04-14 17:24:58,622 INFO L290 TraceCheckUtils]: 16: Hoare triple {34#false} assume !false; {34#false} is VALID [2022-04-14 17:24:58,623 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:24:58,623 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:24:58,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1579416323] [2022-04-14 17:24:58,625 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1579416323] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:24:58,625 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:24:58,625 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-14 17:24:58,626 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1379528353] [2022-04-14 17:24:58,626 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:24:58,630 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:24:58,631 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:24:58,633 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:24:58,662 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:24:58,662 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-14 17:24:58,663 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:24:58,683 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-14 17:24:58,684 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-14 17:24:58,686 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:24:58,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:58,842 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-14 17:24:58,842 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-14 17:24:58,842 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:24:58,843 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:24:58,844 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:24:58,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2022-04-14 17:24:58,849 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:24:58,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2022-04-14 17:24:58,854 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 66 transitions. [2022-04-14 17:24:58,971 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:24:58,978 INFO L225 Difference]: With dead ends: 52 [2022-04-14 17:24:58,979 INFO L226 Difference]: Without dead ends: 26 [2022-04-14 17:24:58,981 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:24:58,983 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 35 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 17:24:58,984 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:24:58,994 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-04-14 17:24:59,007 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 25. [2022-04-14 17:24:59,007 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:24:59,008 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:24:59,008 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:24:59,008 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:24:59,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:59,014 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-14 17:24:59,014 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-14 17:24:59,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:24:59,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:24:59,015 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:24:59,015 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:24:59,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:59,018 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-14 17:24:59,019 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-14 17:24:59,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:24:59,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:24:59,020 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:24:59,020 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:24:59,020 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:24:59,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 28 transitions. [2022-04-14 17:24:59,022 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 28 transitions. Word has length 17 [2022-04-14 17:24:59,023 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:24:59,023 INFO L478 AbstractCegarLoop]: Abstraction has 25 states and 28 transitions. [2022-04-14 17:24:59,023 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:24:59,023 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2022-04-14 17:24:59,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-14 17:24:59,024 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:24:59,024 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:24:59,024 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-14 17:24:59,024 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:24:59,025 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:24:59,025 INFO L85 PathProgramCache]: Analyzing trace with hash -991958694, now seen corresponding path program 1 times [2022-04-14 17:24:59,025 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:24:59,025 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1493174921] [2022-04-14 17:24:59,025 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:59,025 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:24:59,054 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:24:59,054 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [941148524] [2022-04-14 17:24:59,054 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:59,054 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:24:59,055 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:24:59,060 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:24:59,061 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:24:59,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:59,131 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-14 17:24:59,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:59,143 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:24:59,334 INFO L272 TraceCheckUtils]: 0: Hoare triple {199#true} call ULTIMATE.init(); {199#true} is VALID [2022-04-14 17:24:59,336 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:24:59,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {207#(<= ~counter~0 0)} assume true; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:59,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {207#(<= ~counter~0 0)} {199#true} #65#return; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:59,337 INFO L272 TraceCheckUtils]: 4: Hoare triple {207#(<= ~counter~0 0)} call #t~ret7 := main(); {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:59,338 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:24:59,338 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:24:59,338 INFO L290 TraceCheckUtils]: 7: Hoare triple {207#(<= ~counter~0 0)} ~cond := #in~cond; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:59,339 INFO L290 TraceCheckUtils]: 8: Hoare triple {207#(<= ~counter~0 0)} assume !(0 == ~cond); {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:59,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {207#(<= ~counter~0 0)} assume true; {207#(<= ~counter~0 0)} is VALID [2022-04-14 17:24:59,340 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:24:59,340 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:24:59,341 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:24:59,341 INFO L290 TraceCheckUtils]: 13: Hoare triple {241#(<= |main_#t~post6| 0)} assume !(#t~post6 < 5);havoc #t~post6; {200#false} is VALID [2022-04-14 17:24:59,341 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:24:59,341 INFO L290 TraceCheckUtils]: 15: Hoare triple {200#false} ~cond := #in~cond; {200#false} is VALID [2022-04-14 17:24:59,341 INFO L290 TraceCheckUtils]: 16: Hoare triple {200#false} assume 0 == ~cond; {200#false} is VALID [2022-04-14 17:24:59,342 INFO L290 TraceCheckUtils]: 17: Hoare triple {200#false} assume !false; {200#false} is VALID [2022-04-14 17:24:59,342 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:24:59,342 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:24:59,342 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:24:59,342 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1493174921] [2022-04-14 17:24:59,343 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:24:59,343 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [941148524] [2022-04-14 17:24:59,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [941148524] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:24:59,351 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:24:59,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-14 17:24:59,352 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1974722850] [2022-04-14 17:24:59,352 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:24:59,353 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:24:59,353 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:24:59,353 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:24:59,373 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:24:59,373 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-14 17:24:59,374 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:24:59,374 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-14 17:24:59,374 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-14 17:24:59,374 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:24:59,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:59,460 INFO L93 Difference]: Finished difference Result 34 states and 37 transitions. [2022-04-14 17:24:59,461 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-14 17:24:59,461 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:24:59,461 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:24:59,461 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:24:59,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-04-14 17:24:59,468 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:24:59,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-04-14 17:24:59,469 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 37 transitions. [2022-04-14 17:24:59,500 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:24:59,502 INFO L225 Difference]: With dead ends: 34 [2022-04-14 17:24:59,502 INFO L226 Difference]: Without dead ends: 27 [2022-04-14 17:24:59,502 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:24:59,504 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:24:59,504 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:24:59,506 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-14 17:24:59,516 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-14 17:24:59,516 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:24:59,516 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:24:59,516 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:24:59,517 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:24:59,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:59,519 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 17:24:59,519 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 17:24:59,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:24:59,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:24:59,521 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:24:59,523 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:24:59,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:24:59,528 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-14 17:24:59,528 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 17:24:59,529 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:24:59,529 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:24:59,529 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:24:59,529 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:24:59,529 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:24:59,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-14 17:24:59,537 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 18 [2022-04-14 17:24:59,537 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:24:59,537 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-14 17:24:59,537 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:24:59,537 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-14 17:24:59,539 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-14 17:24:59,539 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:24:59,539 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:24:59,557 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-14 17:24:59,754 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:24:59,754 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:24:59,754 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:24:59,755 INFO L85 PathProgramCache]: Analyzing trace with hash -990171234, now seen corresponding path program 1 times [2022-04-14 17:24:59,755 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:24:59,755 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [82279658] [2022-04-14 17:24:59,755 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:59,755 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:24:59,784 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:24:59,784 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1888270500] [2022-04-14 17:24:59,784 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:24:59,784 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:24:59,785 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:24:59,787 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:24:59,789 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:24:59,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:59,851 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 17:24:59,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:24:59,858 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:24:59,980 INFO L272 TraceCheckUtils]: 0: Hoare triple {395#true} call ULTIMATE.init(); {395#true} is VALID [2022-04-14 17:24:59,980 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:24:59,980 INFO L290 TraceCheckUtils]: 2: Hoare triple {395#true} assume true; {395#true} is VALID [2022-04-14 17:24:59,980 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {395#true} {395#true} #65#return; {395#true} is VALID [2022-04-14 17:24:59,980 INFO L272 TraceCheckUtils]: 4: Hoare triple {395#true} call #t~ret7 := main(); {395#true} is VALID [2022-04-14 17:24:59,980 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:24:59,980 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:24:59,983 INFO L290 TraceCheckUtils]: 7: Hoare triple {395#true} ~cond := #in~cond; {395#true} is VALID [2022-04-14 17:24:59,984 INFO L290 TraceCheckUtils]: 8: Hoare triple {395#true} assume !(0 == ~cond); {395#true} is VALID [2022-04-14 17:24:59,984 INFO L290 TraceCheckUtils]: 9: Hoare triple {395#true} assume true; {395#true} is VALID [2022-04-14 17:24:59,984 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {395#true} {395#true} #59#return; {395#true} is VALID [2022-04-14 17:24:59,986 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:24:59,987 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:24:59,987 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 < 5);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:24:59,990 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:24:59,990 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:24:59,991 INFO L290 TraceCheckUtils]: 16: Hoare triple {447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {396#false} is VALID [2022-04-14 17:24:59,991 INFO L290 TraceCheckUtils]: 17: Hoare triple {396#false} assume !false; {396#false} is VALID [2022-04-14 17:24:59,991 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:24:59,991 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:24:59,991 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:24:59,991 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [82279658] [2022-04-14 17:24:59,991 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:24:59,991 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1888270500] [2022-04-14 17:24:59,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1888270500] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:24:59,992 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:24:59,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-14 17:24:59,992 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1428264402] [2022-04-14 17:24:59,992 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:24:59,994 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:24:59,994 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:24:59,994 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:00,006 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:00,006 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-14 17:25:00,007 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:00,007 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-14 17:25:00,007 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-14 17:25:00,007 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:00,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:00,105 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-14 17:25:00,105 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-14 17:25:00,105 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:00,105 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:00,105 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:00,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-14 17:25:00,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-14 17:25:00,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-14 17:25:00,108 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2022-04-14 17:25:00,134 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:00,135 INFO L225 Difference]: With dead ends: 38 [2022-04-14 17:25:00,136 INFO L226 Difference]: Without dead ends: 36 [2022-04-14 17:25:00,136 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:00,136 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:00,137 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:00,137 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-14 17:25:00,142 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 32. [2022-04-14 17:25:00,142 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:00,143 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:00,143 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:00,143 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:00,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:00,144 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-14 17:25:00,145 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-14 17:25:00,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:00,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:00,145 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:00,145 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:00,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:00,147 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-14 17:25:00,147 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-14 17:25:00,147 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:00,147 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:00,147 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:00,147 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:00,147 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:00,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 35 transitions. [2022-04-14 17:25:00,148 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 35 transitions. Word has length 18 [2022-04-14 17:25:00,149 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:00,149 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 35 transitions. [2022-04-14 17:25:00,149 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:00,149 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 35 transitions. [2022-04-14 17:25:00,149 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-14 17:25:00,149 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:00,149 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:00,165 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-14 17:25:00,365 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:00,365 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:00,366 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:00,366 INFO L85 PathProgramCache]: Analyzing trace with hash 1094479982, now seen corresponding path program 1 times [2022-04-14 17:25:00,366 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:00,366 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1017536351] [2022-04-14 17:25:00,366 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:00,366 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:00,377 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:00,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1656262081] [2022-04-14 17:25:00,377 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:00,377 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:00,377 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:00,378 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:00,379 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:00,419 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:00,420 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-14 17:25:00,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:00,471 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:00,603 INFO L272 TraceCheckUtils]: 0: Hoare triple {624#true} call ULTIMATE.init(); {624#true} is VALID [2022-04-14 17:25:00,603 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:00,603 INFO L290 TraceCheckUtils]: 2: Hoare triple {624#true} assume true; {624#true} is VALID [2022-04-14 17:25:00,604 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {624#true} {624#true} #65#return; {624#true} is VALID [2022-04-14 17:25:00,604 INFO L272 TraceCheckUtils]: 4: Hoare triple {624#true} call #t~ret7 := main(); {624#true} is VALID [2022-04-14 17:25:00,604 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:00,604 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:00,604 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:00,605 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:00,605 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:00,606 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:00,606 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:00,607 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:00,607 INFO L290 TraceCheckUtils]: 13: Hoare triple {665#(<= 1 main_~y~0)} assume !!(#t~post6 < 5);havoc #t~post6; {665#(<= 1 main_~y~0)} is VALID [2022-04-14 17:25:00,607 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:00,607 INFO L290 TraceCheckUtils]: 15: Hoare triple {624#true} ~cond := #in~cond; {624#true} is VALID [2022-04-14 17:25:00,608 INFO L290 TraceCheckUtils]: 16: Hoare triple {624#true} assume !(0 == ~cond); {624#true} is VALID [2022-04-14 17:25:00,608 INFO L290 TraceCheckUtils]: 17: Hoare triple {624#true} assume true; {624#true} is VALID [2022-04-14 17:25:00,608 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:00,609 INFO L290 TraceCheckUtils]: 19: Hoare triple {665#(<= 1 main_~y~0)} assume !(0 != ~y~0); {625#false} is VALID [2022-04-14 17:25:00,609 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:00,609 INFO L290 TraceCheckUtils]: 21: Hoare triple {625#false} ~cond := #in~cond; {625#false} is VALID [2022-04-14 17:25:00,609 INFO L290 TraceCheckUtils]: 22: Hoare triple {625#false} assume 0 == ~cond; {625#false} is VALID [2022-04-14 17:25:00,610 INFO L290 TraceCheckUtils]: 23: Hoare triple {625#false} assume !false; {625#false} is VALID [2022-04-14 17:25:00,610 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:00,610 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-14 17:25:00,610 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:00,610 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1017536351] [2022-04-14 17:25:00,610 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:00,611 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1656262081] [2022-04-14 17:25:00,611 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1656262081] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-14 17:25:00,611 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-14 17:25:00,611 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-14 17:25:00,611 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1777540785] [2022-04-14 17:25:00,611 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-14 17:25:00,612 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:00,612 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:00,612 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:00,631 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:00,631 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-14 17:25:00,631 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:00,632 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-14 17:25:00,632 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-14 17:25:00,632 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:00,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:00,749 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-14 17:25:00,749 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-14 17:25:00,749 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:00,749 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:00,749 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:00,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 43 transitions. [2022-04-14 17:25:00,751 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:00,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 43 transitions. [2022-04-14 17:25:00,752 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 43 transitions. [2022-04-14 17:25:00,780 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:00,781 INFO L225 Difference]: With dead ends: 42 [2022-04-14 17:25:00,781 INFO L226 Difference]: Without dead ends: 35 [2022-04-14 17:25:00,782 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:00,782 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:00,783 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:00,783 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-14 17:25:00,791 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 33. [2022-04-14 17:25:00,791 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:00,791 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:00,791 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:00,792 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:00,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:00,793 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 17:25:00,793 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-14 17:25:00,793 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:00,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:00,793 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:00,794 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:00,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:00,795 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-14 17:25:00,795 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-14 17:25:00,795 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:00,795 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:00,795 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:00,795 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:00,796 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:00,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2022-04-14 17:25:00,797 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 24 [2022-04-14 17:25:00,797 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:00,797 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2022-04-14 17:25:00,797 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:00,797 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-14 17:25:00,797 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-14 17:25:00,797 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:00,798 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:00,813 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-14 17:25:01,013 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:01,014 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:01,014 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:01,014 INFO L85 PathProgramCache]: Analyzing trace with hash 584619061, now seen corresponding path program 1 times [2022-04-14 17:25:01,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:01,015 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2064997608] [2022-04-14 17:25:01,015 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:01,015 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:01,028 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:01,028 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1113805044] [2022-04-14 17:25:01,028 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:01,028 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:01,028 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:01,034 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:01,034 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:01,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:01,067 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-14 17:25:01,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:01,077 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:01,196 INFO L272 TraceCheckUtils]: 0: Hoare triple {878#true} call ULTIMATE.init(); {878#true} is VALID [2022-04-14 17:25:01,197 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:01,197 INFO L290 TraceCheckUtils]: 2: Hoare triple {886#(<= ~counter~0 0)} assume true; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:01,197 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:01,198 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:01,198 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:01,199 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:01,199 INFO L290 TraceCheckUtils]: 7: Hoare triple {886#(<= ~counter~0 0)} ~cond := #in~cond; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:01,199 INFO L290 TraceCheckUtils]: 8: Hoare triple {886#(<= ~counter~0 0)} assume !(0 == ~cond); {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:01,200 INFO L290 TraceCheckUtils]: 9: Hoare triple {886#(<= ~counter~0 0)} assume true; {886#(<= ~counter~0 0)} is VALID [2022-04-14 17:25:01,200 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:01,200 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:01,201 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:01,201 INFO L290 TraceCheckUtils]: 13: Hoare triple {920#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:01,202 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:01,202 INFO L290 TraceCheckUtils]: 15: Hoare triple {920#(<= ~counter~0 1)} ~cond := #in~cond; {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:01,202 INFO L290 TraceCheckUtils]: 16: Hoare triple {920#(<= ~counter~0 1)} assume !(0 == ~cond); {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:01,203 INFO L290 TraceCheckUtils]: 17: Hoare triple {920#(<= ~counter~0 1)} assume true; {920#(<= ~counter~0 1)} is VALID [2022-04-14 17:25:01,203 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:01,204 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:01,204 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:01,204 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:01,205 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:01,205 INFO L290 TraceCheckUtils]: 23: Hoare triple {951#(<= |main_#t~post6| 1)} assume !(#t~post6 < 5);havoc #t~post6; {879#false} is VALID [2022-04-14 17:25:01,205 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:01,206 INFO L290 TraceCheckUtils]: 25: Hoare triple {879#false} ~cond := #in~cond; {879#false} is VALID [2022-04-14 17:25:01,206 INFO L290 TraceCheckUtils]: 26: Hoare triple {879#false} assume 0 == ~cond; {879#false} is VALID [2022-04-14 17:25:01,206 INFO L290 TraceCheckUtils]: 27: Hoare triple {879#false} assume !false; {879#false} is VALID [2022-04-14 17:25:01,206 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:01,206 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:25:01,337 INFO L290 TraceCheckUtils]: 27: Hoare triple {879#false} assume !false; {879#false} is VALID [2022-04-14 17:25:01,338 INFO L290 TraceCheckUtils]: 26: Hoare triple {879#false} assume 0 == ~cond; {879#false} is VALID [2022-04-14 17:25:01,338 INFO L290 TraceCheckUtils]: 25: Hoare triple {879#false} ~cond := #in~cond; {879#false} is VALID [2022-04-14 17:25:01,338 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:01,338 INFO L290 TraceCheckUtils]: 23: Hoare triple {979#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {879#false} is VALID [2022-04-14 17:25:01,339 INFO L290 TraceCheckUtils]: 22: Hoare triple {983#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {979#(< |main_#t~post6| 5)} is VALID [2022-04-14 17:25:01,339 INFO L290 TraceCheckUtils]: 21: Hoare triple {983#(< ~counter~0 5)} ~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 5)} is VALID [2022-04-14 17:25:01,339 INFO L290 TraceCheckUtils]: 20: Hoare triple {983#(< ~counter~0 5)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {983#(< ~counter~0 5)} is VALID [2022-04-14 17:25:01,340 INFO L290 TraceCheckUtils]: 19: Hoare triple {983#(< ~counter~0 5)} assume !!(0 != ~y~0); {983#(< ~counter~0 5)} is VALID [2022-04-14 17:25:01,340 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {878#true} {983#(< ~counter~0 5)} #61#return; {983#(< ~counter~0 5)} is VALID [2022-04-14 17:25:01,340 INFO L290 TraceCheckUtils]: 17: Hoare triple {878#true} assume true; {878#true} is VALID [2022-04-14 17:25:01,341 INFO L290 TraceCheckUtils]: 16: Hoare triple {878#true} assume !(0 == ~cond); {878#true} is VALID [2022-04-14 17:25:01,341 INFO L290 TraceCheckUtils]: 15: Hoare triple {878#true} ~cond := #in~cond; {878#true} is VALID [2022-04-14 17:25:01,341 INFO L272 TraceCheckUtils]: 14: Hoare triple {983#(< ~counter~0 5)} 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:01,341 INFO L290 TraceCheckUtils]: 13: Hoare triple {983#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {983#(< ~counter~0 5)} is VALID [2022-04-14 17:25:01,342 INFO L290 TraceCheckUtils]: 12: Hoare triple {1014#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {983#(< ~counter~0 5)} is VALID [2022-04-14 17:25:01,342 INFO L290 TraceCheckUtils]: 11: Hoare triple {1014#(< ~counter~0 4)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1014#(< ~counter~0 4)} is VALID [2022-04-14 17:25:01,342 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {878#true} {1014#(< ~counter~0 4)} #59#return; {1014#(< ~counter~0 4)} is VALID [2022-04-14 17:25:01,343 INFO L290 TraceCheckUtils]: 9: Hoare triple {878#true} assume true; {878#true} is VALID [2022-04-14 17:25:01,343 INFO L290 TraceCheckUtils]: 8: Hoare triple {878#true} assume !(0 == ~cond); {878#true} is VALID [2022-04-14 17:25:01,343 INFO L290 TraceCheckUtils]: 7: Hoare triple {878#true} ~cond := #in~cond; {878#true} is VALID [2022-04-14 17:25:01,343 INFO L272 TraceCheckUtils]: 6: Hoare triple {1014#(< ~counter~0 4)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {878#true} is VALID [2022-04-14 17:25:01,343 INFO L290 TraceCheckUtils]: 5: Hoare triple {1014#(< ~counter~0 4)} 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 4)} is VALID [2022-04-14 17:25:01,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {1014#(< ~counter~0 4)} call #t~ret7 := main(); {1014#(< ~counter~0 4)} is VALID [2022-04-14 17:25:01,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1014#(< ~counter~0 4)} {878#true} #65#return; {1014#(< ~counter~0 4)} is VALID [2022-04-14 17:25:01,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {1014#(< ~counter~0 4)} assume true; {1014#(< ~counter~0 4)} is VALID [2022-04-14 17:25:01,345 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 4)} is VALID [2022-04-14 17:25:01,345 INFO L272 TraceCheckUtils]: 0: Hoare triple {878#true} call ULTIMATE.init(); {878#true} is VALID [2022-04-14 17:25:01,345 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:01,345 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:01,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2064997608] [2022-04-14 17:25:01,345 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:01,345 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1113805044] [2022-04-14 17:25:01,346 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1113805044] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:25:01,346 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:25:01,346 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-14 17:25:01,346 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1838291162] [2022-04-14 17:25:01,346 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:25:01,346 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:01,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:01,347 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:01,379 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:01,379 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-14 17:25:01,379 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:01,380 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-14 17:25:01,380 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-14 17:25:01,380 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:01,528 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:01,528 INFO L93 Difference]: Finished difference Result 70 states and 80 transitions. [2022-04-14 17:25:01,528 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-14 17:25:01,528 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:01,528 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:01,529 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:01,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-14 17:25:01,531 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:01,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-14 17:25:01,532 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 80 transitions. [2022-04-14 17:25:01,589 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:01,590 INFO L225 Difference]: With dead ends: 70 [2022-04-14 17:25:01,590 INFO L226 Difference]: Without dead ends: 63 [2022-04-14 17:25:01,591 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:01,591 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:01,592 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:01,592 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-14 17:25:01,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-14 17:25:01,609 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:01,609 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:01,610 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:01,610 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:01,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:01,612 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-14 17:25:01,612 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2022-04-14 17:25:01,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:01,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:01,613 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:01,613 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:01,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:01,614 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-14 17:25:01,614 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2022-04-14 17:25:01,615 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:01,615 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:01,615 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:01,615 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:01,615 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:01,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 69 transitions. [2022-04-14 17:25:01,617 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 69 transitions. Word has length 28 [2022-04-14 17:25:01,617 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:01,617 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 69 transitions. [2022-04-14 17:25:01,617 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:01,617 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-04-14 17:25:01,618 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-14 17:25:01,618 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:01,618 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:01,652 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:01,834 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:01,835 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:01,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:01,836 INFO L85 PathProgramCache]: Analyzing trace with hash 586406521, now seen corresponding path program 1 times [2022-04-14 17:25:01,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:01,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1210207737] [2022-04-14 17:25:01,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:01,836 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:01,847 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:01,847 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1913226693] [2022-04-14 17:25:01,847 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:01,847 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:01,847 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:01,854 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:01,873 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:01,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:01,893 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-14 17:25:01,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:01,927 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:03,049 INFO L272 TraceCheckUtils]: 0: Hoare triple {1360#true} call ULTIMATE.init(); {1360#true} is VALID [2022-04-14 17:25:03,049 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:03,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {1360#true} assume true; {1360#true} is VALID [2022-04-14 17:25:03,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1360#true} {1360#true} #65#return; {1360#true} is VALID [2022-04-14 17:25:03,050 INFO L272 TraceCheckUtils]: 4: Hoare triple {1360#true} call #t~ret7 := main(); {1360#true} is VALID [2022-04-14 17:25:03,050 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:03,050 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:03,050 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:03,051 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:03,051 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:03,052 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:03,052 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:03,052 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:03,053 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 < 5);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:03,053 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:03,053 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:03,054 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:03,054 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:03,055 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:03,055 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:03,056 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:03,056 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:03,057 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:03,057 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 < 5);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:03,059 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:03,059 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:03,060 INFO L290 TraceCheckUtils]: 26: Hoare triple {1450#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1361#false} is VALID [2022-04-14 17:25:03,060 INFO L290 TraceCheckUtils]: 27: Hoare triple {1361#false} assume !false; {1361#false} is VALID [2022-04-14 17:25:03,060 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:03,060 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:25:27,391 INFO L290 TraceCheckUtils]: 27: Hoare triple {1361#false} assume !false; {1361#false} is VALID [2022-04-14 17:25:27,392 INFO L290 TraceCheckUtils]: 26: Hoare triple {1450#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1361#false} is VALID [2022-04-14 17:25:27,392 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:27,399 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:27,399 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 < 5);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:27,399 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:27,405 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:27,406 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:27,406 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:27,408 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:27,408 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:27,409 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:27,409 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:27,410 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:27,411 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 < 5);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:27,411 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:27,412 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:27,414 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:27,414 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:27,415 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:27,415 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:27,415 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:27,415 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:27,415 INFO L272 TraceCheckUtils]: 4: Hoare triple {1360#true} call #t~ret7 := main(); {1360#true} is VALID [2022-04-14 17:25:27,415 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1360#true} {1360#true} #65#return; {1360#true} is VALID [2022-04-14 17:25:27,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {1360#true} assume true; {1360#true} is VALID [2022-04-14 17:25:27,415 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:27,415 INFO L272 TraceCheckUtils]: 0: Hoare triple {1360#true} call ULTIMATE.init(); {1360#true} is VALID [2022-04-14 17:25:27,416 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:27,416 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:27,416 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1210207737] [2022-04-14 17:25:27,416 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:27,416 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1913226693] [2022-04-14 17:25:27,416 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1913226693] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:25:27,416 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:25:27,416 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 20 [2022-04-14 17:25:27,416 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [251694216] [2022-04-14 17:25:27,416 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:25:27,417 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:27,417 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:27,417 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:27,448 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:27,448 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-14 17:25:27,448 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:27,449 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-14 17:25:27,449 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=313, Unknown=0, NotChecked=0, Total=380 [2022-04-14 17:25:27,449 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:29,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:29,544 INFO L93 Difference]: Finished difference Result 103 states and 121 transitions. [2022-04-14 17:25:29,544 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-14 17:25:29,544 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:29,544 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:29,544 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:29,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 71 transitions. [2022-04-14 17:25:29,546 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:29,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 71 transitions. [2022-04-14 17:25:29,548 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 71 transitions. [2022-04-14 17:25:29,618 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:29,620 INFO L225 Difference]: With dead ends: 103 [2022-04-14 17:25:29,620 INFO L226 Difference]: Without dead ends: 94 [2022-04-14 17:25:29,620 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:29,621 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 63 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 260 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s 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.9s IncrementalHoareTripleChecker+Time [2022-04-14 17:25:29,621 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.9s Time] [2022-04-14 17:25:29,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-14 17:25:29,654 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 92. [2022-04-14 17:25:29,654 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:29,655 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:29,655 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:29,655 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:29,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:29,659 INFO L93 Difference]: Finished difference Result 94 states and 109 transitions. [2022-04-14 17:25:29,659 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 109 transitions. [2022-04-14 17:25:29,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:29,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:29,660 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:29,661 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:29,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:29,666 INFO L93 Difference]: Finished difference Result 94 states and 109 transitions. [2022-04-14 17:25:29,666 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 109 transitions. [2022-04-14 17:25:29,666 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:29,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:29,666 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:29,666 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:29,666 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:29,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 107 transitions. [2022-04-14 17:25:29,671 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 107 transitions. Word has length 28 [2022-04-14 17:25:29,671 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:29,671 INFO L478 AbstractCegarLoop]: Abstraction has 92 states and 107 transitions. [2022-04-14 17:25:29,671 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:29,671 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 107 transitions. [2022-04-14 17:25:29,672 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-14 17:25:29,672 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:29,672 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:29,705 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:29,885 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:29,885 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:29,886 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:29,886 INFO L85 PathProgramCache]: Analyzing trace with hash -1513703477, now seen corresponding path program 1 times [2022-04-14 17:25:29,886 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:29,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1757145046] [2022-04-14 17:25:29,886 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:29,886 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:29,901 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:29,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [438012042] [2022-04-14 17:25:29,901 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:29,901 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:29,902 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:29,904 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:29,904 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:29,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:29,939 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-14 17:25:29,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:29,950 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:25:31,210 INFO L272 TraceCheckUtils]: 0: Hoare triple {2016#true} call ULTIMATE.init(); {2016#true} is VALID [2022-04-14 17:25:31,210 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:31,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:31,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2016#true} {2016#true} #65#return; {2016#true} is VALID [2022-04-14 17:25:31,210 INFO L272 TraceCheckUtils]: 4: Hoare triple {2016#true} call #t~ret7 := main(); {2016#true} is VALID [2022-04-14 17:25:31,211 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:31,211 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:31,211 INFO L290 TraceCheckUtils]: 7: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-14 17:25:31,211 INFO L290 TraceCheckUtils]: 8: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-14 17:25:31,211 INFO L290 TraceCheckUtils]: 9: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:31,211 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2016#true} {2016#true} #59#return; {2016#true} is VALID [2022-04-14 17:25:31,211 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:31,211 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:31,211 INFO L290 TraceCheckUtils]: 13: Hoare triple {2016#true} assume !!(#t~post6 < 5);havoc #t~post6; {2016#true} is VALID [2022-04-14 17:25:31,211 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:31,211 INFO L290 TraceCheckUtils]: 15: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-14 17:25:31,211 INFO L290 TraceCheckUtils]: 16: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-14 17:25:31,211 INFO L290 TraceCheckUtils]: 17: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:31,212 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2016#true} {2016#true} #61#return; {2016#true} is VALID [2022-04-14 17:25:31,212 INFO L290 TraceCheckUtils]: 19: Hoare triple {2016#true} assume !!(0 != ~y~0); {2016#true} is VALID [2022-04-14 17:25:31,212 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:31,212 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:31,212 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:31,212 INFO L290 TraceCheckUtils]: 23: Hoare triple {2016#true} assume !!(#t~post6 < 5);havoc #t~post6; {2016#true} is VALID [2022-04-14 17:25:31,212 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:31,215 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:31,215 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:31,216 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:33,225 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:33,226 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:33,235 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:33,235 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:33,236 INFO L290 TraceCheckUtils]: 32: Hoare triple {2119#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2017#false} is VALID [2022-04-14 17:25:33,236 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#false} assume !false; {2017#false} is VALID [2022-04-14 17:25:33,236 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:33,236 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:25:44,878 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#false} assume !false; {2017#false} is VALID [2022-04-14 17:25:44,879 INFO L290 TraceCheckUtils]: 32: Hoare triple {2119#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2017#false} is VALID [2022-04-14 17:25:44,879 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:44,880 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:44,880 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:25:44,881 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:25:44,881 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:44,882 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:25:44,882 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:25:44,882 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:44,882 INFO L290 TraceCheckUtils]: 23: Hoare triple {2016#true} assume !!(#t~post6 < 5);havoc #t~post6; {2016#true} is VALID [2022-04-14 17:25:44,882 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:44,882 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:44,882 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:44,882 INFO L290 TraceCheckUtils]: 19: Hoare triple {2016#true} assume !!(0 != ~y~0); {2016#true} is VALID [2022-04-14 17:25:44,882 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2016#true} {2016#true} #61#return; {2016#true} is VALID [2022-04-14 17:25:44,882 INFO L290 TraceCheckUtils]: 17: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:44,883 INFO L290 TraceCheckUtils]: 16: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-14 17:25:44,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-14 17:25:44,883 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:44,883 INFO L290 TraceCheckUtils]: 13: Hoare triple {2016#true} assume !!(#t~post6 < 5);havoc #t~post6; {2016#true} is VALID [2022-04-14 17:25:44,883 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:44,883 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:44,883 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2016#true} {2016#true} #59#return; {2016#true} is VALID [2022-04-14 17:25:44,883 INFO L290 TraceCheckUtils]: 9: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:44,883 INFO L290 TraceCheckUtils]: 8: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-14 17:25:44,883 INFO L290 TraceCheckUtils]: 7: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-14 17:25:44,883 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:44,883 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:44,884 INFO L272 TraceCheckUtils]: 4: Hoare triple {2016#true} call #t~ret7 := main(); {2016#true} is VALID [2022-04-14 17:25:44,884 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2016#true} {2016#true} #65#return; {2016#true} is VALID [2022-04-14 17:25:44,884 INFO L290 TraceCheckUtils]: 2: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-14 17:25:44,884 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:44,884 INFO L272 TraceCheckUtils]: 0: Hoare triple {2016#true} call ULTIMATE.init(); {2016#true} is VALID [2022-04-14 17:25:44,884 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:44,884 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:25:44,884 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1757145046] [2022-04-14 17:25:44,884 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:25:44,884 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [438012042] [2022-04-14 17:25:44,884 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [438012042] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:25:44,884 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:25:44,884 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-14 17:25:44,885 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1760113420] [2022-04-14 17:25:44,885 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:25:44,885 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:25:44,885 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:25:44,885 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:25:46,910 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:25:46,911 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-14 17:25:46,911 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:25:46,911 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-14 17:25:46,911 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-14 17:25:46,911 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:25:48,942 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:25:49,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:49,477 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2022-04-14 17:25:49,477 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-14 17:25:49,477 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:25:49,477 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:25:49,477 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:25:49,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-14 17:25:49,478 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:25:49,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-14 17:25:49,479 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 35 transitions. [2022-04-14 17:25:51,503 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:25:51,505 INFO L225 Difference]: With dead ends: 104 [2022-04-14 17:25:51,505 INFO L226 Difference]: Without dead ends: 89 [2022-04-14 17:25:51,505 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:25:51,505 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 17 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 88 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-14 17:25:51,506 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 88 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 55 Invalid, 1 Unknown, 0 Unchecked, 2.2s Time] [2022-04-14 17:25:51,506 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-14 17:25:51,533 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 88. [2022-04-14 17:25:51,533 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:25:51,534 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:25:51,534 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:25:51,534 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:25:51,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:51,536 INFO L93 Difference]: Finished difference Result 89 states and 100 transitions. [2022-04-14 17:25:51,536 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 100 transitions. [2022-04-14 17:25:51,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:51,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:51,537 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:25:51,537 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:25:51,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:25:51,539 INFO L93 Difference]: Finished difference Result 89 states and 100 transitions. [2022-04-14 17:25:51,539 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 100 transitions. [2022-04-14 17:25:51,539 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:25:51,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:25:51,539 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:25:51,539 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:25:51,539 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:25:51,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 99 transitions. [2022-04-14 17:25:51,541 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 99 transitions. Word has length 34 [2022-04-14 17:25:51,541 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:25:51,541 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 99 transitions. [2022-04-14 17:25:51,541 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:25:51,541 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 99 transitions. [2022-04-14 17:25:51,542 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-14 17:25:51,542 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:25:51,542 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:25:51,573 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-14 17:25:51,757 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:25:51,757 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:25:51,758 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:25:51,758 INFO L85 PathProgramCache]: Analyzing trace with hash 539044694, now seen corresponding path program 1 times [2022-04-14 17:25:51,758 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:25:51,758 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [671722690] [2022-04-14 17:25:51,758 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:51,758 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:25:51,779 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:25:51,779 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1920702709] [2022-04-14 17:25:51,779 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:25:51,779 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:25:51,779 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:25:51,781 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:25:51,782 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:25:51,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:51,836 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-14 17:25:51,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:25:51,871 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:26:01,175 INFO L272 TraceCheckUtils]: 0: Hoare triple {2671#true} call ULTIMATE.init(); {2671#true} is VALID [2022-04-14 17:26:01,176 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:01,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:26:01,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2671#true} {2671#true} #65#return; {2671#true} is VALID [2022-04-14 17:26:01,176 INFO L272 TraceCheckUtils]: 4: Hoare triple {2671#true} call #t~ret7 := main(); {2671#true} is VALID [2022-04-14 17:26:01,176 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:01,176 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:01,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-14 17:26:01,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-14 17:26:01,176 INFO L290 TraceCheckUtils]: 9: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:26:01,176 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2671#true} {2671#true} #59#return; {2671#true} is VALID [2022-04-14 17:26:01,177 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:01,177 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:01,177 INFO L290 TraceCheckUtils]: 13: Hoare triple {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 5);havoc #t~post6; {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-14 17:26:01,177 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:01,178 INFO L290 TraceCheckUtils]: 15: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-14 17:26:01,178 INFO L290 TraceCheckUtils]: 16: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-14 17:26:01,178 INFO L290 TraceCheckUtils]: 17: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:26:01,179 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:01,179 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:01,180 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:01,181 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:01,182 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:01,182 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 < 5);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:01,182 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:01,182 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:01,183 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:01,183 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:01,184 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:01,184 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:01,185 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:01,189 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:01,189 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:01,190 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 < 5);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:01,206 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:01,206 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:01,207 INFO L290 TraceCheckUtils]: 36: Hoare triple {2791#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2672#false} is VALID [2022-04-14 17:26:01,207 INFO L290 TraceCheckUtils]: 37: Hoare triple {2672#false} assume !false; {2672#false} is VALID [2022-04-14 17:26:01,207 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:01,207 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:27:53,776 INFO L290 TraceCheckUtils]: 37: Hoare triple {2672#false} assume !false; {2672#false} is VALID [2022-04-14 17:27:53,777 INFO L290 TraceCheckUtils]: 36: Hoare triple {2791#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2672#false} is VALID [2022-04-14 17:27:53,777 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:27:53,778 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:27:53,778 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 < 5);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:27:53,779 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:27:53,784 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:27:53,785 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:27:53,786 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:27:53,788 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:27:53,789 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:27:53,789 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:27:53,789 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:27:53,789 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:27:53,790 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 < 5);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:27:53,790 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:27:53,811 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:27:53,813 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:27:53,813 INFO L290 TraceCheckUtils]: 19: Hoare triple {2671#true} assume !!(0 != ~y~0); {2671#true} is VALID [2022-04-14 17:27:53,813 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2671#true} {2671#true} #61#return; {2671#true} is VALID [2022-04-14 17:27:53,814 INFO L290 TraceCheckUtils]: 17: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:27:53,814 INFO L290 TraceCheckUtils]: 16: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-14 17:27:53,814 INFO L290 TraceCheckUtils]: 15: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-14 17:27:53,814 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:27:53,814 INFO L290 TraceCheckUtils]: 13: Hoare triple {2671#true} assume !!(#t~post6 < 5);havoc #t~post6; {2671#true} is VALID [2022-04-14 17:27:53,814 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:27:53,814 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:27:53,814 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2671#true} {2671#true} #59#return; {2671#true} is VALID [2022-04-14 17:27:53,814 INFO L290 TraceCheckUtils]: 9: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:27:53,814 INFO L290 TraceCheckUtils]: 8: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-14 17:27:53,814 INFO L290 TraceCheckUtils]: 7: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-14 17:27:53,814 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:27:53,814 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:27:53,814 INFO L272 TraceCheckUtils]: 4: Hoare triple {2671#true} call #t~ret7 := main(); {2671#true} is VALID [2022-04-14 17:27:53,814 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2671#true} {2671#true} #65#return; {2671#true} is VALID [2022-04-14 17:27:53,815 INFO L290 TraceCheckUtils]: 2: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-14 17:27:53,815 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:27:53,815 INFO L272 TraceCheckUtils]: 0: Hoare triple {2671#true} call ULTIMATE.init(); {2671#true} is VALID [2022-04-14 17:27:53,815 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:27:53,815 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:27:53,815 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [671722690] [2022-04-14 17:27:53,815 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:27:53,815 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1920702709] [2022-04-14 17:27:53,815 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1920702709] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:27:53,815 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:27:53,815 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-14 17:27:53,816 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1892390907] [2022-04-14 17:27:53,816 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:27:53,816 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:27:53,816 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:27:53,816 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:27:53,887 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:27:53,887 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-14 17:27:53,887 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:27:53,887 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-14 17:27:53,888 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-04-14 17:27:53,888 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:27:58,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:27:58,001 INFO L93 Difference]: Finished difference Result 124 states and 137 transitions. [2022-04-14 17:27:58,001 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-14 17:27:58,001 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:27:58,001 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:27:58,001 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:27:58,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 74 transitions. [2022-04-14 17:27:58,002 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:27:58,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 74 transitions. [2022-04-14 17:27:58,004 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 74 transitions. [2022-04-14 17:28:00,047 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:00,049 INFO L225 Difference]: With dead ends: 124 [2022-04-14 17:28:00,049 INFO L226 Difference]: Without dead ends: 122 [2022-04-14 17:28:00,049 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 150 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=132, Invalid=624, Unknown=0, NotChecked=0, Total=756 [2022-04-14 17:28:00,049 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 43 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 253 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 216 SdHoareTripleChecker+Invalid, 303 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 253 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 27 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-14 17:28:00,050 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 216 Invalid, 303 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 253 Invalid, 0 Unknown, 27 Unchecked, 0.9s Time] [2022-04-14 17:28:00,052 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2022-04-14 17:28:00,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 120. [2022-04-14 17:28:00,092 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:28:00,093 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:00,093 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:00,093 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:00,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:28:00,096 INFO L93 Difference]: Finished difference Result 122 states and 134 transitions. [2022-04-14 17:28:00,096 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 134 transitions. [2022-04-14 17:28:00,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:28:00,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:28:00,097 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:00,097 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:00,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:28:00,099 INFO L93 Difference]: Finished difference Result 122 states and 134 transitions. [2022-04-14 17:28:00,099 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 134 transitions. [2022-04-14 17:28:00,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:28:00,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:28:00,099 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:28:00,099 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:28:00,100 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:00,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 132 transitions. [2022-04-14 17:28:00,102 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 132 transitions. Word has length 38 [2022-04-14 17:28:00,102 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:28:00,102 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 132 transitions. [2022-04-14 17:28:00,102 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:00,102 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-04-14 17:28:00,103 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-14 17:28:00,103 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:28:00,103 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:00,121 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:00,318 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:00,319 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:28:00,319 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:28:00,319 INFO L85 PathProgramCache]: Analyzing trace with hash -921054650, now seen corresponding path program 2 times [2022-04-14 17:28:00,319 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:28:00,319 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1343793894] [2022-04-14 17:28:00,319 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:28:00,319 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:28:00,330 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:28:00,330 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [828055498] [2022-04-14 17:28:00,330 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 17:28:00,330 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:28:00,330 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:28:00,331 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:00,332 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:00,374 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 17:28:00,374 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 17:28:00,375 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-14 17:28:00,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:28:00,385 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:28:00,669 INFO L272 TraceCheckUtils]: 0: Hoare triple {3510#true} call ULTIMATE.init(); {3510#true} is VALID [2022-04-14 17:28:00,669 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:00,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {3518#(<= ~counter~0 0)} assume true; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:28:00,670 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:00,670 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:00,671 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:00,671 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:00,671 INFO L290 TraceCheckUtils]: 7: Hoare triple {3518#(<= ~counter~0 0)} ~cond := #in~cond; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:28:00,672 INFO L290 TraceCheckUtils]: 8: Hoare triple {3518#(<= ~counter~0 0)} assume !(0 == ~cond); {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:28:00,672 INFO L290 TraceCheckUtils]: 9: Hoare triple {3518#(<= ~counter~0 0)} assume true; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:28:00,672 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:00,673 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:00,673 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:00,673 INFO L290 TraceCheckUtils]: 13: Hoare triple {3552#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:28:00,674 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:00,674 INFO L290 TraceCheckUtils]: 15: Hoare triple {3552#(<= ~counter~0 1)} ~cond := #in~cond; {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:28:00,675 INFO L290 TraceCheckUtils]: 16: Hoare triple {3552#(<= ~counter~0 1)} assume !(0 == ~cond); {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:28:00,675 INFO L290 TraceCheckUtils]: 17: Hoare triple {3552#(<= ~counter~0 1)} assume true; {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:28:00,676 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:00,676 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:00,676 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:00,677 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:00,677 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:00,677 INFO L290 TraceCheckUtils]: 23: Hoare triple {3583#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:28:00,678 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:00,678 INFO L290 TraceCheckUtils]: 25: Hoare triple {3583#(<= ~counter~0 2)} ~cond := #in~cond; {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:28:00,679 INFO L290 TraceCheckUtils]: 26: Hoare triple {3583#(<= ~counter~0 2)} assume !(0 == ~cond); {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:28:00,679 INFO L290 TraceCheckUtils]: 27: Hoare triple {3583#(<= ~counter~0 2)} assume true; {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:28:00,679 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:00,680 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:00,680 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:00,680 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:00,681 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:00,681 INFO L290 TraceCheckUtils]: 33: Hoare triple {3614#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:28:00,682 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:00,682 INFO L290 TraceCheckUtils]: 35: Hoare triple {3614#(<= ~counter~0 3)} ~cond := #in~cond; {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:28:00,682 INFO L290 TraceCheckUtils]: 36: Hoare triple {3614#(<= ~counter~0 3)} assume !(0 == ~cond); {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:28:00,682 INFO L290 TraceCheckUtils]: 37: Hoare triple {3614#(<= ~counter~0 3)} assume true; {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:28:00,683 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:00,683 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:00,684 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:00,684 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:00,684 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:00,685 INFO L290 TraceCheckUtils]: 43: Hoare triple {3645#(<= ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:28:00,685 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:00,686 INFO L290 TraceCheckUtils]: 45: Hoare triple {3645#(<= ~counter~0 4)} ~cond := #in~cond; {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:28:00,686 INFO L290 TraceCheckUtils]: 46: Hoare triple {3645#(<= ~counter~0 4)} assume !(0 == ~cond); {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:28:00,686 INFO L290 TraceCheckUtils]: 47: Hoare triple {3645#(<= ~counter~0 4)} assume true; {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:28:00,687 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:00,687 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:00,687 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:00,688 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:00,688 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:00,688 INFO L290 TraceCheckUtils]: 53: Hoare triple {3676#(<= |main_#t~post6| 4)} assume !(#t~post6 < 5);havoc #t~post6; {3511#false} is VALID [2022-04-14 17:28:00,688 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:00,688 INFO L290 TraceCheckUtils]: 55: Hoare triple {3511#false} ~cond := #in~cond; {3511#false} is VALID [2022-04-14 17:28:00,688 INFO L290 TraceCheckUtils]: 56: Hoare triple {3511#false} assume 0 == ~cond; {3511#false} is VALID [2022-04-14 17:28:00,688 INFO L290 TraceCheckUtils]: 57: Hoare triple {3511#false} assume !false; {3511#false} is VALID [2022-04-14 17:28:00,689 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:00,690 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:28:00,919 INFO L290 TraceCheckUtils]: 57: Hoare triple {3511#false} assume !false; {3511#false} is VALID [2022-04-14 17:28:00,920 INFO L290 TraceCheckUtils]: 56: Hoare triple {3511#false} assume 0 == ~cond; {3511#false} is VALID [2022-04-14 17:28:00,920 INFO L290 TraceCheckUtils]: 55: Hoare triple {3511#false} ~cond := #in~cond; {3511#false} is VALID [2022-04-14 17:28:00,920 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:00,920 INFO L290 TraceCheckUtils]: 53: Hoare triple {3676#(<= |main_#t~post6| 4)} assume !(#t~post6 < 5);havoc #t~post6; {3511#false} is VALID [2022-04-14 17:28:00,920 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:00,921 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:00,921 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:00,921 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:00,922 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3510#true} {3645#(<= ~counter~0 4)} #61#return; {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:28:00,922 INFO L290 TraceCheckUtils]: 47: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:28:00,922 INFO L290 TraceCheckUtils]: 46: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:28:00,922 INFO L290 TraceCheckUtils]: 45: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:28:00,922 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)); {3510#true} is VALID [2022-04-14 17:28:00,922 INFO L290 TraceCheckUtils]: 43: Hoare triple {3645#(<= ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {3645#(<= ~counter~0 4)} is VALID [2022-04-14 17:28:00,923 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:00,923 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:00,923 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:00,924 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:00,924 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3510#true} {3614#(<= ~counter~0 3)} #61#return; {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:28:00,924 INFO L290 TraceCheckUtils]: 37: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:28:00,924 INFO L290 TraceCheckUtils]: 36: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:28:00,924 INFO L290 TraceCheckUtils]: 35: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:28:00,925 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)); {3510#true} is VALID [2022-04-14 17:28:00,925 INFO L290 TraceCheckUtils]: 33: Hoare triple {3614#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {3614#(<= ~counter~0 3)} is VALID [2022-04-14 17:28:00,925 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:00,925 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:00,926 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:00,927 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:00,931 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3510#true} {3583#(<= ~counter~0 2)} #61#return; {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:28:00,932 INFO L290 TraceCheckUtils]: 27: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:28:00,932 INFO L290 TraceCheckUtils]: 26: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:28:00,932 INFO L290 TraceCheckUtils]: 25: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:28:00,932 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)); {3510#true} is VALID [2022-04-14 17:28:00,932 INFO L290 TraceCheckUtils]: 23: Hoare triple {3583#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {3583#(<= ~counter~0 2)} is VALID [2022-04-14 17:28:00,933 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:00,933 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:00,933 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:00,933 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:00,934 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3510#true} {3552#(<= ~counter~0 1)} #61#return; {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:28:00,934 INFO L290 TraceCheckUtils]: 17: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:28:00,934 INFO L290 TraceCheckUtils]: 16: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:28:00,934 INFO L290 TraceCheckUtils]: 15: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:28:00,934 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)); {3510#true} is VALID [2022-04-14 17:28:00,935 INFO L290 TraceCheckUtils]: 13: Hoare triple {3552#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {3552#(<= ~counter~0 1)} is VALID [2022-04-14 17:28:00,935 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:00,935 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:00,936 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3510#true} {3518#(<= ~counter~0 0)} #59#return; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:28:00,936 INFO L290 TraceCheckUtils]: 9: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-14 17:28:00,936 INFO L290 TraceCheckUtils]: 8: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-14 17:28:00,936 INFO L290 TraceCheckUtils]: 7: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-14 17:28:00,936 INFO L272 TraceCheckUtils]: 6: Hoare triple {3518#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3510#true} is VALID [2022-04-14 17:28:00,936 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:00,937 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:00,937 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:00,937 INFO L290 TraceCheckUtils]: 2: Hoare triple {3518#(<= ~counter~0 0)} assume true; {3518#(<= ~counter~0 0)} is VALID [2022-04-14 17:28:00,938 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:00,938 INFO L272 TraceCheckUtils]: 0: Hoare triple {3510#true} call ULTIMATE.init(); {3510#true} is VALID [2022-04-14 17:28:00,938 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:00,938 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:28:00,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1343793894] [2022-04-14 17:28:00,938 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:28:00,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [828055498] [2022-04-14 17:28:00,938 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [828055498] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:28:00,938 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:28:00,938 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-14 17:28:00,939 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [761663431] [2022-04-14 17:28:00,939 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:28:00,940 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 8 states have internal predecessors, (50), 7 states have call successors, (13), 7 states have call predecessors, (13), 6 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) Word has length 58 [2022-04-14 17:28:00,940 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:28:00,940 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 6.25) internal successors, (50), 8 states have internal predecessors, (50), 7 states have call successors, (13), 7 states have call predecessors, (13), 6 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-14 17:28:00,991 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:00,991 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-14 17:28:00,992 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:28:00,992 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-14 17:28:00,992 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2022-04-14 17:28:00,992 INFO L87 Difference]: Start difference. First operand 120 states and 132 transitions. Second operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 8 states have internal predecessors, (50), 7 states have call successors, (13), 7 states have call predecessors, (13), 6 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-14 17:28:01,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:28:01,180 INFO L93 Difference]: Finished difference Result 150 states and 166 transitions. [2022-04-14 17:28:01,180 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-14 17:28:01,180 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 8 states have internal predecessors, (50), 7 states have call successors, (13), 7 states have call predecessors, (13), 6 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) Word has length 58 [2022-04-14 17:28:01,180 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:28:01,180 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 8 states have internal predecessors, (50), 7 states have call successors, (13), 7 states have call predecessors, (13), 6 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-14 17:28:01,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-14 17:28:01,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 6.25) internal successors, (50), 8 states have internal predecessors, (50), 7 states have call successors, (13), 7 states have call predecessors, (13), 6 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-14 17:28:01,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-14 17:28:01,183 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 80 transitions. [2022-04-14 17:28:01,229 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:28:01,232 INFO L225 Difference]: With dead ends: 150 [2022-04-14 17:28:01,232 INFO L226 Difference]: Without dead ends: 143 [2022-04-14 17:28:01,232 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 108 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-14 17:28:01,232 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 12 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 29 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 29 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-14 17:28:01,232 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 111 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 29 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-14 17:28:01,233 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 143 states. [2022-04-14 17:28:01,283 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 143 to 143. [2022-04-14 17:28:01,283 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:28:01,284 INFO L82 GeneralOperation]: Start isEquivalent. First operand 143 states. Second operand has 143 states, 111 states have (on average 1.1261261261261262) internal successors, (125), 115 states have internal predecessors, (125), 17 states have call successors, (17), 15 states have call predecessors, (17), 14 states have return successors, (15), 12 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-14 17:28:01,285 INFO L74 IsIncluded]: Start isIncluded. First operand 143 states. Second operand has 143 states, 111 states have (on average 1.1261261261261262) internal successors, (125), 115 states have internal predecessors, (125), 17 states have call successors, (17), 15 states have call predecessors, (17), 14 states have return successors, (15), 12 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-14 17:28:01,285 INFO L87 Difference]: Start difference. First operand 143 states. Second operand has 143 states, 111 states have (on average 1.1261261261261262) internal successors, (125), 115 states have internal predecessors, (125), 17 states have call successors, (17), 15 states have call predecessors, (17), 14 states have return successors, (15), 12 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-14 17:28:01,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:28:01,302 INFO L93 Difference]: Finished difference Result 143 states and 157 transitions. [2022-04-14 17:28:01,302 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 157 transitions. [2022-04-14 17:28:01,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:28:01,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:28:01,303 INFO L74 IsIncluded]: Start isIncluded. First operand has 143 states, 111 states have (on average 1.1261261261261262) internal successors, (125), 115 states have internal predecessors, (125), 17 states have call successors, (17), 15 states have call predecessors, (17), 14 states have return successors, (15), 12 states have call predecessors, (15), 15 states have call successors, (15) Second operand 143 states. [2022-04-14 17:28:01,304 INFO L87 Difference]: Start difference. First operand has 143 states, 111 states have (on average 1.1261261261261262) internal successors, (125), 115 states have internal predecessors, (125), 17 states have call successors, (17), 15 states have call predecessors, (17), 14 states have return successors, (15), 12 states have call predecessors, (15), 15 states have call successors, (15) Second operand 143 states. [2022-04-14 17:28:01,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:28:01,322 INFO L93 Difference]: Finished difference Result 143 states and 157 transitions. [2022-04-14 17:28:01,322 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 157 transitions. [2022-04-14 17:28:01,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:28:01,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:28:01,322 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:28:01,322 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:28:01,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 143 states, 111 states have (on average 1.1261261261261262) internal successors, (125), 115 states have internal predecessors, (125), 17 states have call successors, (17), 15 states have call predecessors, (17), 14 states have return successors, (15), 12 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-14 17:28:01,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 143 states to 143 states and 157 transitions. [2022-04-14 17:28:01,324 INFO L78 Accepts]: Start accepts. Automaton has 143 states and 157 transitions. Word has length 58 [2022-04-14 17:28:01,324 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:28:01,324 INFO L478 AbstractCegarLoop]: Abstraction has 143 states and 157 transitions. [2022-04-14 17:28:01,325 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 6.25) internal successors, (50), 8 states have internal predecessors, (50), 7 states have call successors, (13), 7 states have call predecessors, (13), 6 states have return successors, (11), 5 states have call predecessors, (11), 6 states have call successors, (11) [2022-04-14 17:28:01,325 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 157 transitions. [2022-04-14 17:28:01,325 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-14 17:28:01,325 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:28:01,325 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:01,357 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-14 17:28:01,541 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:01,541 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:28:01,541 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:28:01,542 INFO L85 PathProgramCache]: Analyzing trace with hash -919267190, now seen corresponding path program 2 times [2022-04-14 17:28:01,542 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:28:01,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1523511641] [2022-04-14 17:28:01,542 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:28:01,542 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:28:01,563 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:28:01,563 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [49814307] [2022-04-14 17:28:01,563 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-14 17:28:01,563 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:28:01,563 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:28:01,570 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:01,571 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:01,630 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-14 17:28:01,630 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-14 17:28:01,631 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-14 17:28:01,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-14 17:28:01,660 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-14 17:29:54,518 INFO L272 TraceCheckUtils]: 0: Hoare triple {4550#true} call ULTIMATE.init(); {4550#true} is VALID [2022-04-14 17:29:54,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {4550#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; {4550#true} is VALID [2022-04-14 17:29:54,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {4550#true} assume true; {4550#true} is VALID [2022-04-14 17:29:54,519 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4550#true} {4550#true} #65#return; {4550#true} is VALID [2022-04-14 17:29:54,520 INFO L272 TraceCheckUtils]: 4: Hoare triple {4550#true} call #t~ret7 := main(); {4550#true} is VALID [2022-04-14 17:29:54,520 INFO L290 TraceCheckUtils]: 5: Hoare triple {4550#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; {4550#true} is VALID [2022-04-14 17:29:54,522 INFO L272 TraceCheckUtils]: 6: Hoare triple {4550#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4550#true} is VALID [2022-04-14 17:29:54,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {4550#true} ~cond := #in~cond; {4576#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-14 17:29:54,523 INFO L290 TraceCheckUtils]: 8: Hoare triple {4576#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4580#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:29:54,523 INFO L290 TraceCheckUtils]: 9: Hoare triple {4580#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4580#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:29:54,523 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4580#(not (= |assume_abort_if_not_#in~cond| 0))} {4550#true} #59#return; {4587#(<= 1 main_~b~0)} is VALID [2022-04-14 17:29:54,523 INFO L290 TraceCheckUtils]: 11: Hoare triple {4587#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4591#(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:29:54,524 INFO L290 TraceCheckUtils]: 12: Hoare triple {4591#(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; {4591#(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:29:54,524 INFO L290 TraceCheckUtils]: 13: Hoare triple {4591#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 5);havoc #t~post6; {4591#(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:29:54,524 INFO L272 TraceCheckUtils]: 14: Hoare triple {4591#(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)); {4550#true} is VALID [2022-04-14 17:29:54,524 INFO L290 TraceCheckUtils]: 15: Hoare triple {4550#true} ~cond := #in~cond; {4550#true} is VALID [2022-04-14 17:29:54,524 INFO L290 TraceCheckUtils]: 16: Hoare triple {4550#true} assume !(0 == ~cond); {4550#true} is VALID [2022-04-14 17:29:54,524 INFO L290 TraceCheckUtils]: 17: Hoare triple {4550#true} assume true; {4550#true} is VALID [2022-04-14 17:29:54,525 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4550#true} {4591#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {4591#(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:29:54,525 INFO L290 TraceCheckUtils]: 19: Hoare triple {4591#(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); {4591#(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:29:54,526 INFO L290 TraceCheckUtils]: 20: Hoare triple {4591#(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)); {4619#(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:29:54,526 INFO L290 TraceCheckUtils]: 21: Hoare triple {4619#(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); {4623#(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:29:54,527 INFO L290 TraceCheckUtils]: 22: Hoare triple {4623#(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; {4623#(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:29:54,527 INFO L290 TraceCheckUtils]: 23: Hoare triple {4623#(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 < 5);havoc #t~post6; {4623#(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:29:54,527 INFO L272 TraceCheckUtils]: 24: Hoare triple {4623#(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)); {4550#true} is VALID [2022-04-14 17:29:54,531 INFO L290 TraceCheckUtils]: 25: Hoare triple {4550#true} ~cond := #in~cond; {4636#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:29:54,532 INFO L290 TraceCheckUtils]: 26: Hoare triple {4636#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4640#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:29:54,532 INFO L290 TraceCheckUtils]: 27: Hoare triple {4640#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4640#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:29:54,533 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4640#(not (= |__VERIFIER_assert_#in~cond| 0))} {4623#(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; {4623#(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:29:54,533 INFO L290 TraceCheckUtils]: 29: Hoare triple {4623#(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); {4623#(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:29:54,534 INFO L290 TraceCheckUtils]: 30: Hoare triple {4623#(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)); {4653#(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:29:54,535 INFO L290 TraceCheckUtils]: 31: Hoare triple {4653#(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); {4657#(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:29:54,535 INFO L290 TraceCheckUtils]: 32: Hoare triple {4657#(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; {4657#(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:29:54,536 INFO L290 TraceCheckUtils]: 33: Hoare triple {4657#(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 < 5);havoc #t~post6; {4657#(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:29:54,536 INFO L272 TraceCheckUtils]: 34: Hoare triple {4657#(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)); {4550#true} is VALID [2022-04-14 17:29:54,536 INFO L290 TraceCheckUtils]: 35: Hoare triple {4550#true} ~cond := #in~cond; {4550#true} is VALID [2022-04-14 17:29:54,536 INFO L290 TraceCheckUtils]: 36: Hoare triple {4550#true} assume !(0 == ~cond); {4550#true} is VALID [2022-04-14 17:29:54,536 INFO L290 TraceCheckUtils]: 37: Hoare triple {4550#true} assume true; {4550#true} is VALID [2022-04-14 17:29:54,537 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4550#true} {4657#(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; {4657#(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:29:54,537 INFO L290 TraceCheckUtils]: 39: Hoare triple {4657#(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); {4657#(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:29:54,538 INFO L290 TraceCheckUtils]: 40: Hoare triple {4657#(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)); {4685#(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:29:54,539 INFO L290 TraceCheckUtils]: 41: Hoare triple {4685#(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); {4689#(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:29:54,540 INFO L290 TraceCheckUtils]: 42: Hoare triple {4689#(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; {4689#(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:29:54,540 INFO L290 TraceCheckUtils]: 43: Hoare triple {4689#(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 < 5);havoc #t~post6; {4689#(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:29:54,540 INFO L272 TraceCheckUtils]: 44: Hoare triple {4689#(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)); {4550#true} is VALID [2022-04-14 17:29:54,540 INFO L290 TraceCheckUtils]: 45: Hoare triple {4550#true} ~cond := #in~cond; {4550#true} is VALID [2022-04-14 17:29:54,540 INFO L290 TraceCheckUtils]: 46: Hoare triple {4550#true} assume !(0 == ~cond); {4550#true} is VALID [2022-04-14 17:29:54,541 INFO L290 TraceCheckUtils]: 47: Hoare triple {4550#true} assume true; {4550#true} is VALID [2022-04-14 17:29:54,541 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {4550#true} {4689#(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; {4689#(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:29:54,542 INFO L290 TraceCheckUtils]: 49: Hoare triple {4689#(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); {4689#(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:29:54,542 INFO L290 TraceCheckUtils]: 50: Hoare triple {4689#(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)); {4717#(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:29:54,544 INFO L290 TraceCheckUtils]: 51: Hoare triple {4717#(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); {4721#(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:29:54,544 INFO L290 TraceCheckUtils]: 52: Hoare triple {4721#(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; {4721#(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:29:54,545 INFO L290 TraceCheckUtils]: 53: Hoare triple {4721#(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 < 5);havoc #t~post6; {4721#(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:29:54,549 INFO L272 TraceCheckUtils]: 54: Hoare triple {4721#(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)); {4731#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:29:54,549 INFO L290 TraceCheckUtils]: 55: Hoare triple {4731#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4735#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:29:54,549 INFO L290 TraceCheckUtils]: 56: Hoare triple {4735#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4551#false} is VALID [2022-04-14 17:29:54,549 INFO L290 TraceCheckUtils]: 57: Hoare triple {4551#false} assume !false; {4551#false} is VALID [2022-04-14 17:29:54,550 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:29:54,550 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-14 17:30:39,726 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-14 17:30:48,379 INFO L290 TraceCheckUtils]: 57: Hoare triple {4551#false} assume !false; {4551#false} is VALID [2022-04-14 17:30:48,380 INFO L290 TraceCheckUtils]: 56: Hoare triple {4735#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4551#false} is VALID [2022-04-14 17:30:48,381 INFO L290 TraceCheckUtils]: 55: Hoare triple {4731#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4735#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-14 17:30:48,381 INFO L272 TraceCheckUtils]: 54: Hoare triple {4751#(= (+ 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)); {4731#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-14 17:30:48,382 INFO L290 TraceCheckUtils]: 53: Hoare triple {4751#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 5);havoc #t~post6; {4751#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:30:48,382 INFO L290 TraceCheckUtils]: 52: Hoare triple {4751#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4751#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:30:48,386 INFO L290 TraceCheckUtils]: 51: Hoare triple {4761#(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); {4751#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-14 17:30:48,387 INFO L290 TraceCheckUtils]: 50: Hoare triple {4765#(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)); {4761#(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:30:48,388 INFO L290 TraceCheckUtils]: 49: Hoare triple {4765#(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); {4765#(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:30:48,388 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {4550#true} {4765#(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; {4765#(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:30:48,388 INFO L290 TraceCheckUtils]: 47: Hoare triple {4550#true} assume true; {4550#true} is VALID [2022-04-14 17:30:48,388 INFO L290 TraceCheckUtils]: 46: Hoare triple {4550#true} assume !(0 == ~cond); {4550#true} is VALID [2022-04-14 17:30:48,388 INFO L290 TraceCheckUtils]: 45: Hoare triple {4550#true} ~cond := #in~cond; {4550#true} is VALID [2022-04-14 17:30:48,389 INFO L272 TraceCheckUtils]: 44: Hoare triple {4765#(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)); {4550#true} is VALID [2022-04-14 17:30:48,392 INFO L290 TraceCheckUtils]: 43: Hoare triple {4765#(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 < 5);havoc #t~post6; {4765#(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:30:48,392 INFO L290 TraceCheckUtils]: 42: Hoare triple {4765#(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; {4765#(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:30:48,408 INFO L290 TraceCheckUtils]: 41: Hoare triple {4793#(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); {4765#(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:30:48,409 INFO L290 TraceCheckUtils]: 40: Hoare triple {4797#(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)); {4793#(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:30:48,410 INFO L290 TraceCheckUtils]: 39: Hoare triple {4797#(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); {4797#(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:30:48,411 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4550#true} {4797#(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; {4797#(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:30:48,411 INFO L290 TraceCheckUtils]: 37: Hoare triple {4550#true} assume true; {4550#true} is VALID [2022-04-14 17:30:48,411 INFO L290 TraceCheckUtils]: 36: Hoare triple {4550#true} assume !(0 == ~cond); {4550#true} is VALID [2022-04-14 17:30:48,411 INFO L290 TraceCheckUtils]: 35: Hoare triple {4550#true} ~cond := #in~cond; {4550#true} is VALID [2022-04-14 17:30:48,411 INFO L272 TraceCheckUtils]: 34: Hoare triple {4797#(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)); {4550#true} is VALID [2022-04-14 17:30:48,412 INFO L290 TraceCheckUtils]: 33: Hoare triple {4797#(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 < 5);havoc #t~post6; {4797#(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:30:48,413 INFO L290 TraceCheckUtils]: 32: Hoare triple {4797#(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; {4797#(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:30:48,477 INFO L290 TraceCheckUtils]: 31: Hoare triple {4825#(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); {4797#(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:30:48,479 INFO L290 TraceCheckUtils]: 30: Hoare triple {4829#(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)); {4825#(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:30:48,481 INFO L290 TraceCheckUtils]: 29: Hoare triple {4829#(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); {4829#(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:30:48,500 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4640#(not (= |__VERIFIER_assert_#in~cond| 0))} {4836#(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; {4829#(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:30:48,500 INFO L290 TraceCheckUtils]: 27: Hoare triple {4640#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4640#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:30:48,501 INFO L290 TraceCheckUtils]: 26: Hoare triple {4846#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4640#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-14 17:30:48,501 INFO L290 TraceCheckUtils]: 25: Hoare triple {4550#true} ~cond := #in~cond; {4846#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-14 17:30:48,501 INFO L272 TraceCheckUtils]: 24: Hoare triple {4836#(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)); {4550#true} is VALID [2022-04-14 17:30:48,502 INFO L290 TraceCheckUtils]: 23: Hoare triple {4836#(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 < 5);havoc #t~post6; {4836#(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:30:48,503 INFO L290 TraceCheckUtils]: 22: Hoare triple {4836#(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; {4836#(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:30:50,507 WARN L290 TraceCheckUtils]: 21: Hoare triple {4859#(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); {4836#(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:30:50,510 INFO L290 TraceCheckUtils]: 20: Hoare triple {4859#(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)); {4859#(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:30:50,511 INFO L290 TraceCheckUtils]: 19: Hoare triple {4859#(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); {4859#(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:30:50,512 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4550#true} {4859#(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; {4859#(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:30:50,512 INFO L290 TraceCheckUtils]: 17: Hoare triple {4550#true} assume true; {4550#true} is VALID [2022-04-14 17:30:50,512 INFO L290 TraceCheckUtils]: 16: Hoare triple {4550#true} assume !(0 == ~cond); {4550#true} is VALID [2022-04-14 17:30:50,512 INFO L290 TraceCheckUtils]: 15: Hoare triple {4550#true} ~cond := #in~cond; {4550#true} is VALID [2022-04-14 17:30:50,512 INFO L272 TraceCheckUtils]: 14: Hoare triple {4859#(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)); {4550#true} is VALID [2022-04-14 17:30:50,513 INFO L290 TraceCheckUtils]: 13: Hoare triple {4859#(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 < 5);havoc #t~post6; {4859#(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:30:50,514 INFO L290 TraceCheckUtils]: 12: Hoare triple {4859#(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; {4859#(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:30:50,516 INFO L290 TraceCheckUtils]: 11: Hoare triple {4890#(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; {4859#(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:30:50,519 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4580#(not (= |assume_abort_if_not_#in~cond| 0))} {4550#true} #59#return; {4890#(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:30:50,519 INFO L290 TraceCheckUtils]: 9: Hoare triple {4580#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4580#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:30:50,519 INFO L290 TraceCheckUtils]: 8: Hoare triple {4903#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4580#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-14 17:30:50,520 INFO L290 TraceCheckUtils]: 7: Hoare triple {4550#true} ~cond := #in~cond; {4903#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-14 17:30:50,520 INFO L272 TraceCheckUtils]: 6: Hoare triple {4550#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4550#true} is VALID [2022-04-14 17:30:50,520 INFO L290 TraceCheckUtils]: 5: Hoare triple {4550#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; {4550#true} is VALID [2022-04-14 17:30:50,520 INFO L272 TraceCheckUtils]: 4: Hoare triple {4550#true} call #t~ret7 := main(); {4550#true} is VALID [2022-04-14 17:30:50,520 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4550#true} {4550#true} #65#return; {4550#true} is VALID [2022-04-14 17:30:50,520 INFO L290 TraceCheckUtils]: 2: Hoare triple {4550#true} assume true; {4550#true} is VALID [2022-04-14 17:30:50,520 INFO L290 TraceCheckUtils]: 1: Hoare triple {4550#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; {4550#true} is VALID [2022-04-14 17:30:50,520 INFO L272 TraceCheckUtils]: 0: Hoare triple {4550#true} call ULTIMATE.init(); {4550#true} is VALID [2022-04-14 17:30:50,521 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:50,521 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-14 17:30:50,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1523511641] [2022-04-14 17:30:50,521 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-14 17:30:50,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [49814307] [2022-04-14 17:30:50,521 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [49814307] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-14 17:30:50,521 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-14 17:30:50,521 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 30 [2022-04-14 17:30:50,521 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [714685056] [2022-04-14 17:30:50,521 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-14 17:30:50,522 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:30:50,522 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-14 17:30:50,523 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:30:52,697 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:30:52,697 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-14 17:30:52,697 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-14 17:30:52,697 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-14 17:30:52,698 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=157, Invalid=713, Unknown=0, NotChecked=0, Total=870 [2022-04-14 17:30:52,698 INFO L87 Difference]: Start difference. First operand 143 states and 157 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:18,529 WARN L232 SmtUtils]: Spent 12.74s on a formula simplification. DAG size of input: 169 DAG size of output: 56 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-14 17:31:20,745 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:22,761 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:00,162 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.57s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:32:03,465 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.28s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-14 17:32:03,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:32:03,604 INFO L93 Difference]: Finished difference Result 196 states and 228 transitions. [2022-04-14 17:32:03,604 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-14 17:32:03,604 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:03,605 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-14 17:32:03,605 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:03,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 118 transitions. [2022-04-14 17:32:03,606 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:03,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 118 transitions. [2022-04-14 17:32:03,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 118 transitions. [2022-04-14 17:32:07,802 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 117 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-14 17:32:07,805 INFO L225 Difference]: With dead ends: 196 [2022-04-14 17:32:07,805 INFO L226 Difference]: Without dead ends: 194 [2022-04-14 17:32:07,806 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 85 SyntacticMatches, 3 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 433 ImplicationChecksByTransitivity, 47.9s TimeCoverageRelationStatistics Valid=365, Invalid=1438, Unknown=3, NotChecked=0, Total=1806 [2022-04-14 17:32:07,806 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 113 mSDsluCounter, 332 mSDsCounter, 0 mSdLazyCounter, 681 mSolverCounterSat, 131 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 14.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 115 SdHoareTripleChecker+Valid, 364 SdHoareTripleChecker+Invalid, 815 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 131 IncrementalHoareTripleChecker+Valid, 681 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 14.6s IncrementalHoareTripleChecker+Time [2022-04-14 17:32:07,806 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [115 Valid, 364 Invalid, 815 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [131 Valid, 681 Invalid, 3 Unknown, 0 Unchecked, 14.6s Time] [2022-04-14 17:32:07,807 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 194 states. [2022-04-14 17:32:07,929 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 194 to 189. [2022-04-14 17:32:07,929 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-14 17:32:07,930 INFO L82 GeneralOperation]: Start isEquivalent. First operand 194 states. Second operand has 189 states, 149 states have (on average 1.174496644295302) internal successors, (175), 153 states have internal predecessors, (175), 24 states have call successors, (24), 16 states have call predecessors, (24), 15 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-14 17:32:07,930 INFO L74 IsIncluded]: Start isIncluded. First operand 194 states. Second operand has 189 states, 149 states have (on average 1.174496644295302) internal successors, (175), 153 states have internal predecessors, (175), 24 states have call successors, (24), 16 states have call predecessors, (24), 15 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-14 17:32:07,930 INFO L87 Difference]: Start difference. First operand 194 states. Second operand has 189 states, 149 states have (on average 1.174496644295302) internal successors, (175), 153 states have internal predecessors, (175), 24 states have call successors, (24), 16 states have call predecessors, (24), 15 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-14 17:32:07,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:32:07,935 INFO L93 Difference]: Finished difference Result 194 states and 226 transitions. [2022-04-14 17:32:07,935 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 226 transitions. [2022-04-14 17:32:07,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:32:07,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:32:07,937 INFO L74 IsIncluded]: Start isIncluded. First operand has 189 states, 149 states have (on average 1.174496644295302) internal successors, (175), 153 states have internal predecessors, (175), 24 states have call successors, (24), 16 states have call predecessors, (24), 15 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) Second operand 194 states. [2022-04-14 17:32:07,937 INFO L87 Difference]: Start difference. First operand has 189 states, 149 states have (on average 1.174496644295302) internal successors, (175), 153 states have internal predecessors, (175), 24 states have call successors, (24), 16 states have call predecessors, (24), 15 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) Second operand 194 states. [2022-04-14 17:32:07,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-14 17:32:07,941 INFO L93 Difference]: Finished difference Result 194 states and 226 transitions. [2022-04-14 17:32:07,941 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 226 transitions. [2022-04-14 17:32:07,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-14 17:32:07,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-14 17:32:07,942 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-14 17:32:07,942 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-14 17:32:07,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 189 states, 149 states have (on average 1.174496644295302) internal successors, (175), 153 states have internal predecessors, (175), 24 states have call successors, (24), 16 states have call predecessors, (24), 15 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-14 17:32:07,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 189 states to 189 states and 221 transitions. [2022-04-14 17:32:07,946 INFO L78 Accepts]: Start accepts. Automaton has 189 states and 221 transitions. Word has length 58 [2022-04-14 17:32:07,946 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-14 17:32:07,946 INFO L478 AbstractCegarLoop]: Abstraction has 189 states and 221 transitions. [2022-04-14 17:32:07,946 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:07,946 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 221 transitions. [2022-04-14 17:32:07,948 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-14 17:32:07,948 INFO L491 BasicCegarLoop]: Found error trace [2022-04-14 17:32:07,948 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-14 17:32:07,979 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-14 17:32:08,164 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:08,164 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-14 17:32:08,165 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-14 17:32:08,165 INFO L85 PathProgramCache]: Analyzing trace with hash 2024097313, now seen corresponding path program 3 times [2022-04-14 17:32:08,165 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-14 17:32:08,165 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1525501125] [2022-04-14 17:32:08,165 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-14 17:32:08,165 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-14 17:32:08,177 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-14 17:32:08,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1084374966] [2022-04-14 17:32:08,177 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-14 17:32:08,177 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-14 17:32:08,177 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-14 17:32:08,181 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:08,185 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:08,266 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 6 check-sat command(s) [2022-04-14 17:32:08,266 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-04-14 17:32:08,266 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-14 17:32:08,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-14 17:32:08,319 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-14 17:32:08,320 INFO L618 BasicCegarLoop]: Counterexample is feasible [2022-04-14 17:32:08,320 INFO L788 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-14 17:32:08,368 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-14 17:32:08,522 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-14 17:32:08,525 INFO L719 BasicCegarLoop]: Path program histogram: [3, 2, 1, 1, 1, 1, 1, 1] [2022-04-14 17:32:08,528 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: L10 has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: L10 has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: L27 has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: L27 has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-14 17:32:08,565 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L10-2 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L27-1 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L13-2 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L33-3 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L33-3 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L33-4 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L33-4 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L33-1 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L33-1 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L45 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L34 has no Hoare annotation [2022-04-14 17:32:08,566 WARN L170 areAnnotationChecker]: L34 has no Hoare annotation [2022-04-14 17:32:08,567 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-14 17:32:08,567 WARN L170 areAnnotationChecker]: L38 has no Hoare annotation [2022-04-14 17:32:08,567 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-14 17:32:08,567 WARN L170 areAnnotationChecker]: L38-2 has no Hoare annotation [2022-04-14 17:32:08,567 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-14 17:32:08,567 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-14 17:32:08,567 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.04 05:32:08 BoogieIcfgContainer [2022-04-14 17:32:08,567 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-14 17:32:08,568 INFO L158 Benchmark]: Toolchain (without parser) took 430737.06ms. Allocated memory was 215.0MB in the beginning and 310.4MB in the end (delta: 95.4MB). Free memory was 159.7MB in the beginning and 157.9MB in the end (delta: 1.8MB). Peak memory consumption was 98.1MB. Max. memory is 8.0GB. [2022-04-14 17:32:08,568 INFO L158 Benchmark]: CDTParser took 0.08ms. Allocated memory is still 215.0MB. Free memory was 175.8MB in the beginning and 175.7MB in the end (delta: 143.3kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-14 17:32:08,569 INFO L158 Benchmark]: CACSL2BoogieTranslator took 212.67ms. Allocated memory is still 215.0MB. Free memory was 159.4MB in the beginning and 184.6MB in the end (delta: -25.3MB). Peak memory consumption was 12.1MB. Max. memory is 8.0GB. [2022-04-14 17:32:08,569 INFO L158 Benchmark]: Boogie Preprocessor took 33.10ms. Allocated memory is still 215.0MB. Free memory was 184.6MB in the beginning and 183.1MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-14 17:32:08,569 INFO L158 Benchmark]: RCFGBuilder took 208.98ms. Allocated memory is still 215.0MB. Free memory was 183.1MB in the beginning and 171.5MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-14 17:32:08,569 INFO L158 Benchmark]: TraceAbstraction took 430277.06ms. Allocated memory was 215.0MB in the beginning and 310.4MB in the end (delta: 95.4MB). Free memory was 171.0MB in the beginning and 157.9MB in the end (delta: 13.1MB). Peak memory consumption was 109.0MB. Max. memory is 8.0GB. [2022-04-14 17:32:08,570 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.08ms. Allocated memory is still 215.0MB. Free memory was 175.8MB in the beginning and 175.7MB in the end (delta: 143.3kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 212.67ms. Allocated memory is still 215.0MB. Free memory was 159.4MB in the beginning and 184.6MB in the end (delta: -25.3MB). Peak memory consumption was 12.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 33.10ms. Allocated memory is still 215.0MB. Free memory was 184.6MB in the beginning and 183.1MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 208.98ms. Allocated memory is still 215.0MB. Free memory was 183.1MB in the beginning and 171.5MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 430277.06ms. Allocated memory was 215.0MB in the beginning and 310.4MB in the end (delta: 95.4MB). Free memory was 171.0MB in the beginning and 157.9MB in the end (delta: 13.1MB). Peak memory consumption was 109.0MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 15]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L20] int counter = 0; VAL [\old(counter)=7, counter=0] [L22] int a, b; [L23] long long x, y, z; [L25] a = __VERIFIER_nondet_int() [L26] b = __VERIFIER_nondet_int() [L27] CALL assume_abort_if_not(b >= 1) VAL [\old(cond)=1, \old(counter)=0, counter=0] [L10] COND FALSE !(!cond) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=0] [L27] RET assume_abort_if_not(b >= 1) VAL [\old(counter)=0, a=2, b=32, counter=0] [L29] x = a [L30] y = b [L31] z = 0 VAL [\old(counter)=0, a=2, b=32, counter=0, x=2, y=32, z=0] [L33] EXPR counter++ VAL [\old(counter)=0, a=2, b=32, counter=1, counter++=0, x=2, y=32, z=0] [L33] COND TRUE counter++<5 [L34] CALL __VERIFIER_assert(z + x * y == (long long) a * b) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L13] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=1] [L34] RET __VERIFIER_assert(z + x * y == (long long) a * b) VAL [\old(counter)=0, a=2, b=32, counter=1, x=2, y=32, z=0] [L35] COND FALSE !(!(y != 0)) VAL [\old(counter)=0, a=2, b=32, counter=1, x=2, y=32, z=0] [L38] COND FALSE !(y % 2 == 1) VAL [\old(counter)=0, a=2, b=32, counter=1, x=2, y=32, z=0] [L42] x = 2 * x [L43] y = y / 2 VAL [\old(counter)=0, a=2, b=32, counter=1, x=4, y=16, z=0] [L33] EXPR counter++ VAL [\old(counter)=0, a=2, b=32, counter=2, counter++=1, x=4, y=16, z=0] [L33] COND TRUE counter++<5 [L34] CALL __VERIFIER_assert(z + x * y == (long long) a * b) VAL [\old(cond)=1, \old(counter)=0, counter=2] [L13] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=2] [L34] RET __VERIFIER_assert(z + x * y == (long long) a * b) VAL [\old(counter)=0, a=2, b=32, counter=2, x=4, y=16, z=0] [L35] COND FALSE !(!(y != 0)) VAL [\old(counter)=0, a=2, b=32, counter=2, x=4, y=16, z=0] [L38] COND FALSE !(y % 2 == 1) VAL [\old(counter)=0, a=2, b=32, counter=2, x=4, y=16, z=0] [L42] x = 2 * x [L43] y = y / 2 VAL [\old(counter)=0, a=2, b=32, counter=2, x=8, y=8, z=0] [L33] EXPR counter++ VAL [\old(counter)=0, a=2, b=32, counter=3, counter++=2, x=8, y=8, z=0] [L33] COND TRUE counter++<5 [L34] CALL __VERIFIER_assert(z + x * y == (long long) a * b) VAL [\old(cond)=1, \old(counter)=0, counter=3] [L13] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=3] [L34] RET __VERIFIER_assert(z + x * y == (long long) a * b) VAL [\old(counter)=0, a=2, b=32, counter=3, x=8, y=8, z=0] [L35] COND FALSE !(!(y != 0)) VAL [\old(counter)=0, a=2, b=32, counter=3, x=8, y=8, z=0] [L38] COND FALSE !(y % 2 == 1) VAL [\old(counter)=0, a=2, b=32, counter=3, x=8, y=8, z=0] [L42] x = 2 * x [L43] y = y / 2 VAL [\old(counter)=0, a=2, b=32, counter=3, x=16, y=4, z=0] [L33] EXPR counter++ VAL [\old(counter)=0, a=2, b=32, counter=4, counter++=3, x=16, y=4, z=0] [L33] COND TRUE counter++<5 [L34] CALL __VERIFIER_assert(z + x * y == (long long) a * b) VAL [\old(cond)=1, \old(counter)=0, counter=4] [L13] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=4] [L34] RET __VERIFIER_assert(z + x * y == (long long) a * b) VAL [\old(counter)=0, a=2, b=32, counter=4, x=16, y=4, z=0] [L35] COND FALSE !(!(y != 0)) VAL [\old(counter)=0, a=2, b=32, counter=4, x=16, y=4, z=0] [L38] COND FALSE !(y % 2 == 1) VAL [\old(counter)=0, a=2, b=32, counter=4, x=16, y=4, z=0] [L42] x = 2 * x [L43] y = y / 2 VAL [\old(counter)=0, a=2, b=32, counter=4, x=32, y=2, z=0] [L33] EXPR counter++ VAL [\old(counter)=0, a=2, b=32, counter=5, counter++=4, x=32, y=2, z=0] [L33] COND TRUE counter++<5 [L34] CALL __VERIFIER_assert(z + x * y == (long long) a * b) VAL [\old(cond)=1, \old(counter)=0, counter=5] [L13] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=5] [L34] RET __VERIFIER_assert(z + x * y == (long long) a * b) VAL [\old(counter)=0, a=2, b=32, counter=5, x=32, y=2, z=0] [L35] COND FALSE !(!(y != 0)) VAL [\old(counter)=0, a=2, b=32, counter=5, x=32, y=2, z=0] [L38] COND FALSE !(y % 2 == 1) VAL [\old(counter)=0, a=2, b=32, counter=5, x=32, y=2, z=0] [L42] x = 2 * x [L43] y = y / 2 VAL [\old(counter)=0, a=2, b=32, counter=5, x=64, y=1, z=0] [L33] EXPR counter++ VAL [\old(counter)=0, a=2, b=32, counter=6, counter++=5, x=64, y=1, z=0] [L33] COND FALSE !(counter++<5) [L45] CALL __VERIFIER_assert(z == (long long) a * b) VAL [\old(cond)=0, \old(counter)=0, counter=6] [L13] COND TRUE !(cond) VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=6] [L15] reach_error() VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=6] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 33 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 430.2s, OverallIterations: 11, TraceHistogramMax: 6, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 89.2s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 4 mSolverCounterUnknown, 334 SdHoareTripleChecker+Valid, 18.8s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 325 mSDsluCounter, 1326 SdHoareTripleChecker+Invalid, 18.7s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 27 IncrementalHoareTripleChecker+Unchecked, 1068 mSDsCounter, 231 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1402 IncrementalHoareTripleChecker+Invalid, 1664 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 231 mSolverCounterUnsat, 258 mSDtfsCounter, 1402 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 591 GetRequests, 448 SyntacticMatches, 9 SemanticMatches, 134 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 741 ImplicationChecksByTransitivity, 50.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=189occurred in iteration=10, InterpolantAutomatonStates: 109, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.5s AutomataMinimizationTime, 10 MinimizatonAttempts, 21 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 332.8s InterpolantComputationTime, 389 NumberOfCodeBlocks, 389 NumberOfCodeBlocksAsserted, 18 NumberOfCheckSat, 549 ConstructedInterpolants, 1 QuantifiedInterpolants, 6625 SizeOfPredicates, 30 NumberOfNonLiveVariables, 1048 ConjunctsInSsa, 153 ConjunctsInUnsatCore, 16 InterpolantComputations, 4 PerfectInterpolantSequences, 142/396 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-04-14 17:32:08,696 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...