/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-07 15:12:16,246 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 15:12:16,266 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 15:12:16,293 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 15:12:16,293 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 15:12:16,294 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 15:12:16,297 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 15:12:16,303 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 15:12:16,305 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 15:12:16,308 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 15:12:16,309 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 15:12:16,309 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 15:12:16,309 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 15:12:16,310 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 15:12:16,311 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 15:12:16,311 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 15:12:16,312 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 15:12:16,312 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 15:12:16,313 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 15:12:16,314 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 15:12:16,315 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 15:12:16,317 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 15:12:16,319 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 15:12:16,321 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 15:12:16,322 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 15:12:16,329 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 15:12:16,330 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 15:12:16,330 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 15:12:16,331 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 15:12:16,331 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 15:12:16,332 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 15:12:16,332 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 15:12:16,333 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 15:12:16,334 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 15:12:16,334 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 15:12:16,334 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 15:12:16,335 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 15:12:16,335 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 15:12:16,335 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 15:12:16,335 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 15:12:16,336 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 15:12:16,337 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 15:12:16,338 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-07 15:12:16,361 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 15:12:16,361 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 15:12:16,361 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-07 15:12:16,361 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-07 15:12:16,362 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-07 15:12:16,362 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-07 15:12:16,362 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-07 15:12:16,362 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-07 15:12:16,362 INFO L138 SettingsManager]: * Use SBE=true [2022-04-07 15:12:16,362 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 15:12:16,363 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 15:12:16,363 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 15:12:16,363 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 15:12:16,363 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 15:12:16,363 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 15:12:16,363 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 15:12:16,363 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 15:12:16,363 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 15:12:16,363 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 15:12:16,363 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 15:12:16,363 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 15:12:16,364 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 15:12:16,364 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 15:12:16,364 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 15:12:16,364 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 15:12:16,364 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 15:12:16,364 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-07 15:12:16,364 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-07 15:12:16,364 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 15:12:16,364 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-07 15:12:16,365 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-07 15:12:16,365 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-07 15:12:16,365 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-07 15:12:16,365 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-07 15:12:16,541 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 15:12:16,571 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 15:12:16,572 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 15:12:16,573 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 15:12:16,574 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 15:12:16,574 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound50.c [2022-04-07 15:12:16,632 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dc6a27dc1/0f5bba25ef2745e9b5d01c1c42622976/FLAGe8a40b5ef [2022-04-07 15:12:16,975 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 15:12:16,975 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound50.c [2022-04-07 15:12:16,980 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dc6a27dc1/0f5bba25ef2745e9b5d01c1c42622976/FLAGe8a40b5ef [2022-04-07 15:12:16,988 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/dc6a27dc1/0f5bba25ef2745e9b5d01c1c42622976 [2022-04-07 15:12:16,990 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 15:12:16,991 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-07 15:12:17,013 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 15:12:17,013 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 15:12:17,016 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 15:12:17,016 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 03:12:16" (1/1) ... [2022-04-07 15:12:17,017 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@31731c29 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:12:17, skipping insertion in model container [2022-04-07 15:12:17,017 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 03:12:16" (1/1) ... [2022-04-07 15:12:17,026 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 15:12:17,042 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 15:12:17,183 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound50.c[537,550] [2022-04-07 15:12:17,195 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 15:12:17,201 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 15:12:17,208 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound50.c[537,550] [2022-04-07 15:12:17,213 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 15:12:17,221 INFO L208 MainTranslator]: Completed translation [2022-04-07 15:12:17,221 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:12:17 WrapperNode [2022-04-07 15:12:17,221 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 15:12:17,222 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 15:12:17,222 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 15:12:17,222 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 15:12:17,228 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:12:17" (1/1) ... [2022-04-07 15:12:17,228 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:12:17" (1/1) ... [2022-04-07 15:12:17,232 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:12:17" (1/1) ... [2022-04-07 15:12:17,232 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:12:17" (1/1) ... [2022-04-07 15:12:17,236 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:12:17" (1/1) ... [2022-04-07 15:12:17,238 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:12:17" (1/1) ... [2022-04-07 15:12:17,239 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:12:17" (1/1) ... [2022-04-07 15:12:17,240 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 15:12:17,240 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 15:12:17,241 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 15:12:17,241 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 15:12:17,241 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:12:17" (1/1) ... [2022-04-07 15:12:17,246 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 15:12:17,252 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:12:17,261 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-07 15:12:17,268 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-07 15:12:17,284 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 15:12:17,285 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 15:12:17,285 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 15:12:17,285 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 15:12:17,285 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 15:12:17,285 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 15:12:17,285 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 15:12:17,285 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 15:12:17,285 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 15:12:17,285 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 15:12:17,285 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-07 15:12:17,286 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 15:12:17,286 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 15:12:17,286 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 15:12:17,286 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 15:12:17,286 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 15:12:17,286 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 15:12:17,286 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 15:12:17,286 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 15:12:17,286 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 15:12:17,325 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 15:12:17,326 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 15:12:17,448 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 15:12:17,453 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 15:12:17,453 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-07 15:12:17,454 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 03:12:17 BoogieIcfgContainer [2022-04-07 15:12:17,454 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 15:12:17,455 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 15:12:17,455 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 15:12:17,473 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 15:12:17,474 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 03:12:16" (1/3) ... [2022-04-07 15:12:17,474 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@328ab0b6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 03:12:17, skipping insertion in model container [2022-04-07 15:12:17,474 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 03:12:17" (2/3) ... [2022-04-07 15:12:17,474 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@328ab0b6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 03:12:17, skipping insertion in model container [2022-04-07 15:12:17,474 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 03:12:17" (3/3) ... [2022-04-07 15:12:17,475 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_unwindbound50.c [2022-04-07 15:12:17,478 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-07 15:12:17,479 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 15:12:17,506 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 15:12:17,511 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-07 15:12:17,512 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 15:12:17,542 INFO L276 IsEmpty]: Start isEmpty. Operand has 30 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-07 15:12:17,545 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-07 15:12:17,545 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:12:17,546 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:12:17,546 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:12:17,549 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:12:17,549 INFO L85 PathProgramCache]: Analyzing trace with hash -1523633710, now seen corresponding path program 1 times [2022-04-07 15:12:17,555 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:12:17,556 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1316412214] [2022-04-07 15:12:17,556 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:17,556 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:12:17,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:17,656 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 15:12:17,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:17,670 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {33#true} is VALID [2022-04-07 15:12:17,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-07 15:12:17,670 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2022-04-07 15:12:17,671 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 15:12:17,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:17,680 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-07 15:12:17,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-07 15:12:17,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-07 15:12:17,681 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-07 15:12:17,683 INFO L272 TraceCheckUtils]: 0: Hoare triple {33#true} call ULTIMATE.init(); {42#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 15:12:17,683 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {33#true} is VALID [2022-04-07 15:12:17,683 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-07 15:12:17,683 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2022-04-07 15:12:17,684 INFO L272 TraceCheckUtils]: 4: Hoare triple {33#true} call #t~ret7 := main(); {33#true} is VALID [2022-04-07 15:12:17,684 INFO L290 TraceCheckUtils]: 5: Hoare triple {33#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {33#true} is VALID [2022-04-07 15:12:17,684 INFO L272 TraceCheckUtils]: 6: Hoare triple {33#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {33#true} is VALID [2022-04-07 15:12:17,684 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-07 15:12:17,685 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-07 15:12:17,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-07 15:12:17,685 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-07 15:12:17,685 INFO L290 TraceCheckUtils]: 11: Hoare triple {34#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {34#false} is VALID [2022-04-07 15:12:17,686 INFO L290 TraceCheckUtils]: 12: Hoare triple {34#false} assume !true; {34#false} is VALID [2022-04-07 15:12:17,686 INFO L272 TraceCheckUtils]: 13: Hoare triple {34#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {34#false} is VALID [2022-04-07 15:12:17,686 INFO L290 TraceCheckUtils]: 14: Hoare triple {34#false} ~cond := #in~cond; {34#false} is VALID [2022-04-07 15:12:17,687 INFO L290 TraceCheckUtils]: 15: Hoare triple {34#false} assume 0 == ~cond; {34#false} is VALID [2022-04-07 15:12:17,687 INFO L290 TraceCheckUtils]: 16: Hoare triple {34#false} assume !false; {34#false} is VALID [2022-04-07 15:12:17,687 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:12:17,687 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:12:17,688 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1316412214] [2022-04-07 15:12:17,688 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1316412214] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 15:12:17,688 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 15:12:17,688 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-07 15:12:17,692 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1109371268] [2022-04-07 15:12:17,692 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 15:12:17,696 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-07 15:12:17,697 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:12:17,699 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:12:17,729 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:17,729 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-07 15:12:17,730 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:12:17,752 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-07 15:12:17,753 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 15:12:17,755 INFO L87 Difference]: Start difference. First operand has 30 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:12:17,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:17,870 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-07 15:12:17,870 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-07 15:12:17,870 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-07 15:12:17,870 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:12:17,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:12:17,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2022-04-07 15:12:17,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:12:17,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2022-04-07 15:12:17,892 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 66 transitions. [2022-04-07 15:12:17,958 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:17,965 INFO L225 Difference]: With dead ends: 52 [2022-04-07 15:12:17,965 INFO L226 Difference]: Without dead ends: 26 [2022-04-07 15:12:17,968 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 15:12:17,970 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 35 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:12:17,971 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 35 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 15:12:17,982 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-04-07 15:12:17,996 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 25. [2022-04-07 15:12:17,996 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:12:17,997 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:12:17,998 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:12:17,999 INFO L87 Difference]: Start difference. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:12:18,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:18,002 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-07 15:12:18,003 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-07 15:12:18,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:18,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:18,003 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 26 states. [2022-04-07 15:12:18,004 INFO L87 Difference]: Start difference. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 26 states. [2022-04-07 15:12:18,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:18,005 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-07 15:12:18,005 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-07 15:12:18,006 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:18,006 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:18,006 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:12:18,006 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:12:18,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:12:18,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 28 transitions. [2022-04-07 15:12:18,008 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 28 transitions. Word has length 17 [2022-04-07 15:12:18,008 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:12:18,009 INFO L478 AbstractCegarLoop]: Abstraction has 25 states and 28 transitions. [2022-04-07 15:12:18,009 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:12:18,009 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2022-04-07 15:12:18,009 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-07 15:12:18,009 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:12:18,010 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:12:18,010 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-07 15:12:18,010 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:12:18,011 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:12:18,011 INFO L85 PathProgramCache]: Analyzing trace with hash -991958694, now seen corresponding path program 1 times [2022-04-07 15:12:18,011 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:12:18,011 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1924916406] [2022-04-07 15:12:18,011 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:18,011 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:12:18,039 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:12:18,039 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1910308586] [2022-04-07 15:12:18,039 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:18,039 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:12:18,040 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:12:18,043 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:12:18,044 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-07 15:12:18,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:18,086 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-07 15:12:18,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:18,096 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:12:18,273 INFO L272 TraceCheckUtils]: 0: Hoare triple {199#true} call ULTIMATE.init(); {199#true} is VALID [2022-04-07 15:12:18,274 INFO L290 TraceCheckUtils]: 1: Hoare triple {199#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:18,274 INFO L290 TraceCheckUtils]: 2: Hoare triple {207#(<= ~counter~0 0)} assume true; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:18,274 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {207#(<= ~counter~0 0)} {199#true} #65#return; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:18,275 INFO L272 TraceCheckUtils]: 4: Hoare triple {207#(<= ~counter~0 0)} call #t~ret7 := main(); {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:18,275 INFO L290 TraceCheckUtils]: 5: Hoare triple {207#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:18,276 INFO L272 TraceCheckUtils]: 6: Hoare triple {207#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:18,276 INFO L290 TraceCheckUtils]: 7: Hoare triple {207#(<= ~counter~0 0)} ~cond := #in~cond; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:18,277 INFO L290 TraceCheckUtils]: 8: Hoare triple {207#(<= ~counter~0 0)} assume !(0 == ~cond); {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:18,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {207#(<= ~counter~0 0)} assume true; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:18,278 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {207#(<= ~counter~0 0)} {207#(<= ~counter~0 0)} #59#return; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:18,278 INFO L290 TraceCheckUtils]: 11: Hoare triple {207#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {207#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:18,278 INFO L290 TraceCheckUtils]: 12: Hoare triple {207#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {241#(<= |main_#t~post6| 0)} is VALID [2022-04-07 15:12:18,279 INFO L290 TraceCheckUtils]: 13: Hoare triple {241#(<= |main_#t~post6| 0)} assume !(#t~post6 < 50);havoc #t~post6; {200#false} is VALID [2022-04-07 15:12:18,279 INFO L272 TraceCheckUtils]: 14: Hoare triple {200#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {200#false} is VALID [2022-04-07 15:12:18,279 INFO L290 TraceCheckUtils]: 15: Hoare triple {200#false} ~cond := #in~cond; {200#false} is VALID [2022-04-07 15:12:18,279 INFO L290 TraceCheckUtils]: 16: Hoare triple {200#false} assume 0 == ~cond; {200#false} is VALID [2022-04-07 15:12:18,279 INFO L290 TraceCheckUtils]: 17: Hoare triple {200#false} assume !false; {200#false} is VALID [2022-04-07 15:12:18,280 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:12:18,280 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 15:12:18,280 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:12:18,280 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1924916406] [2022-04-07 15:12:18,280 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:12:18,280 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1910308586] [2022-04-07 15:12:18,281 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1910308586] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 15:12:18,281 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 15:12:18,281 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-07 15:12:18,281 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [409948067] [2022-04-07 15:12:18,281 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 15:12:18,282 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-07 15:12:18,282 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:12:18,282 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:12:18,295 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:18,295 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-07 15:12:18,295 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:12:18,295 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-07 15:12:18,295 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 15:12:18,296 INFO L87 Difference]: Start difference. First operand 25 states and 28 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:12:18,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:18,336 INFO L93 Difference]: Finished difference Result 34 states and 37 transitions. [2022-04-07 15:12:18,336 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-07 15:12:18,336 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-07 15:12:18,336 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:12:18,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:12:18,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-04-07 15:12:18,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:12:18,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-04-07 15:12:18,339 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 37 transitions. [2022-04-07 15:12:18,366 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:18,367 INFO L225 Difference]: With dead ends: 34 [2022-04-07 15:12:18,367 INFO L226 Difference]: Without dead ends: 27 [2022-04-07 15:12:18,368 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-07 15:12:18,368 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 0 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:12:18,369 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 66 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 15:12:18,370 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-07 15:12:18,374 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-07 15:12:18,374 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:12:18,375 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:12:18,375 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:12:18,375 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:12:18,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:18,376 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-07 15:12:18,376 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 15:12:18,377 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:18,377 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:18,377 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 27 states. [2022-04-07 15:12:18,377 INFO L87 Difference]: Start difference. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 27 states. [2022-04-07 15:12:18,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:18,379 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-07 15:12:18,379 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 15:12:18,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:18,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:18,379 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:12:18,379 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:12:18,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-07 15:12:18,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-07 15:12:18,381 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 18 [2022-04-07 15:12:18,381 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:12:18,381 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-07 15:12:18,381 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-07 15:12:18,381 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-07 15:12:18,382 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-07 15:12:18,382 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:12:18,382 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:12:18,398 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-07 15:12:18,591 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:12:18,592 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:12:18,593 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:12:18,593 INFO L85 PathProgramCache]: Analyzing trace with hash -990171234, now seen corresponding path program 1 times [2022-04-07 15:12:18,593 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:12:18,596 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1585443427] [2022-04-07 15:12:18,596 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:18,597 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:12:18,625 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:12:18,625 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1919848536] [2022-04-07 15:12:18,625 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:18,626 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:12:18,626 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:12:18,627 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:12:18,647 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-07 15:12:18,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:18,681 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 15:12:18,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:18,689 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:12:18,779 INFO L272 TraceCheckUtils]: 0: Hoare triple {395#true} call ULTIMATE.init(); {395#true} is VALID [2022-04-07 15:12:18,779 INFO L290 TraceCheckUtils]: 1: Hoare triple {395#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {395#true} is VALID [2022-04-07 15:12:18,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {395#true} assume true; {395#true} is VALID [2022-04-07 15:12:18,780 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {395#true} {395#true} #65#return; {395#true} is VALID [2022-04-07 15:12:18,780 INFO L272 TraceCheckUtils]: 4: Hoare triple {395#true} call #t~ret7 := main(); {395#true} is VALID [2022-04-07 15:12:18,780 INFO L290 TraceCheckUtils]: 5: Hoare triple {395#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {395#true} is VALID [2022-04-07 15:12:18,780 INFO L272 TraceCheckUtils]: 6: Hoare triple {395#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {395#true} is VALID [2022-04-07 15:12:18,780 INFO L290 TraceCheckUtils]: 7: Hoare triple {395#true} ~cond := #in~cond; {395#true} is VALID [2022-04-07 15:12:18,781 INFO L290 TraceCheckUtils]: 8: Hoare triple {395#true} assume !(0 == ~cond); {395#true} is VALID [2022-04-07 15:12:18,781 INFO L290 TraceCheckUtils]: 9: Hoare triple {395#true} assume true; {395#true} is VALID [2022-04-07 15:12:18,781 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {395#true} {395#true} #59#return; {395#true} is VALID [2022-04-07 15:12:18,781 INFO L290 TraceCheckUtils]: 11: Hoare triple {395#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:12:18,782 INFO L290 TraceCheckUtils]: 12: Hoare triple {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:12:18,782 INFO L290 TraceCheckUtils]: 13: Hoare triple {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:12:18,783 INFO L272 TraceCheckUtils]: 14: Hoare triple {433#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {443#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:12:18,783 INFO L290 TraceCheckUtils]: 15: Hoare triple {443#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {447#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:12:18,784 INFO L290 TraceCheckUtils]: 16: Hoare triple {447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {396#false} is VALID [2022-04-07 15:12:18,784 INFO L290 TraceCheckUtils]: 17: Hoare triple {396#false} assume !false; {396#false} is VALID [2022-04-07 15:12:18,784 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:12:18,784 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 15:12:18,784 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:12:18,785 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1585443427] [2022-04-07 15:12:18,785 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:12:18,785 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1919848536] [2022-04-07 15:12:18,785 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1919848536] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 15:12:18,785 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 15:12:18,785 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 15:12:18,785 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [642533372] [2022-04-07 15:12:18,785 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 15:12:18,786 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-07 15:12:18,786 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:12:18,786 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:12:18,798 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:18,798 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 15:12:18,798 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:12:18,799 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 15:12:18,799 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-07 15:12:18,799 INFO L87 Difference]: Start difference. First operand 27 states and 30 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:12:18,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:18,895 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-07 15:12:18,895 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 15:12:18,895 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-07 15:12:18,896 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:12:18,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:12:18,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-07 15:12:18,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:12:18,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-07 15:12:18,898 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2022-04-07 15:12:18,926 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:18,927 INFO L225 Difference]: With dead ends: 38 [2022-04-07 15:12:18,928 INFO L226 Difference]: Without dead ends: 36 [2022-04-07 15:12:18,928 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-07 15:12:18,929 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 8 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:12:18,929 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 75 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 15:12:18,929 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-07 15:12:18,939 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 32. [2022-04-07 15:12:18,939 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:12:18,939 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:12:18,940 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:12:18,940 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:12:18,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:18,942 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-07 15:12:18,942 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-07 15:12:18,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:18,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:18,942 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 36 states. [2022-04-07 15:12:18,954 INFO L87 Difference]: Start difference. First operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 36 states. [2022-04-07 15:12:18,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:18,958 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-07 15:12:18,958 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-07 15:12:18,958 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:18,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:18,959 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:12:18,959 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:12:18,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:12:18,960 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 35 transitions. [2022-04-07 15:12:18,960 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 35 transitions. Word has length 18 [2022-04-07 15:12:18,960 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:12:18,960 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 35 transitions. [2022-04-07 15:12:18,961 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-07 15:12:18,961 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 35 transitions. [2022-04-07 15:12:18,961 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-07 15:12:18,961 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:12:18,961 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:12:18,977 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-07 15:12:19,177 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-07 15:12:19,177 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:12:19,178 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:12:19,178 INFO L85 PathProgramCache]: Analyzing trace with hash 1094479982, now seen corresponding path program 1 times [2022-04-07 15:12:19,178 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:12:19,178 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [788863703] [2022-04-07 15:12:19,178 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:19,178 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:12:19,188 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:12:19,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1830115453] [2022-04-07 15:12:19,189 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:19,189 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:12:19,189 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:12:19,190 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:12:19,191 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-07 15:12:19,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:19,221 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 15:12:19,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:19,232 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:12:19,316 INFO L272 TraceCheckUtils]: 0: Hoare triple {624#true} call ULTIMATE.init(); {624#true} is VALID [2022-04-07 15:12:19,316 INFO L290 TraceCheckUtils]: 1: Hoare triple {624#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {624#true} is VALID [2022-04-07 15:12:19,316 INFO L290 TraceCheckUtils]: 2: Hoare triple {624#true} assume true; {624#true} is VALID [2022-04-07 15:12:19,316 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {624#true} {624#true} #65#return; {624#true} is VALID [2022-04-07 15:12:19,317 INFO L272 TraceCheckUtils]: 4: Hoare triple {624#true} call #t~ret7 := main(); {624#true} is VALID [2022-04-07 15:12:19,317 INFO L290 TraceCheckUtils]: 5: Hoare triple {624#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {624#true} is VALID [2022-04-07 15:12:19,317 INFO L272 TraceCheckUtils]: 6: Hoare triple {624#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {624#true} is VALID [2022-04-07 15:12:19,317 INFO L290 TraceCheckUtils]: 7: Hoare triple {624#true} ~cond := #in~cond; {650#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 15:12:19,317 INFO L290 TraceCheckUtils]: 8: Hoare triple {650#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {654#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:12:19,318 INFO L290 TraceCheckUtils]: 9: Hoare triple {654#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {654#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:12:19,318 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {654#(not (= |assume_abort_if_not_#in~cond| 0))} {624#true} #59#return; {661#(<= 1 main_~b~0)} is VALID [2022-04-07 15:12:19,319 INFO L290 TraceCheckUtils]: 11: Hoare triple {661#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {665#(<= 1 main_~y~0)} is VALID [2022-04-07 15:12:19,319 INFO L290 TraceCheckUtils]: 12: Hoare triple {665#(<= 1 main_~y~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {665#(<= 1 main_~y~0)} is VALID [2022-04-07 15:12:19,319 INFO L290 TraceCheckUtils]: 13: Hoare triple {665#(<= 1 main_~y~0)} assume !!(#t~post6 < 50);havoc #t~post6; {665#(<= 1 main_~y~0)} is VALID [2022-04-07 15:12:19,320 INFO L272 TraceCheckUtils]: 14: Hoare triple {665#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {624#true} is VALID [2022-04-07 15:12:19,320 INFO L290 TraceCheckUtils]: 15: Hoare triple {624#true} ~cond := #in~cond; {624#true} is VALID [2022-04-07 15:12:19,320 INFO L290 TraceCheckUtils]: 16: Hoare triple {624#true} assume !(0 == ~cond); {624#true} is VALID [2022-04-07 15:12:19,320 INFO L290 TraceCheckUtils]: 17: Hoare triple {624#true} assume true; {624#true} is VALID [2022-04-07 15:12:19,321 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {624#true} {665#(<= 1 main_~y~0)} #61#return; {665#(<= 1 main_~y~0)} is VALID [2022-04-07 15:12:19,321 INFO L290 TraceCheckUtils]: 19: Hoare triple {665#(<= 1 main_~y~0)} assume !(0 != ~y~0); {625#false} is VALID [2022-04-07 15:12:19,321 INFO L272 TraceCheckUtils]: 20: Hoare triple {625#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {625#false} is VALID [2022-04-07 15:12:19,321 INFO L290 TraceCheckUtils]: 21: Hoare triple {625#false} ~cond := #in~cond; {625#false} is VALID [2022-04-07 15:12:19,321 INFO L290 TraceCheckUtils]: 22: Hoare triple {625#false} assume 0 == ~cond; {625#false} is VALID [2022-04-07 15:12:19,322 INFO L290 TraceCheckUtils]: 23: Hoare triple {625#false} assume !false; {625#false} is VALID [2022-04-07 15:12:19,322 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:12:19,322 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 15:12:19,322 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:12:19,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [788863703] [2022-04-07 15:12:19,322 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:12:19,322 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1830115453] [2022-04-07 15:12:19,322 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1830115453] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 15:12:19,322 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 15:12:19,323 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-07 15:12:19,323 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1334750204] [2022-04-07 15:12:19,323 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 15:12:19,323 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-04-07 15:12:19,323 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:12:19,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 15:12:19,338 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:19,338 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 15:12:19,338 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:12:19,339 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 15:12:19,339 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-07 15:12:19,339 INFO L87 Difference]: Start difference. First operand 32 states and 35 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 15:12:19,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:19,454 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-07 15:12:19,454 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 15:12:19,455 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-04-07 15:12:19,455 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:12:19,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 15:12:19,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 43 transitions. [2022-04-07 15:12:19,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 15:12:19,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 43 transitions. [2022-04-07 15:12:19,464 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 43 transitions. [2022-04-07 15:12:19,493 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:19,494 INFO L225 Difference]: With dead ends: 42 [2022-04-07 15:12:19,494 INFO L226 Difference]: Without dead ends: 35 [2022-04-07 15:12:19,495 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-07 15:12:19,497 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 17 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:12:19,500 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 85 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 15:12:19,502 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-07 15:12:19,519 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 33. [2022-04-07 15:12:19,519 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:12:19,519 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:12:19,520 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:12:19,521 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:12:19,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:19,522 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-07 15:12:19,522 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-07 15:12:19,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:19,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:19,522 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 35 states. [2022-04-07 15:12:19,523 INFO L87 Difference]: Start difference. First operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 35 states. [2022-04-07 15:12:19,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:19,524 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-07 15:12:19,524 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-07 15:12:19,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:19,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:19,524 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:12:19,524 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:12:19,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-07 15:12:19,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2022-04-07 15:12:19,525 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 24 [2022-04-07 15:12:19,525 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:12:19,525 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2022-04-07 15:12:19,526 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 15:12:19,526 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-07 15:12:19,526 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-07 15:12:19,526 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:12:19,526 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:12:19,547 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-07 15:12:19,727 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:12:19,727 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:12:19,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:12:19,728 INFO L85 PathProgramCache]: Analyzing trace with hash 584619061, now seen corresponding path program 1 times [2022-04-07 15:12:19,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:12:19,728 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1945765896] [2022-04-07 15:12:19,728 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:19,728 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:12:19,741 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:12:19,742 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [878026580] [2022-04-07 15:12:19,742 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:19,742 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:12:19,742 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:12:19,743 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:12:19,759 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-07 15:12:19,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:19,794 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 15:12:19,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:19,805 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:12:19,935 INFO L272 TraceCheckUtils]: 0: Hoare triple {878#true} call ULTIMATE.init(); {878#true} is VALID [2022-04-07 15:12:19,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {878#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:19,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {886#(<= ~counter~0 0)} assume true; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:19,937 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {886#(<= ~counter~0 0)} {878#true} #65#return; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:19,938 INFO L272 TraceCheckUtils]: 4: Hoare triple {886#(<= ~counter~0 0)} call #t~ret7 := main(); {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:19,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {886#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:19,939 INFO L272 TraceCheckUtils]: 6: Hoare triple {886#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:19,939 INFO L290 TraceCheckUtils]: 7: Hoare triple {886#(<= ~counter~0 0)} ~cond := #in~cond; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:19,940 INFO L290 TraceCheckUtils]: 8: Hoare triple {886#(<= ~counter~0 0)} assume !(0 == ~cond); {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:19,940 INFO L290 TraceCheckUtils]: 9: Hoare triple {886#(<= ~counter~0 0)} assume true; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:19,940 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {886#(<= ~counter~0 0)} {886#(<= ~counter~0 0)} #59#return; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:19,941 INFO L290 TraceCheckUtils]: 11: Hoare triple {886#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {886#(<= ~counter~0 0)} is VALID [2022-04-07 15:12:19,941 INFO L290 TraceCheckUtils]: 12: Hoare triple {886#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:12:19,942 INFO L290 TraceCheckUtils]: 13: Hoare triple {920#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:12:19,942 INFO L272 TraceCheckUtils]: 14: Hoare triple {920#(<= ~counter~0 1)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:12:19,943 INFO L290 TraceCheckUtils]: 15: Hoare triple {920#(<= ~counter~0 1)} ~cond := #in~cond; {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:12:19,943 INFO L290 TraceCheckUtils]: 16: Hoare triple {920#(<= ~counter~0 1)} assume !(0 == ~cond); {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:12:19,943 INFO L290 TraceCheckUtils]: 17: Hoare triple {920#(<= ~counter~0 1)} assume true; {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:12:19,944 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {920#(<= ~counter~0 1)} {920#(<= ~counter~0 1)} #61#return; {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:12:19,946 INFO L290 TraceCheckUtils]: 19: Hoare triple {920#(<= ~counter~0 1)} assume !!(0 != ~y~0); {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:12:19,947 INFO L290 TraceCheckUtils]: 20: Hoare triple {920#(<= ~counter~0 1)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:12:19,947 INFO L290 TraceCheckUtils]: 21: Hoare triple {920#(<= ~counter~0 1)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {920#(<= ~counter~0 1)} is VALID [2022-04-07 15:12:19,947 INFO L290 TraceCheckUtils]: 22: Hoare triple {920#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {951#(<= |main_#t~post6| 1)} is VALID [2022-04-07 15:12:19,948 INFO L290 TraceCheckUtils]: 23: Hoare triple {951#(<= |main_#t~post6| 1)} assume !(#t~post6 < 50);havoc #t~post6; {879#false} is VALID [2022-04-07 15:12:19,948 INFO L272 TraceCheckUtils]: 24: Hoare triple {879#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {879#false} is VALID [2022-04-07 15:12:19,948 INFO L290 TraceCheckUtils]: 25: Hoare triple {879#false} ~cond := #in~cond; {879#false} is VALID [2022-04-07 15:12:19,948 INFO L290 TraceCheckUtils]: 26: Hoare triple {879#false} assume 0 == ~cond; {879#false} is VALID [2022-04-07 15:12:19,948 INFO L290 TraceCheckUtils]: 27: Hoare triple {879#false} assume !false; {879#false} is VALID [2022-04-07 15:12:19,949 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:12:19,949 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:12:20,107 INFO L290 TraceCheckUtils]: 27: Hoare triple {879#false} assume !false; {879#false} is VALID [2022-04-07 15:12:20,108 INFO L290 TraceCheckUtils]: 26: Hoare triple {879#false} assume 0 == ~cond; {879#false} is VALID [2022-04-07 15:12:20,111 INFO L290 TraceCheckUtils]: 25: Hoare triple {879#false} ~cond := #in~cond; {879#false} is VALID [2022-04-07 15:12:20,111 INFO L272 TraceCheckUtils]: 24: Hoare triple {879#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {879#false} is VALID [2022-04-07 15:12:20,123 INFO L290 TraceCheckUtils]: 23: Hoare triple {979#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {879#false} is VALID [2022-04-07 15:12:20,129 INFO L290 TraceCheckUtils]: 22: Hoare triple {983#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {979#(< |main_#t~post6| 50)} is VALID [2022-04-07 15:12:20,131 INFO L290 TraceCheckUtils]: 21: Hoare triple {983#(< ~counter~0 50)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {983#(< ~counter~0 50)} is VALID [2022-04-07 15:12:20,131 INFO L290 TraceCheckUtils]: 20: Hoare triple {983#(< ~counter~0 50)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {983#(< ~counter~0 50)} is VALID [2022-04-07 15:12:20,138 INFO L290 TraceCheckUtils]: 19: Hoare triple {983#(< ~counter~0 50)} assume !!(0 != ~y~0); {983#(< ~counter~0 50)} is VALID [2022-04-07 15:12:20,138 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {878#true} {983#(< ~counter~0 50)} #61#return; {983#(< ~counter~0 50)} is VALID [2022-04-07 15:12:20,138 INFO L290 TraceCheckUtils]: 17: Hoare triple {878#true} assume true; {878#true} is VALID [2022-04-07 15:12:20,138 INFO L290 TraceCheckUtils]: 16: Hoare triple {878#true} assume !(0 == ~cond); {878#true} is VALID [2022-04-07 15:12:20,139 INFO L290 TraceCheckUtils]: 15: Hoare triple {878#true} ~cond := #in~cond; {878#true} is VALID [2022-04-07 15:12:20,139 INFO L272 TraceCheckUtils]: 14: Hoare triple {983#(< ~counter~0 50)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {878#true} is VALID [2022-04-07 15:12:20,139 INFO L290 TraceCheckUtils]: 13: Hoare triple {983#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {983#(< ~counter~0 50)} is VALID [2022-04-07 15:12:20,139 INFO L290 TraceCheckUtils]: 12: Hoare triple {1014#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {983#(< ~counter~0 50)} is VALID [2022-04-07 15:12:20,140 INFO L290 TraceCheckUtils]: 11: Hoare triple {1014#(< ~counter~0 49)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1014#(< ~counter~0 49)} is VALID [2022-04-07 15:12:20,140 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {878#true} {1014#(< ~counter~0 49)} #59#return; {1014#(< ~counter~0 49)} is VALID [2022-04-07 15:12:20,140 INFO L290 TraceCheckUtils]: 9: Hoare triple {878#true} assume true; {878#true} is VALID [2022-04-07 15:12:20,141 INFO L290 TraceCheckUtils]: 8: Hoare triple {878#true} assume !(0 == ~cond); {878#true} is VALID [2022-04-07 15:12:20,141 INFO L290 TraceCheckUtils]: 7: Hoare triple {878#true} ~cond := #in~cond; {878#true} is VALID [2022-04-07 15:12:20,141 INFO L272 TraceCheckUtils]: 6: Hoare triple {1014#(< ~counter~0 49)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {878#true} is VALID [2022-04-07 15:12:20,141 INFO L290 TraceCheckUtils]: 5: Hoare triple {1014#(< ~counter~0 49)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1014#(< ~counter~0 49)} is VALID [2022-04-07 15:12:20,141 INFO L272 TraceCheckUtils]: 4: Hoare triple {1014#(< ~counter~0 49)} call #t~ret7 := main(); {1014#(< ~counter~0 49)} is VALID [2022-04-07 15:12:20,142 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1014#(< ~counter~0 49)} {878#true} #65#return; {1014#(< ~counter~0 49)} is VALID [2022-04-07 15:12:20,142 INFO L290 TraceCheckUtils]: 2: Hoare triple {1014#(< ~counter~0 49)} assume true; {1014#(< ~counter~0 49)} is VALID [2022-04-07 15:12:20,143 INFO L290 TraceCheckUtils]: 1: Hoare triple {878#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1014#(< ~counter~0 49)} is VALID [2022-04-07 15:12:20,143 INFO L272 TraceCheckUtils]: 0: Hoare triple {878#true} call ULTIMATE.init(); {878#true} is VALID [2022-04-07 15:12:20,143 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:12:20,143 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:12:20,143 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1945765896] [2022-04-07 15:12:20,143 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:12:20,143 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [878026580] [2022-04-07 15:12:20,144 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [878026580] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:12:20,144 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:12:20,144 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-07 15:12:20,144 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [265094054] [2022-04-07 15:12:20,144 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:12:20,144 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 28 [2022-04-07 15:12:20,145 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:12:20,145 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:12:20,176 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:20,176 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-07 15:12:20,176 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:12:20,177 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-07 15:12:20,177 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-07 15:12:20,177 INFO L87 Difference]: Start difference. First operand 33 states and 36 transitions. Second operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:12:20,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:20,332 INFO L93 Difference]: Finished difference Result 70 states and 80 transitions. [2022-04-07 15:12:20,332 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-07 15:12:20,332 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) Word has length 28 [2022-04-07 15:12:20,334 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:12:20,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:12:20,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-07 15:12:20,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:12:20,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-07 15:12:20,344 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 80 transitions. [2022-04-07 15:12:20,389 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:20,393 INFO L225 Difference]: With dead ends: 70 [2022-04-07 15:12:20,393 INFO L226 Difference]: Without dead ends: 63 [2022-04-07 15:12:20,394 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-07 15:12:20,395 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 42 mSDsluCounter, 73 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 15:12:20,395 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 102 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 15:12:20,395 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-07 15:12:20,418 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-07 15:12:20,418 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:12:20,418 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 15:12:20,418 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 15:12:20,419 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 15:12:20,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:20,421 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-07 15:12:20,421 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2022-04-07 15:12:20,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:20,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:20,422 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 63 states. [2022-04-07 15:12:20,422 INFO L87 Difference]: Start difference. First operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 63 states. [2022-04-07 15:12:20,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:20,424 INFO L93 Difference]: Finished difference Result 63 states and 71 transitions. [2022-04-07 15:12:20,424 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 71 transitions. [2022-04-07 15:12:20,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:20,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:20,424 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:12:20,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:12:20,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-07 15:12:20,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 69 transitions. [2022-04-07 15:12:20,426 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 69 transitions. Word has length 28 [2022-04-07 15:12:20,426 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:12:20,426 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 69 transitions. [2022-04-07 15:12:20,426 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.625) internal successors, (37), 8 states have internal predecessors, (37), 6 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 4 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-07 15:12:20,427 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 69 transitions. [2022-04-07 15:12:20,427 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-07 15:12:20,427 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:12:20,427 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:12:20,445 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-07 15:12:20,646 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:12:20,646 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:12:20,647 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:12:20,647 INFO L85 PathProgramCache]: Analyzing trace with hash 586406521, now seen corresponding path program 1 times [2022-04-07 15:12:20,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:12:20,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2019159100] [2022-04-07 15:12:20,647 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:20,647 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:12:20,660 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:12:20,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1375546998] [2022-04-07 15:12:20,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:20,660 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:12:20,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:12:20,661 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:12:20,662 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-07 15:12:20,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:20,717 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-07 15:12:20,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:20,839 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:12:22,637 INFO L272 TraceCheckUtils]: 0: Hoare triple {1360#true} call ULTIMATE.init(); {1360#true} is VALID [2022-04-07 15:12:22,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {1360#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1360#true} is VALID [2022-04-07 15:12:22,637 INFO L290 TraceCheckUtils]: 2: Hoare triple {1360#true} assume true; {1360#true} is VALID [2022-04-07 15:12:22,637 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1360#true} {1360#true} #65#return; {1360#true} is VALID [2022-04-07 15:12:22,637 INFO L272 TraceCheckUtils]: 4: Hoare triple {1360#true} call #t~ret7 := main(); {1360#true} is VALID [2022-04-07 15:12:22,637 INFO L290 TraceCheckUtils]: 5: Hoare triple {1360#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1360#true} is VALID [2022-04-07 15:12:22,638 INFO L272 TraceCheckUtils]: 6: Hoare triple {1360#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1360#true} is VALID [2022-04-07 15:12:22,638 INFO L290 TraceCheckUtils]: 7: Hoare triple {1360#true} ~cond := #in~cond; {1386#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 15:12:22,638 INFO L290 TraceCheckUtils]: 8: Hoare triple {1386#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1390#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:12:22,638 INFO L290 TraceCheckUtils]: 9: Hoare triple {1390#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1390#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:12:22,639 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1390#(not (= |assume_abort_if_not_#in~cond| 0))} {1360#true} #59#return; {1397#(<= 1 main_~b~0)} is VALID [2022-04-07 15:12:22,639 INFO L290 TraceCheckUtils]: 11: Hoare triple {1397#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:12:22,641 INFO L290 TraceCheckUtils]: 12: Hoare triple {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:12:22,642 INFO L290 TraceCheckUtils]: 13: Hoare triple {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:12:22,642 INFO L272 TraceCheckUtils]: 14: Hoare triple {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1360#true} is VALID [2022-04-07 15:12:22,642 INFO L290 TraceCheckUtils]: 15: Hoare triple {1360#true} ~cond := #in~cond; {1414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:12:22,642 INFO L290 TraceCheckUtils]: 16: Hoare triple {1414#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:12:22,642 INFO L290 TraceCheckUtils]: 17: Hoare triple {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:12:22,643 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} {1401#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {1425#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:12:22,643 INFO L290 TraceCheckUtils]: 19: Hoare triple {1425#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1425#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:12:22,644 INFO L290 TraceCheckUtils]: 20: Hoare triple {1425#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1432#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:12:22,645 INFO L290 TraceCheckUtils]: 21: Hoare triple {1432#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1436#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-07 15:12:22,645 INFO L290 TraceCheckUtils]: 22: Hoare triple {1436#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1436#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-07 15:12:22,646 INFO L290 TraceCheckUtils]: 23: Hoare triple {1436#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {1436#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-07 15:12:22,647 INFO L272 TraceCheckUtils]: 24: Hoare triple {1436#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1446#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:12:22,647 INFO L290 TraceCheckUtils]: 25: Hoare triple {1446#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1450#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:12:22,648 INFO L290 TraceCheckUtils]: 26: Hoare triple {1450#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1361#false} is VALID [2022-04-07 15:12:22,648 INFO L290 TraceCheckUtils]: 27: Hoare triple {1361#false} assume !false; {1361#false} is VALID [2022-04-07 15:12:22,648 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:12:22,648 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:12:49,020 INFO L290 TraceCheckUtils]: 27: Hoare triple {1361#false} assume !false; {1361#false} is VALID [2022-04-07 15:12:49,021 INFO L290 TraceCheckUtils]: 26: Hoare triple {1450#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1361#false} is VALID [2022-04-07 15:12:49,021 INFO L290 TraceCheckUtils]: 25: Hoare triple {1446#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1450#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:12:49,022 INFO L272 TraceCheckUtils]: 24: Hoare triple {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1446#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:12:49,022 INFO L290 TraceCheckUtils]: 23: Hoare triple {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 50);havoc #t~post6; {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:12:49,023 INFO L290 TraceCheckUtils]: 22: Hoare triple {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:12:49,027 INFO L290 TraceCheckUtils]: 21: Hoare triple {1476#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1466#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:12:49,028 INFO L290 TraceCheckUtils]: 20: Hoare triple {1480#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1476#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-07 15:12:49,029 INFO L290 TraceCheckUtils]: 19: Hoare triple {1480#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {1480#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:12:49,031 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} #61#return; {1480#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:12:49,031 INFO L290 TraceCheckUtils]: 17: Hoare triple {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:12:49,032 INFO L290 TraceCheckUtils]: 16: Hoare triple {1497#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1418#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:12:49,032 INFO L290 TraceCheckUtils]: 15: Hoare triple {1360#true} ~cond := #in~cond; {1497#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 15:12:49,032 INFO L272 TraceCheckUtils]: 14: Hoare triple {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1360#true} is VALID [2022-04-07 15:12:49,033 INFO L290 TraceCheckUtils]: 13: Hoare triple {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 15:12:49,033 INFO L290 TraceCheckUtils]: 12: Hoare triple {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 15:12:49,034 INFO L290 TraceCheckUtils]: 11: Hoare triple {1510#(or (= (+ (* (- 1) main_~b~0 main_~a~0) (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (* main_~b~0 main_~a~0)) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1487#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 15:12:49,035 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1390#(not (= |assume_abort_if_not_#in~cond| 0))} {1360#true} #59#return; {1510#(or (= (+ (* (- 1) main_~b~0 main_~a~0) (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (* main_~b~0 main_~a~0)) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-07 15:12:49,035 INFO L290 TraceCheckUtils]: 9: Hoare triple {1390#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1390#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:12:49,035 INFO L290 TraceCheckUtils]: 8: Hoare triple {1523#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1390#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:12:49,036 INFO L290 TraceCheckUtils]: 7: Hoare triple {1360#true} ~cond := #in~cond; {1523#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 15:12:49,036 INFO L272 TraceCheckUtils]: 6: Hoare triple {1360#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1360#true} is VALID [2022-04-07 15:12:49,036 INFO L290 TraceCheckUtils]: 5: Hoare triple {1360#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1360#true} is VALID [2022-04-07 15:12:49,036 INFO L272 TraceCheckUtils]: 4: Hoare triple {1360#true} call #t~ret7 := main(); {1360#true} is VALID [2022-04-07 15:12:49,036 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1360#true} {1360#true} #65#return; {1360#true} is VALID [2022-04-07 15:12:49,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {1360#true} assume true; {1360#true} is VALID [2022-04-07 15:12:49,036 INFO L290 TraceCheckUtils]: 1: Hoare triple {1360#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1360#true} is VALID [2022-04-07 15:12:49,036 INFO L272 TraceCheckUtils]: 0: Hoare triple {1360#true} call ULTIMATE.init(); {1360#true} is VALID [2022-04-07 15:12:49,036 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:12:49,036 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:12:49,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2019159100] [2022-04-07 15:12:49,037 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:12:49,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1375546998] [2022-04-07 15:12:49,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1375546998] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:12:49,037 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:12:49,037 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 13] total 20 [2022-04-07 15:12:49,037 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [178620391] [2022-04-07 15:12:49,037 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:12:49,038 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 28 [2022-04-07 15:12:49,038 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:12:49,038 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:12:49,077 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:49,077 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-07 15:12:49,077 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:12:49,078 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-07 15:12:49,078 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=313, Unknown=0, NotChecked=0, Total=380 [2022-04-07 15:12:49,078 INFO L87 Difference]: Start difference. First operand 59 states and 69 transitions. Second operand has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:12:51,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:51,653 INFO L93 Difference]: Finished difference Result 103 states and 121 transitions. [2022-04-07 15:12:51,653 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-07 15:12:51,653 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) Word has length 28 [2022-04-07 15:12:51,653 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:12:51,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:12:51,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 71 transitions. [2022-04-07 15:12:51,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:12:51,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 71 transitions. [2022-04-07 15:12:51,657 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 71 transitions. [2022-04-07 15:12:51,767 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:12:51,769 INFO L225 Difference]: With dead ends: 103 [2022-04-07 15:12:51,769 INFO L226 Difference]: Without dead ends: 94 [2022-04-07 15:12:51,769 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-07 15:12:51,770 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 63 mSDsluCounter, 164 mSDsCounter, 0 mSdLazyCounter, 260 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 260 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-07 15:12:51,770 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [65 Valid, 184 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 260 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-07 15:12:51,770 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2022-04-07 15:12:51,840 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 92. [2022-04-07 15:12:51,840 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:12:51,840 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:12:51,841 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:12:51,841 INFO L87 Difference]: Start difference. First operand 94 states. Second operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:12:51,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:51,845 INFO L93 Difference]: Finished difference Result 94 states and 109 transitions. [2022-04-07 15:12:51,846 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 109 transitions. [2022-04-07 15:12:51,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:51,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:51,851 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 94 states. [2022-04-07 15:12:51,851 INFO L87 Difference]: Start difference. First operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 94 states. [2022-04-07 15:12:51,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:12:51,856 INFO L93 Difference]: Finished difference Result 94 states and 109 transitions. [2022-04-07 15:12:51,856 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 109 transitions. [2022-04-07 15:12:51,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:12:51,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:12:51,857 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:12:51,857 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:12:51,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 69 states have (on average 1.2028985507246377) internal successors, (83), 73 states have internal predecessors, (83), 14 states have call successors, (14), 10 states have call predecessors, (14), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:12:51,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 107 transitions. [2022-04-07 15:12:51,861 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 107 transitions. Word has length 28 [2022-04-07 15:12:51,862 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:12:51,862 INFO L478 AbstractCegarLoop]: Abstraction has 92 states and 107 transitions. [2022-04-07 15:12:51,862 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 1.6) internal successors, (32), 17 states have internal predecessors, (32), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-07 15:12:51,862 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 107 transitions. [2022-04-07 15:12:51,862 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-07 15:12:51,862 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:12:51,863 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:12:51,884 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-07 15:12:52,078 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:12:52,079 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:12:52,079 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:12:52,079 INFO L85 PathProgramCache]: Analyzing trace with hash -1513703477, now seen corresponding path program 1 times [2022-04-07 15:12:52,079 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:12:52,079 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1145992135] [2022-04-07 15:12:52,079 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:52,079 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:12:52,091 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:12:52,091 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [779863704] [2022-04-07 15:12:52,091 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:12:52,091 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:12:52,091 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:12:52,108 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:12:52,108 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-07 15:12:52,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:52,143 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-07 15:12:52,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:12:52,150 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:12:56,312 INFO L272 TraceCheckUtils]: 0: Hoare triple {2016#true} call ULTIMATE.init(); {2016#true} is VALID [2022-04-07 15:12:56,312 INFO L290 TraceCheckUtils]: 1: Hoare triple {2016#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2016#true} is VALID [2022-04-07 15:12:56,312 INFO L290 TraceCheckUtils]: 2: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-07 15:12:56,312 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2016#true} {2016#true} #65#return; {2016#true} is VALID [2022-04-07 15:12:56,312 INFO L272 TraceCheckUtils]: 4: Hoare triple {2016#true} call #t~ret7 := main(); {2016#true} is VALID [2022-04-07 15:12:56,312 INFO L290 TraceCheckUtils]: 5: Hoare triple {2016#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2016#true} is VALID [2022-04-07 15:12:56,313 INFO L272 TraceCheckUtils]: 6: Hoare triple {2016#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2016#true} is VALID [2022-04-07 15:12:56,313 INFO L290 TraceCheckUtils]: 7: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-07 15:12:56,313 INFO L290 TraceCheckUtils]: 8: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-07 15:12:56,313 INFO L290 TraceCheckUtils]: 9: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-07 15:12:56,313 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2016#true} {2016#true} #59#return; {2016#true} is VALID [2022-04-07 15:12:56,313 INFO L290 TraceCheckUtils]: 11: Hoare triple {2016#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2016#true} is VALID [2022-04-07 15:12:56,313 INFO L290 TraceCheckUtils]: 12: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-07 15:12:56,313 INFO L290 TraceCheckUtils]: 13: Hoare triple {2016#true} assume !!(#t~post6 < 50);havoc #t~post6; {2016#true} is VALID [2022-04-07 15:12:56,313 INFO L272 TraceCheckUtils]: 14: Hoare triple {2016#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2016#true} is VALID [2022-04-07 15:12:56,313 INFO L290 TraceCheckUtils]: 15: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-07 15:12:56,313 INFO L290 TraceCheckUtils]: 16: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-07 15:12:56,313 INFO L290 TraceCheckUtils]: 17: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-07 15:12:56,314 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2016#true} {2016#true} #61#return; {2016#true} is VALID [2022-04-07 15:12:56,314 INFO L290 TraceCheckUtils]: 19: Hoare triple {2016#true} assume !!(0 != ~y~0); {2016#true} is VALID [2022-04-07 15:12:56,314 INFO L290 TraceCheckUtils]: 20: Hoare triple {2016#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2016#true} is VALID [2022-04-07 15:12:56,314 INFO L290 TraceCheckUtils]: 21: Hoare triple {2016#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2016#true} is VALID [2022-04-07 15:12:56,314 INFO L290 TraceCheckUtils]: 22: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-07 15:12:56,314 INFO L290 TraceCheckUtils]: 23: Hoare triple {2016#true} assume !!(#t~post6 < 50);havoc #t~post6; {2016#true} is VALID [2022-04-07 15:12:56,314 INFO L272 TraceCheckUtils]: 24: Hoare triple {2016#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2016#true} is VALID [2022-04-07 15:12:56,318 INFO L290 TraceCheckUtils]: 25: Hoare triple {2016#true} ~cond := #in~cond; {2096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:12:56,318 INFO L290 TraceCheckUtils]: 26: Hoare triple {2096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:12:56,318 INFO L290 TraceCheckUtils]: 27: Hoare triple {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:12:58,321 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} {2016#true} #61#return; {2107#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-07 15:12:58,321 INFO L290 TraceCheckUtils]: 29: Hoare triple {2107#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} assume !(0 != ~y~0); {2111#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:12:58,322 INFO L272 TraceCheckUtils]: 30: Hoare triple {2111#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2115#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:12:58,322 INFO L290 TraceCheckUtils]: 31: Hoare triple {2115#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2119#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:12:58,323 INFO L290 TraceCheckUtils]: 32: Hoare triple {2119#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2017#false} is VALID [2022-04-07 15:12:58,323 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#false} assume !false; {2017#false} is VALID [2022-04-07 15:12:58,323 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 15:12:58,323 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:13:14,457 INFO L290 TraceCheckUtils]: 33: Hoare triple {2017#false} assume !false; {2017#false} is VALID [2022-04-07 15:13:14,458 INFO L290 TraceCheckUtils]: 32: Hoare triple {2119#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2017#false} is VALID [2022-04-07 15:13:14,458 INFO L290 TraceCheckUtils]: 31: Hoare triple {2115#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2119#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:13:14,459 INFO L272 TraceCheckUtils]: 30: Hoare triple {2111#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2115#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:13:14,459 INFO L290 TraceCheckUtils]: 29: Hoare triple {2138#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2111#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:13:14,460 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} {2016#true} #61#return; {2138#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-07 15:13:14,460 INFO L290 TraceCheckUtils]: 27: Hoare triple {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:13:14,460 INFO L290 TraceCheckUtils]: 26: Hoare triple {2151#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:13:14,461 INFO L290 TraceCheckUtils]: 25: Hoare triple {2016#true} ~cond := #in~cond; {2151#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 15:13:14,461 INFO L272 TraceCheckUtils]: 24: Hoare triple {2016#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2016#true} is VALID [2022-04-07 15:13:14,461 INFO L290 TraceCheckUtils]: 23: Hoare triple {2016#true} assume !!(#t~post6 < 50);havoc #t~post6; {2016#true} is VALID [2022-04-07 15:13:14,461 INFO L290 TraceCheckUtils]: 22: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-07 15:13:14,461 INFO L290 TraceCheckUtils]: 21: Hoare triple {2016#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2016#true} is VALID [2022-04-07 15:13:14,461 INFO L290 TraceCheckUtils]: 20: Hoare triple {2016#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2016#true} is VALID [2022-04-07 15:13:14,461 INFO L290 TraceCheckUtils]: 19: Hoare triple {2016#true} assume !!(0 != ~y~0); {2016#true} is VALID [2022-04-07 15:13:14,461 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2016#true} {2016#true} #61#return; {2016#true} is VALID [2022-04-07 15:13:14,461 INFO L290 TraceCheckUtils]: 17: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-07 15:13:14,461 INFO L290 TraceCheckUtils]: 16: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-07 15:13:14,462 INFO L290 TraceCheckUtils]: 15: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-07 15:13:14,462 INFO L272 TraceCheckUtils]: 14: Hoare triple {2016#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2016#true} is VALID [2022-04-07 15:13:14,462 INFO L290 TraceCheckUtils]: 13: Hoare triple {2016#true} assume !!(#t~post6 < 50);havoc #t~post6; {2016#true} is VALID [2022-04-07 15:13:14,462 INFO L290 TraceCheckUtils]: 12: Hoare triple {2016#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2016#true} is VALID [2022-04-07 15:13:14,462 INFO L290 TraceCheckUtils]: 11: Hoare triple {2016#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2016#true} is VALID [2022-04-07 15:13:14,462 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2016#true} {2016#true} #59#return; {2016#true} is VALID [2022-04-07 15:13:14,462 INFO L290 TraceCheckUtils]: 9: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-07 15:13:14,462 INFO L290 TraceCheckUtils]: 8: Hoare triple {2016#true} assume !(0 == ~cond); {2016#true} is VALID [2022-04-07 15:13:14,462 INFO L290 TraceCheckUtils]: 7: Hoare triple {2016#true} ~cond := #in~cond; {2016#true} is VALID [2022-04-07 15:13:14,462 INFO L272 TraceCheckUtils]: 6: Hoare triple {2016#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2016#true} is VALID [2022-04-07 15:13:14,462 INFO L290 TraceCheckUtils]: 5: Hoare triple {2016#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2016#true} is VALID [2022-04-07 15:13:14,462 INFO L272 TraceCheckUtils]: 4: Hoare triple {2016#true} call #t~ret7 := main(); {2016#true} is VALID [2022-04-07 15:13:14,463 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2016#true} {2016#true} #65#return; {2016#true} is VALID [2022-04-07 15:13:14,463 INFO L290 TraceCheckUtils]: 2: Hoare triple {2016#true} assume true; {2016#true} is VALID [2022-04-07 15:13:14,463 INFO L290 TraceCheckUtils]: 1: Hoare triple {2016#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2016#true} is VALID [2022-04-07 15:13:14,463 INFO L272 TraceCheckUtils]: 0: Hoare triple {2016#true} call ULTIMATE.init(); {2016#true} is VALID [2022-04-07 15:13:14,463 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 15:13:14,463 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:13:14,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1145992135] [2022-04-07 15:13:14,463 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:13:14,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [779863704] [2022-04-07 15:13:14,463 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [779863704] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:13:14,463 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:13:14,463 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-07 15:13:14,464 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1126561517] [2022-04-07 15:13:14,464 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:13:14,464 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-07 15:13:14,464 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:13:14,464 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 15:13:16,488 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 15:13:16,489 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-07 15:13:16,489 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:13:16,489 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-07 15:13:16,489 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-07 15:13:16,489 INFO L87 Difference]: Start difference. First operand 92 states and 107 transitions. Second operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 15:13:18,521 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 15:13:19,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:13:19,009 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2022-04-07 15:13:19,009 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-07 15:13:19,009 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-07 15:13:19,009 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:13:19,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 15:13:19,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-07 15:13:19,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 15:13:19,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-07 15:13:19,011 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 35 transitions. [2022-04-07 15:13:21,038 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 15:13:21,040 INFO L225 Difference]: With dead ends: 104 [2022-04-07 15:13:21,040 INFO L226 Difference]: Without dead ends: 89 [2022-04-07 15:13:21,040 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-07 15:13:21,041 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 17 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 88 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-07 15:13:21,041 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 88 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 55 Invalid, 1 Unknown, 0 Unchecked, 2.2s Time] [2022-04-07 15:13:21,041 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2022-04-07 15:13:21,090 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 88. [2022-04-07 15:13:21,091 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:13:21,091 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:13:21,092 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:13:21,093 INFO L87 Difference]: Start difference. First operand 89 states. Second operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:13:21,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:13:21,095 INFO L93 Difference]: Finished difference Result 89 states and 100 transitions. [2022-04-07 15:13:21,095 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 100 transitions. [2022-04-07 15:13:21,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:13:21,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:13:21,097 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 89 states. [2022-04-07 15:13:21,097 INFO L87 Difference]: Start difference. First operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 89 states. [2022-04-07 15:13:21,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:13:21,110 INFO L93 Difference]: Finished difference Result 89 states and 100 transitions. [2022-04-07 15:13:21,110 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 100 transitions. [2022-04-07 15:13:21,110 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:13:21,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:13:21,110 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:13:21,110 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:13:21,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 67 states have (on average 1.1492537313432836) internal successors, (77), 70 states have internal predecessors, (77), 12 states have call successors, (12), 9 states have call predecessors, (12), 8 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-07 15:13:21,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 99 transitions. [2022-04-07 15:13:21,113 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 99 transitions. Word has length 34 [2022-04-07 15:13:21,114 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:13:21,114 INFO L478 AbstractCegarLoop]: Abstraction has 88 states and 99 transitions. [2022-04-07 15:13:21,114 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 7 states have internal predecessors, (25), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (5), 3 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-07 15:13:21,114 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 99 transitions. [2022-04-07 15:13:21,116 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-07 15:13:21,116 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:13:21,116 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:13:21,134 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-07 15:13:21,332 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:13:21,332 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:13:21,333 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:13:21,333 INFO L85 PathProgramCache]: Analyzing trace with hash 539044694, now seen corresponding path program 1 times [2022-04-07 15:13:21,333 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:13:21,333 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [46099843] [2022-04-07 15:13:21,333 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:13:21,333 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:13:21,344 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:13:21,344 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1211517783] [2022-04-07 15:13:21,344 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:13:21,344 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:13:21,344 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:13:21,345 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:13:21,345 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-07 15:13:21,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:13:21,387 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-07 15:13:21,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:13:21,413 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:13:23,571 INFO L272 TraceCheckUtils]: 0: Hoare triple {2671#true} call ULTIMATE.init(); {2671#true} is VALID [2022-04-07 15:13:23,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {2671#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2671#true} is VALID [2022-04-07 15:13:23,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-07 15:13:23,572 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2671#true} {2671#true} #65#return; {2671#true} is VALID [2022-04-07 15:13:23,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {2671#true} call #t~ret7 := main(); {2671#true} is VALID [2022-04-07 15:13:23,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {2671#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2671#true} is VALID [2022-04-07 15:13:23,572 INFO L272 TraceCheckUtils]: 6: Hoare triple {2671#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2671#true} is VALID [2022-04-07 15:13:23,572 INFO L290 TraceCheckUtils]: 7: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-07 15:13:23,572 INFO L290 TraceCheckUtils]: 8: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-07 15:13:23,572 INFO L290 TraceCheckUtils]: 9: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-07 15:13:23,572 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2671#true} {2671#true} #59#return; {2671#true} is VALID [2022-04-07 15:13:23,573 INFO L290 TraceCheckUtils]: 11: Hoare triple {2671#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:13:23,573 INFO L290 TraceCheckUtils]: 12: Hoare triple {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:13:23,573 INFO L290 TraceCheckUtils]: 13: Hoare triple {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:13:23,573 INFO L272 TraceCheckUtils]: 14: Hoare triple {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2671#true} is VALID [2022-04-07 15:13:23,573 INFO L290 TraceCheckUtils]: 15: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-07 15:13:23,573 INFO L290 TraceCheckUtils]: 16: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-07 15:13:23,574 INFO L290 TraceCheckUtils]: 17: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-07 15:13:23,575 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2671#true} {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #61#return; {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:13:23,575 INFO L290 TraceCheckUtils]: 19: Hoare triple {2709#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2734#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:13:23,576 INFO L290 TraceCheckUtils]: 20: Hoare triple {2734#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2738#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-07 15:13:23,577 INFO L290 TraceCheckUtils]: 21: Hoare triple {2738#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2742#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 15:13:23,578 INFO L290 TraceCheckUtils]: 22: Hoare triple {2742#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2742#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 15:13:23,578 INFO L290 TraceCheckUtils]: 23: Hoare triple {2742#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(#t~post6 < 50);havoc #t~post6; {2742#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 15:13:23,578 INFO L272 TraceCheckUtils]: 24: Hoare triple {2742#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2671#true} is VALID [2022-04-07 15:13:23,578 INFO L290 TraceCheckUtils]: 25: Hoare triple {2671#true} ~cond := #in~cond; {2755#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:13:23,579 INFO L290 TraceCheckUtils]: 26: Hoare triple {2755#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:13:23,579 INFO L290 TraceCheckUtils]: 27: Hoare triple {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:13:23,580 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} {2742#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #61#return; {2766#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 15:13:23,580 INFO L290 TraceCheckUtils]: 29: Hoare triple {2766#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {2766#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 15:13:23,581 INFO L290 TraceCheckUtils]: 30: Hoare triple {2766#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2773#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-07 15:13:23,584 INFO L290 TraceCheckUtils]: 31: Hoare triple {2773#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-07 15:13:23,585 INFO L290 TraceCheckUtils]: 32: Hoare triple {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-07 15:13:23,586 INFO L290 TraceCheckUtils]: 33: Hoare triple {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} assume !!(#t~post6 < 50);havoc #t~post6; {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-07 15:13:23,606 INFO L272 TraceCheckUtils]: 34: Hoare triple {2777#(and (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (* main_~a~0 2))) (* main_~b~0 main_~a~0)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2787#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:13:23,607 INFO L290 TraceCheckUtils]: 35: Hoare triple {2787#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2791#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:13:23,607 INFO L290 TraceCheckUtils]: 36: Hoare triple {2791#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2672#false} is VALID [2022-04-07 15:13:23,607 INFO L290 TraceCheckUtils]: 37: Hoare triple {2672#false} assume !false; {2672#false} is VALID [2022-04-07 15:13:23,609 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 15:13:23,609 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:15:05,187 INFO L290 TraceCheckUtils]: 37: Hoare triple {2672#false} assume !false; {2672#false} is VALID [2022-04-07 15:15:05,188 INFO L290 TraceCheckUtils]: 36: Hoare triple {2791#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2672#false} is VALID [2022-04-07 15:15:05,189 INFO L290 TraceCheckUtils]: 35: Hoare triple {2787#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2791#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:15:05,189 INFO L272 TraceCheckUtils]: 34: Hoare triple {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2787#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:15:05,190 INFO L290 TraceCheckUtils]: 33: Hoare triple {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 50);havoc #t~post6; {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:15:05,190 INFO L290 TraceCheckUtils]: 32: Hoare triple {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:15:05,195 INFO L290 TraceCheckUtils]: 31: Hoare triple {2817#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2807#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:15:05,196 INFO L290 TraceCheckUtils]: 30: Hoare triple {2821#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2817#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-07 15:15:05,197 INFO L290 TraceCheckUtils]: 29: Hoare triple {2821#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {2821#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:15:05,200 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} #61#return; {2821#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:15:05,201 INFO L290 TraceCheckUtils]: 27: Hoare triple {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:15:05,201 INFO L290 TraceCheckUtils]: 26: Hoare triple {2838#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2759#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:15:05,202 INFO L290 TraceCheckUtils]: 25: Hoare triple {2671#true} ~cond := #in~cond; {2838#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 15:15:05,202 INFO L272 TraceCheckUtils]: 24: Hoare triple {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2671#true} is VALID [2022-04-07 15:15:05,202 INFO L290 TraceCheckUtils]: 23: Hoare triple {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 15:15:05,203 INFO L290 TraceCheckUtils]: 22: Hoare triple {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 15:15:05,241 INFO L290 TraceCheckUtils]: 21: Hoare triple {2851#(and (or (forall ((aux_div_aux_mod_v_main_~y~0_28_22_69 Int) (aux_div_v_main_~y~0_28_22 Int)) (or (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22) 1) 0) (<= (+ (* aux_div_aux_mod_v_main_~y~0_28_22_69 2) 1) (div main_~y~0 2)) (<= (+ (* aux_div_v_main_~y~0_28_22 2) 1) (div main_~y~0 2)) (= (+ (* (* aux_div_v_main_~y~0_28_22 main_~x~0) 4) (* 2 (* main_~x~0 (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22) 1)))) (+ (* main_~x~0 4) (* (* aux_div_aux_mod_v_main_~y~0_28_22_69 main_~x~0) 4))) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_28_22 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)))) (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (forall ((aux_div_aux_mod_v_main_~y~0_28_22_69 Int) (aux_div_v_main_~y~0_28_22 Int)) (or (< (div main_~y~0 2) (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)) (<= (+ 2 (* aux_div_v_main_~y~0_28_22 2)) (div main_~y~0 2)) (= (+ (* 2 (* (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22)) main_~x~0)) (* (* aux_div_v_main_~y~0_28_22 main_~x~0) 4)) (+ (* main_~x~0 4) (* (* aux_div_aux_mod_v_main_~y~0_28_22_69 main_~x~0) 4))) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_28_22 2)) (<= (+ 2 (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)) (div main_~y~0 2)) (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22)) 0))) (<= 0 (div main_~y~0 2))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2828#(or (<= 0 main_~y~0) (= (+ (* (* main_~x~0 2) (+ (div main_~y~0 2) 1)) (* main_~b~0 main_~a~0) (* (- 1) main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-07 15:15:05,243 INFO L290 TraceCheckUtils]: 20: Hoare triple {2671#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2851#(and (or (forall ((aux_div_aux_mod_v_main_~y~0_28_22_69 Int) (aux_div_v_main_~y~0_28_22 Int)) (or (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22) 1) 0) (<= (+ (* aux_div_aux_mod_v_main_~y~0_28_22_69 2) 1) (div main_~y~0 2)) (<= (+ (* aux_div_v_main_~y~0_28_22 2) 1) (div main_~y~0 2)) (= (+ (* (* aux_div_v_main_~y~0_28_22 main_~x~0) 4) (* 2 (* main_~x~0 (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22) 1)))) (+ (* main_~x~0 4) (* (* aux_div_aux_mod_v_main_~y~0_28_22_69 main_~x~0) 4))) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_28_22 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)))) (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0)) (or (not (= (mod main_~y~0 2) 0)) (forall ((aux_div_aux_mod_v_main_~y~0_28_22_69 Int) (aux_div_v_main_~y~0_28_22 Int)) (or (< (div main_~y~0 2) (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)) (<= (+ 2 (* aux_div_v_main_~y~0_28_22 2)) (div main_~y~0 2)) (= (+ (* 2 (* (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22)) main_~x~0)) (* (* aux_div_v_main_~y~0_28_22 main_~x~0) 4)) (+ (* main_~x~0 4) (* (* aux_div_aux_mod_v_main_~y~0_28_22_69 main_~x~0) 4))) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_28_22 2)) (<= (+ 2 (* aux_div_aux_mod_v_main_~y~0_28_22_69 2)) (div main_~y~0 2)) (= (+ (div main_~y~0 2) (* (- 2) aux_div_v_main_~y~0_28_22)) 0))) (<= 0 (div main_~y~0 2))))} is VALID [2022-04-07 15:15:05,243 INFO L290 TraceCheckUtils]: 19: Hoare triple {2671#true} assume !!(0 != ~y~0); {2671#true} is VALID [2022-04-07 15:15:05,243 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2671#true} {2671#true} #61#return; {2671#true} is VALID [2022-04-07 15:15:05,243 INFO L290 TraceCheckUtils]: 17: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-07 15:15:05,243 INFO L290 TraceCheckUtils]: 16: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-07 15:15:05,243 INFO L290 TraceCheckUtils]: 15: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-07 15:15:05,244 INFO L272 TraceCheckUtils]: 14: Hoare triple {2671#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2671#true} is VALID [2022-04-07 15:15:05,244 INFO L290 TraceCheckUtils]: 13: Hoare triple {2671#true} assume !!(#t~post6 < 50);havoc #t~post6; {2671#true} is VALID [2022-04-07 15:15:05,244 INFO L290 TraceCheckUtils]: 12: Hoare triple {2671#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2671#true} is VALID [2022-04-07 15:15:05,244 INFO L290 TraceCheckUtils]: 11: Hoare triple {2671#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2671#true} is VALID [2022-04-07 15:15:05,244 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2671#true} {2671#true} #59#return; {2671#true} is VALID [2022-04-07 15:15:05,244 INFO L290 TraceCheckUtils]: 9: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-07 15:15:05,244 INFO L290 TraceCheckUtils]: 8: Hoare triple {2671#true} assume !(0 == ~cond); {2671#true} is VALID [2022-04-07 15:15:05,244 INFO L290 TraceCheckUtils]: 7: Hoare triple {2671#true} ~cond := #in~cond; {2671#true} is VALID [2022-04-07 15:15:05,244 INFO L272 TraceCheckUtils]: 6: Hoare triple {2671#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2671#true} is VALID [2022-04-07 15:15:05,244 INFO L290 TraceCheckUtils]: 5: Hoare triple {2671#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2671#true} is VALID [2022-04-07 15:15:05,244 INFO L272 TraceCheckUtils]: 4: Hoare triple {2671#true} call #t~ret7 := main(); {2671#true} is VALID [2022-04-07 15:15:05,244 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2671#true} {2671#true} #65#return; {2671#true} is VALID [2022-04-07 15:15:05,244 INFO L290 TraceCheckUtils]: 2: Hoare triple {2671#true} assume true; {2671#true} is VALID [2022-04-07 15:15:05,244 INFO L290 TraceCheckUtils]: 1: Hoare triple {2671#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2671#true} is VALID [2022-04-07 15:15:05,245 INFO L272 TraceCheckUtils]: 0: Hoare triple {2671#true} call ULTIMATE.init(); {2671#true} is VALID [2022-04-07 15:15:05,245 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 14 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 15:15:05,245 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:15:05,245 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [46099843] [2022-04-07 15:15:05,245 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:15:05,245 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1211517783] [2022-04-07 15:15:05,245 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1211517783] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:15:05,245 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:15:05,245 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-07 15:15:05,245 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [762585066] [2022-04-07 15:15:05,245 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:15:05,246 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 38 [2022-04-07 15:15:05,246 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:15:05,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-07 15:15:05,381 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:15:05,381 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-07 15:15:05,381 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:15:05,382 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-07 15:15:05,382 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-04-07 15:15:05,382 INFO L87 Difference]: Start difference. First operand 88 states and 99 transitions. Second operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-07 15:15:08,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:15:08,031 INFO L93 Difference]: Finished difference Result 124 states and 137 transitions. [2022-04-07 15:15:08,031 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-07 15:15:08,032 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 38 [2022-04-07 15:15:08,032 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:15:08,032 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-07 15:15:08,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 74 transitions. [2022-04-07 15:15:08,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-07 15:15:08,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 74 transitions. [2022-04-07 15:15:08,035 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 74 transitions. [2022-04-07 15:15:08,551 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:15:08,558 INFO L225 Difference]: With dead ends: 124 [2022-04-07 15:15:08,558 INFO L226 Difference]: Without dead ends: 122 [2022-04-07 15:15:08,559 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 150 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=132, Invalid=624, Unknown=0, NotChecked=0, Total=756 [2022-04-07 15:15:08,559 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 43 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 253 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 216 SdHoareTripleChecker+Invalid, 303 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 253 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 27 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-07 15:15:08,559 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 216 Invalid, 303 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 253 Invalid, 0 Unknown, 27 Unchecked, 0.9s Time] [2022-04-07 15:15:08,560 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2022-04-07 15:15:08,612 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 120. [2022-04-07 15:15:08,612 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:15:08,613 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 15:15:08,613 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 15:15:08,613 INFO L87 Difference]: Start difference. First operand 122 states. Second operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 15:15:08,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:15:08,616 INFO L93 Difference]: Finished difference Result 122 states and 134 transitions. [2022-04-07 15:15:08,616 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 134 transitions. [2022-04-07 15:15:08,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:15:08,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:15:08,617 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) Second operand 122 states. [2022-04-07 15:15:08,617 INFO L87 Difference]: Start difference. First operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) Second operand 122 states. [2022-04-07 15:15:08,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:15:08,619 INFO L93 Difference]: Finished difference Result 122 states and 134 transitions. [2022-04-07 15:15:08,619 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 134 transitions. [2022-04-07 15:15:08,619 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:15:08,619 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:15:08,619 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:15:08,620 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:15:08,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 92 states have (on average 1.1304347826086956) internal successors, (104), 96 states have internal predecessors, (104), 15 states have call successors, (15), 13 states have call predecessors, (15), 12 states have return successors, (13), 10 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-07 15:15:08,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 132 transitions. [2022-04-07 15:15:08,628 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 132 transitions. Word has length 38 [2022-04-07 15:15:08,628 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:15:08,628 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 132 transitions. [2022-04-07 15:15:08,628 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 6 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-07 15:15:08,628 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 132 transitions. [2022-04-07 15:15:08,629 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-07 15:15:08,629 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:15:08,629 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:15:08,645 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-07 15:15:08,843 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:15:08,844 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:15:08,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:15:08,844 INFO L85 PathProgramCache]: Analyzing trace with hash -921054650, now seen corresponding path program 2 times [2022-04-07 15:15:08,844 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:15:08,844 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [84253833] [2022-04-07 15:15:08,844 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:15:08,844 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:15:08,880 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:15:08,881 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [594975069] [2022-04-07 15:15:08,881 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 15:15:08,881 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:15:08,881 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:15:08,882 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:15:08,898 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-07 15:15:08,952 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 15:15:08,952 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 15:15:08,953 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-07 15:15:08,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:15:08,965 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:15:09,246 INFO L272 TraceCheckUtils]: 0: Hoare triple {3510#true} call ULTIMATE.init(); {3510#true} is VALID [2022-04-07 15:15:09,246 INFO L290 TraceCheckUtils]: 1: Hoare triple {3510#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:15:09,247 INFO L290 TraceCheckUtils]: 2: Hoare triple {3518#(<= ~counter~0 0)} assume true; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:15:09,247 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3518#(<= ~counter~0 0)} {3510#true} #65#return; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:15:09,248 INFO L272 TraceCheckUtils]: 4: Hoare triple {3518#(<= ~counter~0 0)} call #t~ret7 := main(); {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:15:09,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {3518#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:15:09,248 INFO L272 TraceCheckUtils]: 6: Hoare triple {3518#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:15:09,249 INFO L290 TraceCheckUtils]: 7: Hoare triple {3518#(<= ~counter~0 0)} ~cond := #in~cond; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:15:09,249 INFO L290 TraceCheckUtils]: 8: Hoare triple {3518#(<= ~counter~0 0)} assume !(0 == ~cond); {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:15:09,249 INFO L290 TraceCheckUtils]: 9: Hoare triple {3518#(<= ~counter~0 0)} assume true; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:15:09,250 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3518#(<= ~counter~0 0)} {3518#(<= ~counter~0 0)} #59#return; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:15:09,250 INFO L290 TraceCheckUtils]: 11: Hoare triple {3518#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3518#(<= ~counter~0 0)} is VALID [2022-04-07 15:15:09,251 INFO L290 TraceCheckUtils]: 12: Hoare triple {3518#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:15:09,251 INFO L290 TraceCheckUtils]: 13: Hoare triple {3552#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:15:09,252 INFO L272 TraceCheckUtils]: 14: Hoare triple {3552#(<= ~counter~0 1)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:15:09,252 INFO L290 TraceCheckUtils]: 15: Hoare triple {3552#(<= ~counter~0 1)} ~cond := #in~cond; {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:15:09,253 INFO L290 TraceCheckUtils]: 16: Hoare triple {3552#(<= ~counter~0 1)} assume !(0 == ~cond); {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:15:09,254 INFO L290 TraceCheckUtils]: 17: Hoare triple {3552#(<= ~counter~0 1)} assume true; {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:15:09,290 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3552#(<= ~counter~0 1)} {3552#(<= ~counter~0 1)} #61#return; {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:15:09,290 INFO L290 TraceCheckUtils]: 19: Hoare triple {3552#(<= ~counter~0 1)} assume !!(0 != ~y~0); {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:15:09,290 INFO L290 TraceCheckUtils]: 20: Hoare triple {3552#(<= ~counter~0 1)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:15:09,291 INFO L290 TraceCheckUtils]: 21: Hoare triple {3552#(<= ~counter~0 1)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3552#(<= ~counter~0 1)} is VALID [2022-04-07 15:15:09,292 INFO L290 TraceCheckUtils]: 22: Hoare triple {3552#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:15:09,292 INFO L290 TraceCheckUtils]: 23: Hoare triple {3583#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:15:09,292 INFO L272 TraceCheckUtils]: 24: Hoare triple {3583#(<= ~counter~0 2)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:15:09,293 INFO L290 TraceCheckUtils]: 25: Hoare triple {3583#(<= ~counter~0 2)} ~cond := #in~cond; {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:15:09,293 INFO L290 TraceCheckUtils]: 26: Hoare triple {3583#(<= ~counter~0 2)} assume !(0 == ~cond); {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:15:09,293 INFO L290 TraceCheckUtils]: 27: Hoare triple {3583#(<= ~counter~0 2)} assume true; {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:15:09,294 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3583#(<= ~counter~0 2)} {3583#(<= ~counter~0 2)} #61#return; {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:15:09,294 INFO L290 TraceCheckUtils]: 29: Hoare triple {3583#(<= ~counter~0 2)} assume !!(0 != ~y~0); {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:15:09,294 INFO L290 TraceCheckUtils]: 30: Hoare triple {3583#(<= ~counter~0 2)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:15:09,295 INFO L290 TraceCheckUtils]: 31: Hoare triple {3583#(<= ~counter~0 2)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3583#(<= ~counter~0 2)} is VALID [2022-04-07 15:15:09,295 INFO L290 TraceCheckUtils]: 32: Hoare triple {3583#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:15:09,295 INFO L290 TraceCheckUtils]: 33: Hoare triple {3614#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:15:09,297 INFO L272 TraceCheckUtils]: 34: Hoare triple {3614#(<= ~counter~0 3)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:15:09,302 INFO L290 TraceCheckUtils]: 35: Hoare triple {3614#(<= ~counter~0 3)} ~cond := #in~cond; {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:15:09,302 INFO L290 TraceCheckUtils]: 36: Hoare triple {3614#(<= ~counter~0 3)} assume !(0 == ~cond); {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:15:09,302 INFO L290 TraceCheckUtils]: 37: Hoare triple {3614#(<= ~counter~0 3)} assume true; {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:15:09,303 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3614#(<= ~counter~0 3)} {3614#(<= ~counter~0 3)} #61#return; {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:15:09,303 INFO L290 TraceCheckUtils]: 39: Hoare triple {3614#(<= ~counter~0 3)} assume !!(0 != ~y~0); {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:15:09,303 INFO L290 TraceCheckUtils]: 40: Hoare triple {3614#(<= ~counter~0 3)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:15:09,304 INFO L290 TraceCheckUtils]: 41: Hoare triple {3614#(<= ~counter~0 3)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3614#(<= ~counter~0 3)} is VALID [2022-04-07 15:15:09,304 INFO L290 TraceCheckUtils]: 42: Hoare triple {3614#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:15:09,305 INFO L290 TraceCheckUtils]: 43: Hoare triple {3645#(<= ~counter~0 4)} assume !!(#t~post6 < 50);havoc #t~post6; {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:15:09,305 INFO L272 TraceCheckUtils]: 44: Hoare triple {3645#(<= ~counter~0 4)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:15:09,305 INFO L290 TraceCheckUtils]: 45: Hoare triple {3645#(<= ~counter~0 4)} ~cond := #in~cond; {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:15:09,306 INFO L290 TraceCheckUtils]: 46: Hoare triple {3645#(<= ~counter~0 4)} assume !(0 == ~cond); {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:15:09,306 INFO L290 TraceCheckUtils]: 47: Hoare triple {3645#(<= ~counter~0 4)} assume true; {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:15:09,307 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3645#(<= ~counter~0 4)} {3645#(<= ~counter~0 4)} #61#return; {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:15:09,307 INFO L290 TraceCheckUtils]: 49: Hoare triple {3645#(<= ~counter~0 4)} assume !!(0 != ~y~0); {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:15:09,307 INFO L290 TraceCheckUtils]: 50: Hoare triple {3645#(<= ~counter~0 4)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:15:09,307 INFO L290 TraceCheckUtils]: 51: Hoare triple {3645#(<= ~counter~0 4)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3645#(<= ~counter~0 4)} is VALID [2022-04-07 15:15:09,308 INFO L290 TraceCheckUtils]: 52: Hoare triple {3645#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3676#(<= |main_#t~post6| 4)} is VALID [2022-04-07 15:15:09,308 INFO L290 TraceCheckUtils]: 53: Hoare triple {3676#(<= |main_#t~post6| 4)} assume !(#t~post6 < 50);havoc #t~post6; {3511#false} is VALID [2022-04-07 15:15:09,308 INFO L272 TraceCheckUtils]: 54: Hoare triple {3511#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {3511#false} is VALID [2022-04-07 15:15:09,308 INFO L290 TraceCheckUtils]: 55: Hoare triple {3511#false} ~cond := #in~cond; {3511#false} is VALID [2022-04-07 15:15:09,308 INFO L290 TraceCheckUtils]: 56: Hoare triple {3511#false} assume 0 == ~cond; {3511#false} is VALID [2022-04-07 15:15:09,308 INFO L290 TraceCheckUtils]: 57: Hoare triple {3511#false} assume !false; {3511#false} is VALID [2022-04-07 15:15:09,309 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 8 proven. 68 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-07 15:15:09,309 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:15:09,530 INFO L290 TraceCheckUtils]: 57: Hoare triple {3511#false} assume !false; {3511#false} is VALID [2022-04-07 15:15:09,530 INFO L290 TraceCheckUtils]: 56: Hoare triple {3511#false} assume 0 == ~cond; {3511#false} is VALID [2022-04-07 15:15:09,530 INFO L290 TraceCheckUtils]: 55: Hoare triple {3511#false} ~cond := #in~cond; {3511#false} is VALID [2022-04-07 15:15:09,530 INFO L272 TraceCheckUtils]: 54: Hoare triple {3511#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {3511#false} is VALID [2022-04-07 15:15:09,531 INFO L290 TraceCheckUtils]: 53: Hoare triple {3704#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {3511#false} is VALID [2022-04-07 15:15:09,531 INFO L290 TraceCheckUtils]: 52: Hoare triple {3708#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3704#(< |main_#t~post6| 50)} is VALID [2022-04-07 15:15:09,531 INFO L290 TraceCheckUtils]: 51: Hoare triple {3708#(< ~counter~0 50)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3708#(< ~counter~0 50)} is VALID [2022-04-07 15:15:09,531 INFO L290 TraceCheckUtils]: 50: Hoare triple {3708#(< ~counter~0 50)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3708#(< ~counter~0 50)} is VALID [2022-04-07 15:15:09,531 INFO L290 TraceCheckUtils]: 49: Hoare triple {3708#(< ~counter~0 50)} assume !!(0 != ~y~0); {3708#(< ~counter~0 50)} is VALID [2022-04-07 15:15:09,535 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3510#true} {3708#(< ~counter~0 50)} #61#return; {3708#(< ~counter~0 50)} is VALID [2022-04-07 15:15:09,535 INFO L290 TraceCheckUtils]: 47: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-07 15:15:09,535 INFO L290 TraceCheckUtils]: 46: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-07 15:15:09,535 INFO L290 TraceCheckUtils]: 45: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-07 15:15:09,535 INFO L272 TraceCheckUtils]: 44: Hoare triple {3708#(< ~counter~0 50)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-07 15:15:09,535 INFO L290 TraceCheckUtils]: 43: Hoare triple {3708#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {3708#(< ~counter~0 50)} is VALID [2022-04-07 15:15:09,536 INFO L290 TraceCheckUtils]: 42: Hoare triple {3739#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3708#(< ~counter~0 50)} is VALID [2022-04-07 15:15:09,536 INFO L290 TraceCheckUtils]: 41: Hoare triple {3739#(< ~counter~0 49)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3739#(< ~counter~0 49)} is VALID [2022-04-07 15:15:09,536 INFO L290 TraceCheckUtils]: 40: Hoare triple {3739#(< ~counter~0 49)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3739#(< ~counter~0 49)} is VALID [2022-04-07 15:15:09,536 INFO L290 TraceCheckUtils]: 39: Hoare triple {3739#(< ~counter~0 49)} assume !!(0 != ~y~0); {3739#(< ~counter~0 49)} is VALID [2022-04-07 15:15:09,537 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3510#true} {3739#(< ~counter~0 49)} #61#return; {3739#(< ~counter~0 49)} is VALID [2022-04-07 15:15:09,537 INFO L290 TraceCheckUtils]: 37: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-07 15:15:09,537 INFO L290 TraceCheckUtils]: 36: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-07 15:15:09,537 INFO L290 TraceCheckUtils]: 35: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-07 15:15:09,537 INFO L272 TraceCheckUtils]: 34: Hoare triple {3739#(< ~counter~0 49)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-07 15:15:09,537 INFO L290 TraceCheckUtils]: 33: Hoare triple {3739#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {3739#(< ~counter~0 49)} is VALID [2022-04-07 15:15:09,538 INFO L290 TraceCheckUtils]: 32: Hoare triple {3770#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3739#(< ~counter~0 49)} is VALID [2022-04-07 15:15:09,538 INFO L290 TraceCheckUtils]: 31: Hoare triple {3770#(< ~counter~0 48)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3770#(< ~counter~0 48)} is VALID [2022-04-07 15:15:09,538 INFO L290 TraceCheckUtils]: 30: Hoare triple {3770#(< ~counter~0 48)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3770#(< ~counter~0 48)} is VALID [2022-04-07 15:15:09,538 INFO L290 TraceCheckUtils]: 29: Hoare triple {3770#(< ~counter~0 48)} assume !!(0 != ~y~0); {3770#(< ~counter~0 48)} is VALID [2022-04-07 15:15:09,539 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3510#true} {3770#(< ~counter~0 48)} #61#return; {3770#(< ~counter~0 48)} is VALID [2022-04-07 15:15:09,539 INFO L290 TraceCheckUtils]: 27: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-07 15:15:09,539 INFO L290 TraceCheckUtils]: 26: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-07 15:15:09,539 INFO L290 TraceCheckUtils]: 25: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-07 15:15:09,539 INFO L272 TraceCheckUtils]: 24: Hoare triple {3770#(< ~counter~0 48)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-07 15:15:09,539 INFO L290 TraceCheckUtils]: 23: Hoare triple {3770#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {3770#(< ~counter~0 48)} is VALID [2022-04-07 15:15:09,540 INFO L290 TraceCheckUtils]: 22: Hoare triple {3801#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3770#(< ~counter~0 48)} is VALID [2022-04-07 15:15:09,540 INFO L290 TraceCheckUtils]: 21: Hoare triple {3801#(< ~counter~0 47)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3801#(< ~counter~0 47)} is VALID [2022-04-07 15:15:09,540 INFO L290 TraceCheckUtils]: 20: Hoare triple {3801#(< ~counter~0 47)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3801#(< ~counter~0 47)} is VALID [2022-04-07 15:15:09,540 INFO L290 TraceCheckUtils]: 19: Hoare triple {3801#(< ~counter~0 47)} assume !!(0 != ~y~0); {3801#(< ~counter~0 47)} is VALID [2022-04-07 15:15:09,541 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3510#true} {3801#(< ~counter~0 47)} #61#return; {3801#(< ~counter~0 47)} is VALID [2022-04-07 15:15:09,541 INFO L290 TraceCheckUtils]: 17: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-07 15:15:09,541 INFO L290 TraceCheckUtils]: 16: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-07 15:15:09,541 INFO L290 TraceCheckUtils]: 15: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-07 15:15:09,541 INFO L272 TraceCheckUtils]: 14: Hoare triple {3801#(< ~counter~0 47)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3510#true} is VALID [2022-04-07 15:15:09,541 INFO L290 TraceCheckUtils]: 13: Hoare triple {3801#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {3801#(< ~counter~0 47)} is VALID [2022-04-07 15:15:09,542 INFO L290 TraceCheckUtils]: 12: Hoare triple {3832#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3801#(< ~counter~0 47)} is VALID [2022-04-07 15:15:09,542 INFO L290 TraceCheckUtils]: 11: Hoare triple {3832#(< ~counter~0 46)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3832#(< ~counter~0 46)} is VALID [2022-04-07 15:15:09,542 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3510#true} {3832#(< ~counter~0 46)} #59#return; {3832#(< ~counter~0 46)} is VALID [2022-04-07 15:15:09,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {3510#true} assume true; {3510#true} is VALID [2022-04-07 15:15:09,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {3510#true} assume !(0 == ~cond); {3510#true} is VALID [2022-04-07 15:15:09,542 INFO L290 TraceCheckUtils]: 7: Hoare triple {3510#true} ~cond := #in~cond; {3510#true} is VALID [2022-04-07 15:15:09,542 INFO L272 TraceCheckUtils]: 6: Hoare triple {3832#(< ~counter~0 46)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3510#true} is VALID [2022-04-07 15:15:09,542 INFO L290 TraceCheckUtils]: 5: Hoare triple {3832#(< ~counter~0 46)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3832#(< ~counter~0 46)} is VALID [2022-04-07 15:15:09,543 INFO L272 TraceCheckUtils]: 4: Hoare triple {3832#(< ~counter~0 46)} call #t~ret7 := main(); {3832#(< ~counter~0 46)} is VALID [2022-04-07 15:15:09,543 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3832#(< ~counter~0 46)} {3510#true} #65#return; {3832#(< ~counter~0 46)} is VALID [2022-04-07 15:15:09,543 INFO L290 TraceCheckUtils]: 2: Hoare triple {3832#(< ~counter~0 46)} assume true; {3832#(< ~counter~0 46)} is VALID [2022-04-07 15:15:09,544 INFO L290 TraceCheckUtils]: 1: Hoare triple {3510#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3832#(< ~counter~0 46)} is VALID [2022-04-07 15:15:09,544 INFO L272 TraceCheckUtils]: 0: Hoare triple {3510#true} call ULTIMATE.init(); {3510#true} is VALID [2022-04-07 15:15:09,544 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 8 proven. 44 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-07 15:15:09,544 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:15:09,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [84253833] [2022-04-07 15:15:09,544 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:15:09,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [594975069] [2022-04-07 15:15:09,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [594975069] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:15:09,544 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:15:09,544 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-07 15:15:09,544 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [611088178] [2022-04-07 15:15:09,544 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:15:09,545 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 58 [2022-04-07 15:15:09,545 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:15:09,545 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:15:09,628 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:15:09,628 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-07 15:15:09,628 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:15:09,628 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-07 15:15:09,628 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-07 15:15:09,629 INFO L87 Difference]: Start difference. First operand 120 states and 132 transitions. Second operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:15:10,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:15:10,083 INFO L93 Difference]: Finished difference Result 300 states and 341 transitions. [2022-04-07 15:15:10,083 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-07 15:15:10,083 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) Word has length 58 [2022-04-07 15:15:10,084 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:15:10,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:15:10,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 150 transitions. [2022-04-07 15:15:10,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:15:10,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 150 transitions. [2022-04-07 15:15:10,089 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 150 transitions. [2022-04-07 15:15:10,201 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 15:15:10,206 INFO L225 Difference]: With dead ends: 300 [2022-04-07 15:15:10,206 INFO L226 Difference]: Without dead ends: 293 [2022-04-07 15:15:10,206 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 103 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=184, Invalid=322, Unknown=0, NotChecked=0, Total=506 [2022-04-07 15:15:10,207 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 148 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 42 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 148 SdHoareTripleChecker+Valid, 189 SdHoareTripleChecker+Invalid, 100 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 42 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 15:15:10,207 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [148 Valid, 189 Invalid, 100 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [42 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 15:15:10,207 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 293 states. [2022-04-07 15:15:10,309 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 293 to 283. [2022-04-07 15:15:10,309 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:15:10,310 INFO L82 GeneralOperation]: Start isEquivalent. First operand 293 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-07 15:15:10,310 INFO L74 IsIncluded]: Start isIncluded. First operand 293 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-07 15:15:10,311 INFO L87 Difference]: Start difference. First operand 293 states. Second operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-07 15:15:10,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:15:10,316 INFO L93 Difference]: Finished difference Result 293 states and 317 transitions. [2022-04-07 15:15:10,317 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 317 transitions. [2022-04-07 15:15:10,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:15:10,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:15:10,318 INFO L74 IsIncluded]: Start isIncluded. First operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) Second operand 293 states. [2022-04-07 15:15:10,318 INFO L87 Difference]: Start difference. First operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) Second operand 293 states. [2022-04-07 15:15:10,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:15:10,324 INFO L93 Difference]: Finished difference Result 293 states and 317 transitions. [2022-04-07 15:15:10,324 INFO L276 IsEmpty]: Start isEmpty. Operand 293 states and 317 transitions. [2022-04-07 15:15:10,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:15:10,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:15:10,324 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:15:10,324 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:15:10,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 283 states, 221 states have (on average 1.1312217194570136) internal successors, (250), 230 states have internal predecessors, (250), 32 states have call successors, (32), 30 states have call predecessors, (32), 29 states have return successors, (30), 22 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-07 15:15:10,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 283 states to 283 states and 312 transitions. [2022-04-07 15:15:10,330 INFO L78 Accepts]: Start accepts. Automaton has 283 states and 312 transitions. Word has length 58 [2022-04-07 15:15:10,330 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:15:10,330 INFO L478 AbstractCegarLoop]: Abstraction has 283 states and 312 transitions. [2022-04-07 15:15:10,330 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.428571428571429) internal successors, (76), 14 states have internal predecessors, (76), 12 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 11 states have call successors, (12) [2022-04-07 15:15:10,330 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 312 transitions. [2022-04-07 15:15:10,331 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-07 15:15:10,331 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:15:10,331 INFO L499 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:15:10,349 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-07 15:15:10,549 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-07 15:15:10,550 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:15:10,550 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:15:10,550 INFO L85 PathProgramCache]: Analyzing trace with hash -919267190, now seen corresponding path program 2 times [2022-04-07 15:15:10,550 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:15:10,550 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1251635997] [2022-04-07 15:15:10,550 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:15:10,550 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:15:10,563 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:15:10,563 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1150913307] [2022-04-07 15:15:10,563 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 15:15:10,563 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:15:10,564 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:15:10,564 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:15:10,567 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-07 15:15:10,611 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 15:15:10,611 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 15:15:10,613 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-07 15:15:10,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:15:10,629 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:17:05,858 INFO L272 TraceCheckUtils]: 0: Hoare triple {5246#true} call ULTIMATE.init(); {5246#true} is VALID [2022-04-07 15:17:05,858 INFO L290 TraceCheckUtils]: 1: Hoare triple {5246#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5246#true} is VALID [2022-04-07 15:17:05,858 INFO L290 TraceCheckUtils]: 2: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:17:05,858 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5246#true} {5246#true} #65#return; {5246#true} is VALID [2022-04-07 15:17:05,858 INFO L272 TraceCheckUtils]: 4: Hoare triple {5246#true} call #t~ret7 := main(); {5246#true} is VALID [2022-04-07 15:17:05,858 INFO L290 TraceCheckUtils]: 5: Hoare triple {5246#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5246#true} is VALID [2022-04-07 15:17:05,859 INFO L272 TraceCheckUtils]: 6: Hoare triple {5246#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:17:05,859 INFO L290 TraceCheckUtils]: 7: Hoare triple {5246#true} ~cond := #in~cond; {5272#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 15:17:05,859 INFO L290 TraceCheckUtils]: 8: Hoare triple {5272#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5276#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:17:05,859 INFO L290 TraceCheckUtils]: 9: Hoare triple {5276#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5276#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:17:05,860 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5276#(not (= |assume_abort_if_not_#in~cond| 0))} {5246#true} #59#return; {5283#(<= 1 main_~b~0)} is VALID [2022-04-07 15:17:05,860 INFO L290 TraceCheckUtils]: 11: Hoare triple {5283#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:17:05,860 INFO L290 TraceCheckUtils]: 12: Hoare triple {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:17:05,860 INFO L290 TraceCheckUtils]: 13: Hoare triple {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:17:05,861 INFO L272 TraceCheckUtils]: 14: Hoare triple {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:17:05,861 INFO L290 TraceCheckUtils]: 15: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-07 15:17:05,861 INFO L290 TraceCheckUtils]: 16: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-07 15:17:05,861 INFO L290 TraceCheckUtils]: 17: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:17:05,861 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5246#true} {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:17:05,866 INFO L290 TraceCheckUtils]: 19: Hoare triple {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:17:05,866 INFO L290 TraceCheckUtils]: 20: Hoare triple {5287#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5315#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 15:17:05,867 INFO L290 TraceCheckUtils]: 21: Hoare triple {5315#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:17:05,868 INFO L290 TraceCheckUtils]: 22: Hoare triple {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:17:05,868 INFO L290 TraceCheckUtils]: 23: Hoare triple {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 50);havoc #t~post6; {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:17:05,868 INFO L272 TraceCheckUtils]: 24: Hoare triple {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:17:05,868 INFO L290 TraceCheckUtils]: 25: Hoare triple {5246#true} ~cond := #in~cond; {5332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:17:05,868 INFO L290 TraceCheckUtils]: 26: Hoare triple {5332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:17:05,868 INFO L290 TraceCheckUtils]: 27: Hoare triple {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:17:05,869 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:17:05,869 INFO L290 TraceCheckUtils]: 29: Hoare triple {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:17:05,870 INFO L290 TraceCheckUtils]: 30: Hoare triple {5319#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5349#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:17:05,871 INFO L290 TraceCheckUtils]: 31: Hoare triple {5349#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5353#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:17:05,871 INFO L290 TraceCheckUtils]: 32: Hoare triple {5353#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5353#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:17:05,871 INFO L290 TraceCheckUtils]: 33: Hoare triple {5353#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 50);havoc #t~post6; {5353#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:17:05,872 INFO L272 TraceCheckUtils]: 34: Hoare triple {5353#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:17:05,872 INFO L290 TraceCheckUtils]: 35: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-07 15:17:05,872 INFO L290 TraceCheckUtils]: 36: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-07 15:17:05,872 INFO L290 TraceCheckUtils]: 37: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:17:05,872 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5246#true} {5353#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {5353#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:17:05,872 INFO L290 TraceCheckUtils]: 39: Hoare triple {5353#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {5353#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:17:05,873 INFO L290 TraceCheckUtils]: 40: Hoare triple {5353#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5381#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-07 15:17:05,874 INFO L290 TraceCheckUtils]: 41: Hoare triple {5381#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5385#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:17:05,874 INFO L290 TraceCheckUtils]: 42: Hoare triple {5385#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5385#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:17:05,875 INFO L290 TraceCheckUtils]: 43: Hoare triple {5385#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !!(#t~post6 < 50);havoc #t~post6; {5385#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:17:05,875 INFO L272 TraceCheckUtils]: 44: Hoare triple {5385#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:17:05,875 INFO L290 TraceCheckUtils]: 45: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-07 15:17:05,875 INFO L290 TraceCheckUtils]: 46: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-07 15:17:05,875 INFO L290 TraceCheckUtils]: 47: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:17:05,877 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5246#true} {5385#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} #61#return; {5385#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:17:05,877 INFO L290 TraceCheckUtils]: 49: Hoare triple {5385#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !!(0 != ~y~0); {5385#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:17:05,878 INFO L290 TraceCheckUtils]: 50: Hoare triple {5385#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5413#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:17:05,879 INFO L290 TraceCheckUtils]: 51: Hoare triple {5413#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5417#(and (= main_~z~0 0) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:17:05,880 INFO L290 TraceCheckUtils]: 52: Hoare triple {5417#(and (= main_~z~0 0) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5417#(and (= main_~z~0 0) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:17:05,881 INFO L290 TraceCheckUtils]: 53: Hoare triple {5417#(and (= main_~z~0 0) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !!(#t~post6 < 50);havoc #t~post6; {5417#(and (= main_~z~0 0) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-07 15:17:05,884 INFO L272 TraceCheckUtils]: 54: Hoare triple {5417#(and (= main_~z~0 0) (= (* main_~a~0 16) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (not (= (mod (div (div (div main_~b~0 2) 2) 2) 2) 1)) (not (= (mod main_~b~0 2) 1)) (= (div (div (div (div main_~b~0 2) 2) 2) 2) main_~y~0) (<= 1 main_~b~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5427#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:17:05,884 INFO L290 TraceCheckUtils]: 55: Hoare triple {5427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:17:05,884 INFO L290 TraceCheckUtils]: 56: Hoare triple {5431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5247#false} is VALID [2022-04-07 15:17:05,884 INFO L290 TraceCheckUtils]: 57: Hoare triple {5247#false} assume !false; {5247#false} is VALID [2022-04-07 15:17:05,885 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 10 proven. 55 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 15:17:05,885 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 15:18:07,522 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 15:18:15,244 INFO L290 TraceCheckUtils]: 57: Hoare triple {5247#false} assume !false; {5247#false} is VALID [2022-04-07 15:18:15,245 INFO L290 TraceCheckUtils]: 56: Hoare triple {5431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5247#false} is VALID [2022-04-07 15:18:15,246 INFO L290 TraceCheckUtils]: 55: Hoare triple {5427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 15:18:15,246 INFO L272 TraceCheckUtils]: 54: Hoare triple {5447#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5427#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 15:18:15,246 INFO L290 TraceCheckUtils]: 53: Hoare triple {5447#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 50);havoc #t~post6; {5447#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:18:15,247 INFO L290 TraceCheckUtils]: 52: Hoare triple {5447#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5447#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:18:15,254 INFO L290 TraceCheckUtils]: 51: Hoare triple {5457#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5447#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-07 15:18:15,255 INFO L290 TraceCheckUtils]: 50: Hoare triple {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5457#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-07 15:18:15,256 INFO L290 TraceCheckUtils]: 49: Hoare triple {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:18:15,256 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5246#true} {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #61#return; {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:18:15,256 INFO L290 TraceCheckUtils]: 47: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:18:15,256 INFO L290 TraceCheckUtils]: 46: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-07 15:18:15,257 INFO L290 TraceCheckUtils]: 45: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-07 15:18:15,257 INFO L272 TraceCheckUtils]: 44: Hoare triple {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:18:15,258 INFO L290 TraceCheckUtils]: 43: Hoare triple {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:18:15,259 INFO L290 TraceCheckUtils]: 42: Hoare triple {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:18:15,272 INFO L290 TraceCheckUtils]: 41: Hoare triple {5489#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5461#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:18:15,273 INFO L290 TraceCheckUtils]: 40: Hoare triple {5493#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5489#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} is VALID [2022-04-07 15:18:15,274 INFO L290 TraceCheckUtils]: 39: Hoare triple {5493#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !!(0 != ~y~0); {5493#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-07 15:18:15,275 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5246#true} {5493#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} #61#return; {5493#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-07 15:18:15,275 INFO L290 TraceCheckUtils]: 37: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:18:15,275 INFO L290 TraceCheckUtils]: 36: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-07 15:18:15,275 INFO L290 TraceCheckUtils]: 35: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-07 15:18:15,275 INFO L272 TraceCheckUtils]: 34: Hoare triple {5493#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:18:15,276 INFO L290 TraceCheckUtils]: 33: Hoare triple {5493#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !!(#t~post6 < 50);havoc #t~post6; {5493#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-07 15:18:15,277 INFO L290 TraceCheckUtils]: 32: Hoare triple {5493#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5493#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-07 15:18:15,312 INFO L290 TraceCheckUtils]: 31: Hoare triple {5521#(and (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))) (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5493#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-07 15:18:15,314 INFO L290 TraceCheckUtils]: 30: Hoare triple {5525#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5521#(and (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))) (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0)))} is VALID [2022-04-07 15:18:15,316 INFO L290 TraceCheckUtils]: 29: Hoare triple {5525#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))))} assume !!(0 != ~y~0); {5525#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))))} is VALID [2022-04-07 15:18:15,331 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} {5532#(or (and (or (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0)) (or (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0)))) (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))))} #61#return; {5525#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (and (or (and (or (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0) (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (not (= (mod (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2) 0)) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) main_~z~0)))) (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (or (and (or (not (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0)) (= (+ (* (* main_~x~0 8) (div (div (+ (div main_~y~0 2) 1) 2) 2)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (+ (div main_~y~0 2) 1) 2) 2) 0) (= (* main_~b~0 main_~a~0) (+ (* (* main_~x~0 8) (+ (div (div (+ (div main_~y~0 2) 1) 2) 2) 1)) main_~z~0)))) (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (and (= (mod (div (div main_~y~0 2) 2) 2) 1) (<= 0 (div (div main_~y~0 2) 2))) (and (or (not (= (mod (div (div main_~y~0 2) 2) 2) 0)) (= (+ (* (div (div (div main_~y~0 2) 2) 2) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0))))) (or (and (or (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0) (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 8) (div (+ (div (div main_~y~0 2) 2) 1) 2))) (* main_~b~0 main_~a~0)) (not (= (mod (+ (div (div main_~y~0 2) 2) 1) 2) 0)))) (= (mod (div main_~y~0 2) 2) 0))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))))} is VALID [2022-04-07 15:18:15,331 INFO L290 TraceCheckUtils]: 27: Hoare triple {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:18:15,332 INFO L290 TraceCheckUtils]: 26: Hoare triple {5542#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 15:18:15,332 INFO L290 TraceCheckUtils]: 25: Hoare triple {5246#true} ~cond := #in~cond; {5542#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 15:18:15,332 INFO L272 TraceCheckUtils]: 24: Hoare triple {5532#(or (and (or (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0)) (or (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0)))) (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:18:15,333 INFO L290 TraceCheckUtils]: 23: Hoare triple {5532#(or (and (or (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0)) (or (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0)))) (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {5532#(or (and (or (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0)) (or (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0)))) (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))))} is VALID [2022-04-07 15:18:15,341 INFO L290 TraceCheckUtils]: 22: Hoare triple {5532#(or (and (or (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0)) (or (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0)))) (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5532#(or (and (or (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0)) (or (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0)))) (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))))} is VALID [2022-04-07 15:18:17,344 WARN L290 TraceCheckUtils]: 21: Hoare triple {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5532#(or (and (or (= (+ (* (+ 1 (div (+ (div (+ (div main_~y~0 2) 1) 2) 1) 2)) (* main_~x~0 8)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod main_~y~0 2) 0)) (or (= (+ (* (* main_~x~0 8) (+ (div (+ (div (div main_~y~0 2) 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)) (= (mod (div main_~y~0 2) 2) 0)) (or (= (mod (div (div main_~y~0 2) 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 8) (+ (div (div (div main_~y~0 2) 2) 2) 1))) (* main_~b~0 main_~a~0)))) (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))))} is UNKNOWN [2022-04-07 15:18:17,345 INFO L290 TraceCheckUtils]: 20: Hoare triple {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:18:17,346 INFO L290 TraceCheckUtils]: 19: Hoare triple {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:18:17,347 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5246#true} {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} #61#return; {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:18:17,347 INFO L290 TraceCheckUtils]: 17: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:18:17,347 INFO L290 TraceCheckUtils]: 16: Hoare triple {5246#true} assume !(0 == ~cond); {5246#true} is VALID [2022-04-07 15:18:17,347 INFO L290 TraceCheckUtils]: 15: Hoare triple {5246#true} ~cond := #in~cond; {5246#true} is VALID [2022-04-07 15:18:17,347 INFO L272 TraceCheckUtils]: 14: Hoare triple {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:18:17,348 INFO L290 TraceCheckUtils]: 13: Hoare triple {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:18:17,349 INFO L290 TraceCheckUtils]: 12: Hoare triple {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:18:17,350 INFO L290 TraceCheckUtils]: 11: Hoare triple {5586#(or (= main_~a~0 0) (not (= (mod (* (- 1) main_~b~0 main_~a~0) 2) 0)) (and (= 0 (mod (div (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0) 2) 2)) (= (mod (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0) 2) 0) (= (mod (div (div (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0) 2) 2) 2) 0)) (<= 0 (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0)) (not (= (mod (div (* (- 1) (* main_~b~0 main_~a~0)) (- 2)) main_~a~0) 0)))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5555#(or (= main_~x~0 0) (<= 0 (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0)) (and (= (mod (div (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 2) 0) (= (mod (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 0) (= (mod (div (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) 2) 2) 0)) (not (= (mod (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) 2) 0)) (not (= 0 (mod (div (+ (* (- 1) (* main_~b~0 main_~a~0)) main_~z~0) (- 2)) main_~x~0))) (and (or (= (mod main_~y~0 2) 0) (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (+ (div main_~y~0 2) 1)))) (or (not (= (div (div (+ main_~z~0 (* (- 1) main_~b~0 main_~a~0)) (- 2)) main_~x~0) (div main_~y~0 2))) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-07 15:18:17,352 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5276#(not (= |assume_abort_if_not_#in~cond| 0))} {5246#true} #59#return; {5586#(or (= main_~a~0 0) (not (= (mod (* (- 1) main_~b~0 main_~a~0) 2) 0)) (and (= 0 (mod (div (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0) 2) 2)) (= (mod (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0) 2) 0) (= (mod (div (div (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0) 2) 2) 2) 0)) (<= 0 (div (div (* (- 1) main_~b~0 main_~a~0) (- 2)) main_~a~0)) (not (= (mod (div (* (- 1) (* main_~b~0 main_~a~0)) (- 2)) main_~a~0) 0)))} is VALID [2022-04-07 15:18:17,352 INFO L290 TraceCheckUtils]: 9: Hoare triple {5276#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5276#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:18:17,352 INFO L290 TraceCheckUtils]: 8: Hoare triple {5599#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {5276#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 15:18:17,353 INFO L290 TraceCheckUtils]: 7: Hoare triple {5246#true} ~cond := #in~cond; {5599#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 15:18:17,353 INFO L272 TraceCheckUtils]: 6: Hoare triple {5246#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5246#true} is VALID [2022-04-07 15:18:17,353 INFO L290 TraceCheckUtils]: 5: Hoare triple {5246#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5246#true} is VALID [2022-04-07 15:18:17,353 INFO L272 TraceCheckUtils]: 4: Hoare triple {5246#true} call #t~ret7 := main(); {5246#true} is VALID [2022-04-07 15:18:17,353 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5246#true} {5246#true} #65#return; {5246#true} is VALID [2022-04-07 15:18:17,353 INFO L290 TraceCheckUtils]: 2: Hoare triple {5246#true} assume true; {5246#true} is VALID [2022-04-07 15:18:17,353 INFO L290 TraceCheckUtils]: 1: Hoare triple {5246#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5246#true} is VALID [2022-04-07 15:18:17,353 INFO L272 TraceCheckUtils]: 0: Hoare triple {5246#true} call ULTIMATE.init(); {5246#true} is VALID [2022-04-07 15:18:17,354 INFO L134 CoverageAnalysis]: Checked inductivity of 80 backedges. 10 proven. 55 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-07 15:18:17,354 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 15:18:17,354 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1251635997] [2022-04-07 15:18:17,354 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 15:18:17,354 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1150913307] [2022-04-07 15:18:17,354 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1150913307] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 15:18:17,354 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 15:18:17,354 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 18] total 30 [2022-04-07 15:18:17,355 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [36695102] [2022-04-07 15:18:17,355 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 15:18:17,355 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-07 15:18:17,356 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 15:18:17,356 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-07 15:18:19,546 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-07 15:18:19,546 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-07 15:18:19,546 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 15:18:19,547 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-07 15:18:19,547 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=157, Invalid=713, Unknown=0, NotChecked=0, Total=870 [2022-04-07 15:18:19,547 INFO L87 Difference]: Start difference. First operand 283 states and 312 transitions. Second operand has 30 states, 30 states have (on average 2.1666666666666665) internal successors, (65), 27 states have internal predecessors, (65), 11 states have call successors, (13), 2 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 9 states have call successors, (11) [2022-04-07 15:18:30,145 WARN L232 SmtUtils]: Spent 5.25s 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-07 15:18:32,381 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 15:18:34,386 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 15:19:10,293 WARN L232 SmtUtils]: Spent 14.59s on a formula simplification. DAG size of input: 175 DAG size of output: 43 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-07 15:19:13,550 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 15:19:15,693 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 15:19:16,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:19:16,718 INFO L93 Difference]: Finished difference Result 409 states and 471 transitions. [2022-04-07 15:19:16,718 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-07 15:19:16,719 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-07 15:19:16,719 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 15:19:16,719 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-07 15:19:16,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 116 transitions. [2022-04-07 15:19:16,721 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-07 15:19:16,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 116 transitions. [2022-04-07 15:19:16,722 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 116 transitions. [2022-04-07 15:19:21,154 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 114 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-07 15:19:21,163 INFO L225 Difference]: With dead ends: 409 [2022-04-07 15:19:21,163 INFO L226 Difference]: Without dead ends: 407 [2022-04-07 15:19:21,163 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 86 SyntacticMatches, 3 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 432 ImplicationChecksByTransitivity, 40.9s TimeCoverageRelationStatistics Valid=366, Invalid=1439, Unknown=1, NotChecked=0, Total=1806 [2022-04-07 15:19:21,164 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 87 mSDsluCounter, 333 mSDsCounter, 0 mSdLazyCounter, 689 mSolverCounterSat, 98 mSolverCounterUnsat, 4 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 14.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 89 SdHoareTripleChecker+Valid, 363 SdHoareTripleChecker+Invalid, 791 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 98 IncrementalHoareTripleChecker+Valid, 689 IncrementalHoareTripleChecker+Invalid, 4 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 14.6s IncrementalHoareTripleChecker+Time [2022-04-07 15:19:21,164 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [89 Valid, 363 Invalid, 791 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [98 Valid, 689 Invalid, 4 Unknown, 0 Unchecked, 14.6s Time] [2022-04-07 15:19:21,164 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 407 states. [2022-04-07 15:19:21,349 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 407 to 403. [2022-04-07 15:19:21,349 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 15:19:21,350 INFO L82 GeneralOperation]: Start isEquivalent. First operand 407 states. Second operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-07 15:19:21,350 INFO L74 IsIncluded]: Start isIncluded. First operand 407 states. Second operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-07 15:19:21,351 INFO L87 Difference]: Start difference. First operand 407 states. Second operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-07 15:19:21,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:19:21,359 INFO L93 Difference]: Finished difference Result 407 states and 464 transitions. [2022-04-07 15:19:21,359 INFO L276 IsEmpty]: Start isEmpty. Operand 407 states and 464 transitions. [2022-04-07 15:19:21,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:19:21,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:19:21,360 INFO L74 IsIncluded]: Start isIncluded. First operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) Second operand 407 states. [2022-04-07 15:19:21,361 INFO L87 Difference]: Start difference. First operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) Second operand 407 states. [2022-04-07 15:19:21,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 15:19:21,370 INFO L93 Difference]: Finished difference Result 407 states and 464 transitions. [2022-04-07 15:19:21,370 INFO L276 IsEmpty]: Start isEmpty. Operand 407 states and 464 transitions. [2022-04-07 15:19:21,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 15:19:21,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 15:19:21,370 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 15:19:21,371 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 15:19:21,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 403 states, 321 states have (on average 1.146417445482866) internal successors, (368), 328 states have internal predecessors, (368), 47 states have call successors, (47), 35 states have call predecessors, (47), 34 states have return successors, (45), 39 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-07 15:19:21,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 403 states to 403 states and 460 transitions. [2022-04-07 15:19:21,380 INFO L78 Accepts]: Start accepts. Automaton has 403 states and 460 transitions. Word has length 58 [2022-04-07 15:19:21,380 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 15:19:21,380 INFO L478 AbstractCegarLoop]: Abstraction has 403 states and 460 transitions. [2022-04-07 15:19:21,380 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-07 15:19:21,381 INFO L276 IsEmpty]: Start isEmpty. Operand 403 states and 460 transitions. [2022-04-07 15:19:21,381 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-07 15:19:21,381 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 15:19:21,381 INFO L499 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 15:19:21,397 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-07 15:19:21,594 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-07 15:19:21,594 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 15:19:21,595 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 15:19:21,595 INFO L85 PathProgramCache]: Analyzing trace with hash 86722727, now seen corresponding path program 2 times [2022-04-07 15:19:21,595 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 15:19:21,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [533801553] [2022-04-07 15:19:21,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 15:19:21,595 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 15:19:21,607 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 15:19:21,607 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [742338369] [2022-04-07 15:19:21,607 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 15:19:21,607 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 15:19:21,607 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 15:19:21,608 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 15:19:21,609 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-07 15:19:21,659 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 15:19:21,660 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 15:19:21,661 INFO L263 TraceCheckSpWp]: Trace formula consists of 189 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-07 15:19:21,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 15:19:21,698 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 15:19:46,010 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful